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

الدقة النصفية

اكتشف كيف تعمل الدقة النصفية (FP16) على تسريع الذكاء الاصطناعي من خلال الحساب الأسرع وتقليل استخدام الذاكرة ونشر النماذج بكفاءة.

الدقة النصفية، والمعروفة أيضًا باسم FP16، هي تنسيق أرقام الفاصلة العائمة الذي يستخدم 16 بتًا من الذاكرة لتمثيل رقم، على عكس تنسيقات الدقة الفردية (FP32) ذات 32 بتًا أو الدقة المزدوجة (FP64) ذات 64 بتًا الأكثر شيوعًا. في سياق التعلم العميق، يقلل استخدام الدقة النصفية بشكل كبير من حجم الذاكرة ومتطلبات الحساب للنموذج. تأتي هذه المقايضة على حساب تقليل النطاق العددي والدقة. ومع ذلك، فإن التقنيات الحديثة، وخاصة التدريب بالدقة المختلطة، جعلت FP16 حجر الزاوية في التعلم الآلي (ML) الفعال من خلال تمكين التدريب والاستدلال بشكل أسرع مع الحد الأدنى من التأثير على دقة النموذج.

كيف يعمل نصف الدقة

يؤدي التحويل من FP32 إلى FP16 إلى تقليل الذاكرة المطلوبة لتخزين أوزان النموذج والتنشيطات إلى النصف. يتيح ذلك نماذج أكبر أو أحجام دفعية أكبر أو التدريب على وحدات معالجة الرسومات (GPUs) بذاكرة أقل. علاوة على ذلك، تم تصميم وحدات معالجة الرسومات الحديثة، مثل تلك المزودة بـ NVIDIA Tensor Cores، خصيصًا لإجراء عمليات المصفوفة ذات 16 بت بسرعات أعلى بكثير من العمليات ذات 32 بت.

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

التطبيقات والأمثلة

تستخدم الدقة النصفية على نطاق واسع، بشكل أساسي من خلال تقنيات الدقة المختلطة:

  1. تسريع تدريب النموذج: يمكن تسريع تدريب نماذج التعلم العميق الكبيرة، مثل تلك الخاصة بـ تصنيف الصور أو معالجة اللغة الطبيعية (NLP)، بشكل كبير باستخدام الدقة المختلطة، مما يقلل من وقت وتكاليف التدريب. غالبًا ما تستخدم منصات مثل Ultralytics HUB هذه التحسينات أثناء جلسات التدريب السحابي.
  2. تحسين استدلال الكشف عن الكائنات: يمكن تصدير نماذج مثل Ultralytics YOLO11 إلى تنسيقات مثل ONNX أو TensorRT بدقة FP16 من أجل استدلال أسرع في الوقت الفعلي. هذا أمر بالغ الأهمية للتطبيقات التي تحتاج إلى إنتاجية عالية، مثل نظام أمان يحلل العديد من مقاطع الفيديو أو مراقبة الجودة على خط إنتاج عالي السرعة.
  3. النشر على الأجهزة ذات الموارد المحدودة: إن تقليل حجم الذاكرة والتكلفة الحسابية لنماذج FP16 يجعلها مناسبة للنشر على منصات Edge AI مثل NVIDIA Jetson أو الأجهزة المحمولة باستخدام أطر عمل مثل TensorFlow Lite أو Core ML من Apple.
  4. تدريب نماذج اللغة الكبيرة (LLMs): يتطلب الحجم الهائل للنماذج مثل GPT-3 وغيرها من النماذج الأساسية (foundation models) استخدام تنسيقات 16 بت لتناسب النماذج في الذاكرة وإكمال التدريب (training) في إطارات زمنية معقولة.

الدقة النصفية مقابل التنسيقات الأخرى

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

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

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

انضم الآن
تم نسخ الرابط إلى الحافظة