مسرد المصطلحات

الدقة المختلطة

عزز كفاءة التعلُّم العميق مع التدريب المختلط الدقة! حقق سرعات أعلى، واستخدام أقل للذاكرة، وتوفير في الطاقة دون التضحية بالدقة.

تدريب YOLO النماذج
ببساطة مع Ultralytics HUB

التعرف على المزيد

التدريب مختلط الدقة هو تقنية تُستخدم في التعلّم العميق لتسريع الحوسبة وتقليل متطلبات الذاكرة دون المساس بأداء النموذج بشكل كبير. يحقق ذلك من خلال استخدام تنسيقات دقة عددية مختلفة بشكل استراتيجي - بشكل أساسي الفاصلة العائمة 16 بت (FP16 أو نصف الدقة) والفاصلة العائمة 32 بت (FP32 أو الدقة المفردة) - لأجزاء مختلفة من النموذج أثناء التدريب والاستدلال. يوازن هذا النهج بين السرعة وكفاءة الذاكرة ذات الدقة المنخفضة مع الاستقرار العددي والدقة التي توفرها الدقة الأعلى.

فهم الدقة العددية

تعتمد نماذج التعلّم العميق تقليديًا على تنسيق الفاصلة العائمة أحادية الدقة القياسية IEEE 754 (FP32) لتخزين الأوزان والتنشيطات والتدرجات. يوفر FP32 نطاقًا ديناميكيًا واسعًا ودقة عالية، مما يجعله قويًا للعمليات الحسابية المعقدة. ومع ذلك، تتطلب عمليات FP32 قدرة حسابية كبيرة وعرض نطاق ترددي كبير للذاكرة. أما التنسيقات الأقل دقة، مثل FP16، فتستخدم 16 بت فقط، مما يقلل من بصمة الذاكرة إلى النصف، وغالبًا ما يتيح إجراء عمليات حسابية أسرع بكثير على الأجهزة المتوافقة، مثل وحدات معالجة الرسومات الحديثة المزودة بوحدات NVIDIA Tensor Cores.

كيف تعمل الدقة المختلطة

يجمع تدريب الدقة المختلطة بذكاء بين FP16 و FP32. الفكرة الأساسية هي إجراء عمليات حسابية مكثفة، مثل عمليات الالتفاف ومضاعفات المصفوفات داخل طبقات النموذج، باستخدام تنسيق FP16 الأسرع. ومع ذلك، فإن بعض العمليات حساسة لمدى ودقة FP16 المخفضة. وللحفاظ على استقرار النموذج ودقته، غالبًا ما يتم الاحتفاظ بالأجزاء الحرجة من عملية التدريب، مثل حساب الخسارة وتحديثات التدرج، بتنسيق FP32 الأكثر قوة. يتم استخدام تقنيات مثل تحجيم الخسارة الديناميكية لمنع مشاكل التدفق العددي الناقص أو الفائض حيث تصبح التدرجات صغيرة جدًا أو كبيرة جدًا بالنسبة لتمثيل FP16. توفر أطر عمل مثل PyTorch (عبر الدقة المختلطة التلقائية - AMP) و TensorFlow (عبر واجهة برمجة تطبيقات tf.keras.mixed_precision) دعمًا آليًا لتنفيذ التدريب المختلط الدقة.

فوائد الدقة المختلطة

يوفر تطبيق الدقة المختلطة العديد من المزايا الرئيسية:

  • تدريب أسرع: يمكن أن تكون عمليات FP16 أسرع بشكل ملحوظ على الأجهزة المدعومة، مما يؤدي إلى تقليل أوقات التدريب.
  • انخفاض استخدام الذاكرة: يؤدي تخزين أوزان النماذج وعمليات التنشيط في FP16 إلى تقليل متطلبات الذاكرة إلى النصف، مما يسمح بنماذج أكبر أو زيادة أحجام الدفعات، مما يمكن أن يحسن ديناميكيات التدريب.
  • كفاءة الطاقة: تؤدي الحوسبة الأسرع وتقليل حركة البيانات إلى انخفاض استهلاك الطاقة أثناء التدريب والاستدلال.
  • الحفاظ على الدقة: عند تنفيذها بشكل صحيح باستخدام تقنيات مثل قياس الخسارة، عادةً ما تحقق الدقة المختلطة دقة مماثلة لدقة تدريب FP32 الكاملة. لمزيد من التفاصيل حول تحسين التدريب، راجع نصائح تدريب النماذج هذه.

التطبيقات الواقعية

تُستخدم الدقة المختلطة على نطاق واسع في مختلف مجالات الذكاء الاصطناعي:

  1. الرؤية الحاسوبية: أحدث نماذج اكتشاف الأجسام، بما في ذلك Ultralytics YOLO مثل نماذج مثل YOLOv8 و YOLO11غالبًا ما تستفيد من الدقة المختلطة أثناء التدريب. وهذا يسمح لهم بالتدريب بشكل أسرع والتعامل مع مجموعات بيانات أكبر مثل COCO أو Objects365، مما يتيح في النهاية النشر الفعال على منصات تتراوح بين الخوادم السحابية والأجهزة المتطورة مثل NVIDIA Jetson.
  2. معالجة اللغات الطبيعية (NLP): إن تدريب نماذج اللغات الضخمة الضخمة (LLMs) مثل GPT-3 و BERT يتطلب الكثير من العمليات الحسابية. يعد التدريب المختلط الدقة أمرًا بالغ الأهمية لإدارة متطلبات الذاكرة والحساب، مما يجعل من الممكن تدريب هذه النماذج على مهام مثل توليد النصوص والترجمة الآلية وتحليل المشاعر.

الاعتبارات والمفاهيم ذات الصلة

على الرغم من فائدته العالية، إلا أن التنفيذ الناجح للدقة المختلطة يتطلب

  • دعم الأجهزة: تتطلب السرعات المثلى أجهزة مصممة خصيصًا لحساب FP16 المتسارع (على سبيل المثال، NVIDIA Volta أو Turing أو Ampere أو وحدات معالجة الرسومات الأحدث).
  • الاستقرار العددي: هناك حاجة إلى التعامل بعناية، غالبًا من خلال أدوات الإطار الآلي وقياس الخسارة الآلية، لتجنب المشكلات المتعلقة بالنطاق المحدود لـ FP16.
  • تكامل الإطار: الاستفادة من الدعم المدمج في أطر التعلم العميق مثل PyTorch أو TensorFlow تبسيط التنفيذ.

من المهم التمييز بين التدريب ذي الدقة المختلطة وتكميم النماذج. في حين أن كلاهما ينطوي على استخدام دقة أقل، فإن التكميم عادةً ما يحول النماذج إلى تنسيقات أقل بت (مثل INT8) بشكل أساسي لتحسين سرعة الاستدلال وتقليل حجم النموذج للنشر على الأجهزة محدودة الموارد، غالبًا بعد التدريب الأولي. تركز الدقة المختلطة على تسريع عملية التدريب نفسها من خلال الجمع بين FP16 و FP32.

لقد أصبحت الدقة المختلطة تقنية قياسية في مجموعة أدوات التعلم العميق، مما يتيح تطوير وتدريب نماذج أكبر وأكثر تعقيدًا بشكل أسرع وأكثر كفاءة.

قراءة الكل