خطوات الاستخدام
الخطوة 1: فهم مفهوم التدريب بالدقة المختلطة (Mixed Precision Training). تعتمد هذه التقنية على استخدام أرقام الفاصلة العائمة بدقة 16 بت (FP16) بدلاً من 32 بت (FP32) في بعض العمليات الحسابية أثناء تدريب نماذج التعلم العميق. يؤدي ذلك إلى تقليل استخدام الذاكرة وزيادة سرعة التدريب على المزيد الحديثة (مثل NVIDIA Volta وTuring وAmpere) التي تحتوي على وحدات Tensor Cores مخصصة للحسابات منخفضة الدقة. ومع ذلك، فإن الدقة المنخفضة قد تسبب فقدان بعض المعلومات، لذا يتم استخدام تقنيات إضافية مثل gradient scaling للحفاظ على دقة النموذج.
الخطوة 2: إدخال وقت التدريب بالدقة الكاملة (fp32Time). هذا هو الوقت المستغرق لتدريب النموذج باستخدام الدقة 32 بت (FP32). يمكنك الحصول على هذا الوقت من التجارب السابقة أو من تقدير أولي. على سبيل المثال، إذا كنت تعلم أن تدريب نموذج معين يستغرق 100 ساعة باستخدام FP32، فأدخل 100. هذا الرقم هو الأساس الذي سنقارن به السرعة.
الخطوة 3: تحديد عامل التخفيض (reductionRatio). يمثل هذا العامل مدى تقليل وقت التدريب عند استخدام الدقة المختلطة. عادةً ما يكون بين 1.2 و 2.5، اعتماداً على عدة عوامل: نوع المزيد (GPU)، حجم الدفعة (batch size)، وهيكل النموذج. على سبيل المثال، إذا كانت سرعة التدريب تتضاعف بالضبط عند استخدام FP16، فسيكون العامل 2. لكن في الواقع، قد يكون أقل بسبب الحمل الإضافي لتحويل الدقة أو بسبب عدم استفادة بعض الطبقات من Tensor Cores. اختر عاملاً بناءً على مراجع أو تجارب سابقة. على سبيل المثال، في نماذج الرؤية الحاسوبية الكبيرة مثل ResNet-50 على V100، يمكن أن يكون العامل حوالي 2.1.