Yolo فيجن شنتشن
شنتشن
انضم الآن
مسرد المصطلحات

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

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

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

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

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

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

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

لقد أصبحت الدقة المختلطة ممارسة قياسية في مختلف مجالات الذكاء الاصطناعي نظرًا لقدرتها على تعظيم كفاءة الأجهزة.

تطبيق الدقة المختلطة مع Ultralytics

إن ultralytics مكتبة تبسط استخدام الدقة التلقائية المختلطة (AMP). بشكل افتراضي، تقوم إجراءات التدريب تتحقق إجراءات التدريب من الأجهزة المتوافقة وتمكين AMP لضمان الأداء الأمثل.

from ultralytics import YOLO

# Load the YOLO11 model for training
model = YOLO("yolo11n.pt")

# Train using Automatic Mixed Precision (AMP)
# 'amp=True' is the default setting, ensuring faster training on supported GPUs
results = model.train(data="coco8.yaml", epochs=5, imgsz=640, amp=True)

الدقة المختلطة مقابل المصطلحات ذات الصلة

من المفيد التمييز بين الدقة المختلطة ومفاهيم التحسين وتمثيل البيانات الأخرى:

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

مدعومة بأطر عمل مثل PyTorch AMP، تظل الدقة المختلطة واحدة من أكثر الطرق فعالية لإضفاء الطابع الديمقراطي على الوصول إلى التعلم العميق عالي الأداء, تمكين المطورين من تدريب نماذج معقدة على أجهزة يمكن الوصول إليها.

انضم إلى مجتمع Ultralytics

انضم إلى مستقبل الذكاء الاصطناعي. تواصل وتعاون وانمو مع المبتكرين العالميين

انضم الآن