عزز كفاءة التعلُّم العميق مع التدريب المختلط الدقة! حقق سرعات أعلى، واستخدام أقل للذاكرة، وتوفير في الطاقة دون التضحية بالدقة.
التدريب مختلط الدقة هو تقنية تُستخدم في التعلّم العميق لتسريع الحوسبة وتقليل متطلبات الذاكرة دون المساس بأداء النموذج بشكل كبير. يحقق ذلك من خلال استخدام تنسيقات دقة عددية مختلفة بشكل استراتيجي - بشكل أساسي الفاصلة العائمة 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) دعمًا آليًا لتنفيذ التدريب المختلط الدقة.
يوفر تطبيق الدقة المختلطة العديد من المزايا الرئيسية:
تُستخدم الدقة المختلطة على نطاق واسع في مختلف مجالات الذكاء الاصطناعي:
على الرغم من فائدته العالية، إلا أن التنفيذ الناجح للدقة المختلطة يتطلب
من المهم التمييز بين التدريب ذي الدقة المختلطة وتكميم النماذج. في حين أن كلاهما ينطوي على استخدام دقة أقل، فإن التكميم عادةً ما يحول النماذج إلى تنسيقات أقل بت (مثل INT8) بشكل أساسي لتحسين سرعة الاستدلال وتقليل حجم النموذج للنشر على الأجهزة محدودة الموارد، غالبًا بعد التدريب الأولي. تركز الدقة المختلطة على تسريع عملية التدريب نفسها من خلال الجمع بين FP16 و FP32.
لقد أصبحت الدقة المختلطة تقنية قياسية في مجموعة أدوات التعلم العميق، مما يتيح تطوير وتدريب نماذج أكبر وأكثر تعقيدًا بشكل أسرع وأكثر كفاءة.