الدليل الفني

التدريب الدقيق المختلط

يعمل التدريب الدقيق المختلط على تسريع تدريب الشبكة العصبية وتقليل استخدام الذاكرة عن طريق إجراء معظم العمليات الحسابية بفاصلة عائمة 16 بت بدلاً من 32 بت.

قراءة لمدة دقيقتينآخر تحديث

نظرة عامة

It lets the same GPU train bigger models faster with almost no loss in accuracy.

الغوص العميق

يقوم التدريب التقليدي بتخزين الأوزان وتشغيل الرياضيات في نقطة عائمة 32 بت (FP32). تستخدم الدقة المختلطة تنسيقات 16 بت أقل دقة (FP16 أو bfloat16) لمضاعفات المصفوفة الثقيلة، مع الاحتفاظ بـ "نسخة رئيسية" 32 بت من الأوزان للحصول على تحديثات مستقرة. نظرًا لأن أرقام 16 بت هي نصف الحجم، فهي أكثر ملاءمةً لذاكرة وحدة معالجة الرسومات وتقوم Tensor Cores بمعالجتها بشكل أسرع بمعدل 2 إلى 8 مرات تقريبًا. المصيد هو النطاق الضيق لـ FP16: يمكن أن تتدفق التدرجات الصغيرة إلى الصفر. الإصلاح القياسي هو تحجيم الخسارة، الذي يضاعف الخسارة بعامل كبير قبل الانتشار العكسي بحيث تظل التدرجات الصغيرة قابلة للتمثيل، ثم يقسمها مرة أخرى قبل تحديث الوزن. تعمل تقنية Apex من NVIDIA وAMP المدمج (الدقة المختلطة التلقائية) في PyTorch وTensorFlow على أتمتة ذلك.

البصيرة الفنية

يحتوي FP16 على 5 بتات أسية فقط، مما يوفر نطاقًا ديناميكيًا صغيرًا يؤدي إلى تدفق سفلي متدرج. يحتفظ Bfloat16 بـ 8 بتات أسية (مطابقة لنطاق FP32) ولكن بعدد أقل من البتات العشرية، لذلك نادرًا ما يحتاج إلى قياس الخسارة - وهو السبب الرئيسي وراء تفضيل Google لوحدات TPU ووحدات معالجة الرسومات الحديثة له. تعمل Tensor Cores على تسريع العمل عن طريق مضاعفة معاملات 16 بت مع تجميع المجاميع الجزئية في FP32، مما يحافظ على الدقة حيث قد تتفاقم أخطاء الجمع.

التأثير الاستراتيجي

التكلفة والميزانية

تؤدي قرارات الهندسة المعمارية إلى زيادة الأداء وتكلفة التشغيل لسنوات.

قرارات أوضح

يساعد التعليم الفني الفرق على اختيار المجموعة المناسبة، وليس فقط المجموعة الأحدث.

مراقبة الجودة

تعمل الخيارات الهندسية الأفضل على تقليل حوادث الموثوقية في الإنتاج.

مستقبل التدريب الدقيق المختلط

الدقة تستمر في الانخفاض. أصبح تدريب FP8، المدعوم على وحدات معالجة الرسوميات NVIDIA Hopper وBlackwell، معيارًا قياسيًا للنماذج الحدودية، ويدفع البحث في FP4 وتنسيقات القياس الدقيق (MXFP) إلى أبعد من ذلك. توقع أن تقوم الأطر بتحديد الدقة تلقائيًا لكل طبقة، وأجهزة للتعامل بشكل أصلي مع التنسيقات الأضيق من أي وقت مضى، والتدريب المدرك للكمية لطمس الخط الفاصل بين التدريب منخفض الدقة والاستدلال، مما يقلل من تكلفة تدريب نماذج تريليون معلمة.

التنفيذ في العالم الحقيقي

يقوم Torch.cuda.amp.autocast الخاص بـ PyTorch بتغليف حلقة تدريب لخفض الذاكرة إلى النصف تقريبًا ومضاعفة الإنتاجية على وحدة معالجة الرسومات واحدة

تدريب نماذج لغوية كبيرة مثل محولات نمط GPT في bfloat16 على وحدات TPU لتجنب ضبط حجم الخسارة

تركيب حجم دفعة أكبر على وحدة معالجة الرسومات RTX للمستهلك عن طريق تحويل التدريب على صور ResNet من FP32 إلى FP16

دقة FP8 المختلطة على وحدات معالجة الرسوميات NVIDIA H100 لخفض تكلفة التدريب المسبق للنماذج الحدودية

المخاطر والدرابزين

يمكن أن يؤدي تحسين معيار واحد إلى إخفاء نقاط ضعف النظام الأوسع.

غالبًا ما يتم التقليل من تكاليف البنية التحتية والصيانة.

يمكن أن تنمو الفجوات الأمنية وقابلية المراقبة عندما تصبح الأنظمة أكثر تعقيدًا.

خارطة طريق التنفيذ

1

تحديد الكمون والجودة وأهداف التكلفة قبل التنفيذ.

2

المعيار في ظل ظروف التحميل والبيانات الواقعية.

3

مراقبة الأدوات للأخطاء والانجراف وتأثير المستخدم.

4

قم بإعداد مسارات التراجع والاستجابة للحوادث قبل القياس.

استمر في الاستكشاف

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Mixed Precision Training quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

ابدأ الاختبار

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

الدليل التالي

وضع العلامات الزائفة والتدريب الذاتي

الأسئلة المتداولة

What is Mixed Precision Training?

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

لماذا يحتفظ التدريب الدقيق المختلط بنسخة رئيسية 32 بت من الأوزان؟

غالبًا ما تكون تحديثات الوزن صغيرة جدًا؛ ومن شأن تجميعها في 16 بت أن يفقد الدقة، لذا فإن النسخة الرئيسية كاملة الدقة تحافظ على دقة التحديثات.

ما هي المشكلة التي يحلها قياس الخسارة في تدريب FP16؟

يتمتع FP16 بنطاق ديناميكي محدود، لذا يمكن تقريب التدرجات الصغيرة إلى الصفر؛ مضاعفة الخسارة قبل الدعامة الخلفية يبقيها قابلة للتمثيل.

ما هي الميزة التي يتمتع بها bfloat16 على FP16؟

يحتفظ Bfloat16 بـ 8 بتات أسية مثل FP32، لذا فإن نطاقه الديناميكي كبير والتدفق السفلي المتدرج نادر.

كيف تحافظ Tensor Cores على الدقة أثناء استخدام مدخلات 16 بت؟

تتضاعف نوى Tensor معاملات 16 بت ولكنها تتراكم في 32 بت، مما يمنع تفاقم أخطاء الجمع.

ما الفائدة الأساسية من استخدام قيم 16 بت بدلاً من 32 بت أثناء التدريب؟

تناسب الأرقام بنصف الحجم المزيد من البيانات في ذاكرة وحدة معالجة الرسومات وتسمح للأجهزة المتخصصة بمعالجة الرياضيات بشكل أسرع عدة مرات.