عزز كفاءة التعلم العميق من خلال التدريب بالدقة المختلطة! حقق سرعات أعلى، وتقليل استخدام الذاكرة، وتوفير الطاقة دون التضحية بالدقة.
الدقة المختلطة هي تقنية تحسين قوية في التعلم العميق التي تجمع بشكل استراتيجي يجمع بين تنسيقات عددية مختلفة - تحديدًا 16 بت (نصف دقة) و 32 بت (أحادية الدقة) من الفاصلة العائمة لتسريع تدريب النموذج وتقليل استخدام الذاكرة. من خلال تنفيذ عمليات حسابية مكثفة بدقة أقل مع الحفاظ على نسخة رئيسية من أوزان النموذج بدقة أعلى, يوفر هذا النهج تسريعًا كبيرًا على الأجهزة الحديثة دون المساس ب الدقة أو استقرار الشبكة النهائية النهائية. يسمح بشكل فعال للباحثين والمهندسين بتدريب عدد أكبر من شبكات عصبية أكبر أكبر أو زيادة حجم الدُفعات ضمن نفس قيود الأجهزة نفسها.
تعتمد الآلية الأساسية للدقة المختلطة على بنية المسرعات الحديثة، مثل تلك المزودة بـ NVIDIA Tensor Coresالتي يمكنها إجراء عمليات ضرب المصفوفات في بنصف دقة (FP16) أسرع بكثير من الدقة الأحادية القياسية (FP32). تتضمن العملية بشكل عام ثلاث خطوات رئيسية:
لقد أصبحت الدقة المختلطة ممارسة قياسية في مختلف مجالات الذكاء الاصطناعي نظرًا لقدرتها على تعظيم كفاءة الأجهزة.
إن 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)
من المفيد التمييز بين الدقة المختلطة ومفاهيم التحسين وتمثيل البيانات الأخرى:
مدعومة بأطر عمل مثل PyTorch AMP، تظل الدقة المختلطة واحدة من أكثر الطرق فعالية لإضفاء الطابع الديمقراطي على الوصول إلى التعلم العميق عالي الأداء, تمكين المطورين من تدريب نماذج معقدة على أجهزة يمكن الوصول إليها.