مسرد المصطلحات

نصف دقة

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

تدريب YOLO النماذج
ببساطة مع Ultralytics HUB

التعرف على المزيد

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

ما هو نصف الدقة؟

يتم استخدام أرقام الفاصلة العائمة لتمثيل الأعداد الحقيقية في أجهزة الكمبيوتر، وتقريبها ضمن عدد ثابت من البتات. يحدد معيار IEEE 754 التنسيقات الشائعة، بما في ذلك FP16 و FP32. يستخدم رقم FP16 بت واحد للإشارة، و5 بتات للأس (تحديد المدى)، و10 بتات للإشارة أو العلامة (تحديد الدقة). وبالمقارنة، يستخدم FP32 بت واحد للإشارة، و8 بتات للأس، و23 بت للإشارة. هذا التخفيض في البتات يعني أن FP16 لديها نطاق عددي أصغر بكثير ودقة أقل من FP32. للحصول على نظرة عامة أساسية عن كيفية عمل هذه التنسيقات، راجع أساسيات حساب الفاصلة العائمة.

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

يوفر استخدام FP16 العديد من المزايا في سير عمل التعلم العميق:

العيوب المحتملة

على الرغم من أن استخدام FP16 حصرياً يمكن أن يؤدي إلى مشاكل في بعض الأحيان:

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

نصف الدقة مقابل المفاهيم ذات الصلة

من المهم تمييز FP16 عن التنسيقات والتقنيات الرقمية الأخرى:

  • أحادية الدقة (FP32): التنسيق الافتراضي في العديد من أطر التعلم الآلي (ML) مثل PyTorch و TensorFlow. يوفر توازنًا جيدًا بين المدى والدقة لمعظم المهام ولكنه أكثر استهلاكًا للموارد من FP16.
  • دقة مزدوجة (FP64): توفر دقة عالية جدًا ولكنها تتطلب ضعف موارد الذاكرة والحساب الخاصة ب FP32. تستخدم بشكل أساسي في الحوسبة العلمية، ونادراً ما تستخدم في التعلم العميق.
  • الدقة المختلطة: هذه هي الطريقة الأكثر شيوعًا لاستخدام FP16 في التعلم العميق. وهي تتضمن الاستخدام الاستراتيجي لكل من FP16 و FP32 أثناء التدريب أو الاستدلال. عادةً ما يتم تنفيذ العمليات الحسابية المكثفة مثل عمليات الالتفاف ومضاعفات المصفوفات في FP16 من أجل السرعة، بينما يتم الاحتفاظ بالعمليات الحرجة مثل تحديثات الوزن أو بعض التخفيضات في FP32 للحفاظ على الاستقرار العددي والدقة. تساعد تقنيات مثل تحجيم الخسارة في التخفيف من مشاكل التدفق السفلي. راجع ورقة التدريب مختلط الدقة الأصلية أو الأدلة من PyTorch AMP و TensorFlow مختلط الدقة. غالبًا ما تستفيد نماذج Ultralytics من الدقة المختلطة؛ راجع النصائح الخاصة بتدريب النماذج.
  • BFloat16 (BF16): تنسيق 16 بت آخر، تم تطويره بشكل أساسي بواسطة Google. وهو يستخدم 8 بتات أس (مثل FP32، مما يوفر نطاقًا واسعًا) ولكن يستخدم 7 بتات دلالة فقط (دقة أقل من FP16). وهو مفيد بشكل خاص لتدريب النماذج اللغوية الكبيرة (LLMs). تعرف على المزيد حول BFloat16.
  • التكميم الكمي للنموذج: التقنيات التي تقلل من دقة النموذج بشكل أكبر، وغالبًا ما تكون إلى أعداد صحيحة 8 بت (INT8) أو أقل. يوفر هذا أقصى قدر من الكفاءة للنشر على الأجهزة المتطورة ولكن عادةً ما يتطلب معايرة دقيقة أو تدريبًا دقيقًا على الوعي الكمي (QAT) للحفاظ على الدقة. انظر مقدمة عن التكميم على PyTorch.

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

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

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

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

قراءة الكل