Half-Precision
تعلّم كيف تسرّع الدقة النصفية (FP16) الذكاء الاصطناعي. اكتشف كيفية تحسين Ultralytics YOLO26 لاستدلال أسرع وذاكرة أقل على وحدات GPU والأجهزة الطرفية.
الدقة النصفية، التي يُشار إليها غالبًا باسم FP16، هي تنسيق لبيانات الفاصلة العائمة يشغل 16 بت من ذاكرة الكمبيوتر، بخلاف تنسيق الدقة المفردة القياسي (FP32) الذي يستخدم 32 بت. في سياق الذكاء الاصطناعي والتعلم الآلي، تُعد الدقة النصفية تقنية تحسين بالغة الأهمية تُستخدم لتسريع تدريب النماذج والاستدلال مع تقليل استهلاك الذاكرة بدرجة كبيرة. ومن خلال تخزين القيم العددية—مثل أوزان النموذج للشبكة العصبية والتدرجات—باستخدام عدد أقل من البتات، يستطيع المطورون وضع نماذج أكبر على وحدات معالجة الرسومات GPU أو تشغيل النماذج الحالية بسرعة أكبر بكثير. وتُعد مكاسب الكفاءة هذه ضرورية لنشر البنى الحديثة والمعقدة مثل YOLO26 على الأجهزة محدودة الموارد دون التضحية بدقة كبيرة.
آليات تنسيقات الفاصلة العائمة#
لفهم الدقة النصفية، من المفيد مقارنتها بالدقة الكاملة. يخصص العدد القياسي ذو الفاصلة العائمة بحجم 32 بت (FP32) عددًا أكبر من البتات للأسّ والجزء العشري، ما يوفر نطاقًا ديناميكيًا واسعًا جدًا ودقة عددية عالية. ومع ذلك، تُعرف نماذج التعلم العميق بقدرتها الكبيرة على تحمل الأخطاء العددية الصغيرة. وغالبًا ما تستطيع الشبكات العصبية التعلم بفعالية حتى مع النطاق الديناميكي والتدرج الأقل اللذين يوفرهما تنسيق 16 بت.
يؤدي الانتقال إلى الدقة النصفية إلى خفض متطلبات عرض النطاق الترددي للذاكرة إلى النصف. ويسمح ذلك باستخدام أحجام دفعات أكبر أثناء التدريب، ما قد يثبت تحديثات التدرج ويسرّع عملية التدريب الإجمالية. وقد حُسّنت مسرّعات الأجهزة الحديثة، مثل أنوية Tensor من NVIDIA، خصيصًا لتنفيذ عمليات ضرب المصفوفات بتنسيق FP16 بسرعات أعلى بكثير من FP32.
الفوائد الرئيسية في سير عمل الذكاء الاصطناعي#
يوفر اعتماد الدقة النصفية عدة مزايا ملموسة لممارسي الذكاء الاصطناعي:
- تقليل البصمة الذاكرية: تتطلب النماذج نصف مقدار VRAM (ذاكرة الوصول العشوائي للفيديو)، ما يتيح للمطورين تدريب شبكات أكبر أو استخدام بيانات تدريب بدقة أعلى على الأجهزة نفسها.
- استدلال أسرع: في التطبيقات الفورية، مثل المركبات ذاتية القيادة أو تحليلات الفيديو، يمكن لـ FP16 مضاعفة معدل الإنتاجية (الإطارات في الثانية)، ما يقلل زمن استجابة الاستدلال.
- كفاءة الطاقة: تتطلب معالجة عدد أقل من البتات طاقة أقل، وهو أمر بالغ الأهمية لأجهزة الذكاء الاصطناعي الطرفي والهواتف المحمولة حيث تمثل مدة عمل البطارية قيدًا.
- التدريب بالدقة المختلطة: تستخدم العديد من الأطر الحديثة الدقة المختلطة، حيث يحتفظ النموذج بنسخة رئيسية من الأوزان بتنسيق FP32 لتحقيق الاستقرار، لكنه ينفذ العمليات الحسابية المكثفة بتنسيق FP16. ويوفر ذلك «أفضل ما في العالمين»—السرعة واستقرار التقارب.
التطبيقات الواقعية#
تُستخدم الدقة النصفية على نطاق واسع في أنظمة الذكاء الاصطناعي المخصصة للإنتاج. وفيما يلي مثالان عمليان:
-
اكتشاف الأجسام في الوقت الفعلي على الأجهزة الطرفية: لنفترض وجود نظام كاميرا أمنية يشغّل Ultralytics YOLO26 لاكتشاف المتسللين. يتيح نشر النموذج بتنسيق FP16 تشغيله بسلاسة على شريحة مضمّنة مثل NVIDIA Jetson أو Raspberry Pi AI Kit. ويضمن انخفاض العبء الحسابي قدرة النظام على معالجة تدفقات الفيديو في وضع الاستدلال الفوري دون تأخير، وهو أمر حيوي لإصدار التنبيهات في الوقت المناسب.
-
نشر نماذج اللغة الكبيرة (LLM): تحتوي نماذج الذكاء الاصطناعي التوليدي، مثل GPT-4 أو إصدارات Llama، على مليارات المعلمات. ويتطلب تحميل هذه النماذج بالدقة الكاملة (FP32) كميات هائلة من ذاكرة الخادم، وغالبًا ما تكون تكلفتها باهظة. ومن خلال تحويل هذه النماذج إلى FP16 (أو تنسيقات أقل حتى)، يستطيع موفرو الخدمات السحابية تقديم النماذج الأساسية لآلاف المستخدمين في الوقت نفسه، ما يجعل خدمات مثل روبوتات المحادثة وإنشاء المحتوى الآلي مجدية اقتصاديًا.
الدقة النصفية مقابل التكميم#
مع أن كلتا التقنيتين تهدفان إلى تقليل حجم النموذج، فمن المهم التمييز بين «الدقة النصفية» وتكميم النموذج.
- الدقة النصفية (FP16): تقلل عرض البتات من 32 إلى 16، لكنها تحافظ على البيانات كعدد ذي فاصلة عائمة. وتحتفظ بنطاق ديناميكي معقول، وغالبًا ما تكون الخيار الافتراضي لـتدريب GPU والاستدلال.
- التكميم (INT8): يحوّل أعداد الفاصلة العائمة إلى أعداد صحيحة (عادةً بحجم 8 بت). ويوفر ذلك مكاسب أكبر في السرعة والذاكرة، لكنه قد يؤدي أحيانًا إلى انخفاض أكثر وضوحًا في الدقة إذا لم يُنفذ بعناية (مثلًا عبر التدريب الواعي بالتكميم). ويُعد FP16 عمومًا أكثر أمانًا في الحفاظ على أداء النموذج، بينما يُستخدم INT8 للتحسين الأقصى.
تنفيذ الدقة النصفية باستخدام Ultralytics#
تجعل مكتبة ultralytics استخدام الدقة النصفية أمرًا مباشرًا. وأثناء التنبؤ، يمكن للنموذج التبديل تلقائيًا إلى الدقة النصفية إذا كانت الأجهزة تدعمها، أو يمكن طلب ذلك صراحةً.
فيما يلي مثال بلغة Python يوضح كيفية تحميل نموذج YOLO26 وتنفيذ الاستدلال باستخدام الدقة النصفية. لاحظ أن التشغيل في half=True يتطلب عادةً GPU مفعّلًا بواسطة CUDA.
import torch
from ultralytics import YOLO
# Check if CUDA (GPU) is available, as FP16 is primarily for GPU acceleration
device = "cuda" if torch.cuda.is_available() else "cpu"
# Load the latest YOLO26n model
model = YOLO("yolo26n.pt")
# Run inference on an image with half-precision enabled
# The 'half=True' argument tells the engine to use FP16
results = model.predict("https://ultralytics.com/images/bus.jpg", device=device, half=True)
# Print the device and precision status
print(f"Inference device: {results[0].orig_img.shape}, Speed: {results[0].speed}")بالنسبة إلى المستخدمين الذين يديرون مجموعات البيانات ومسارات التدريب، تتولى منصة Ultralytics معالجة العديد من عمليات التحسين هذه تلقائيًا في السحابة، ما يبسط الانتقال من وضع التعليقات التوضيحية إلى نشر النموذج المحسّن.
قراءات وموارد إضافية#
لاستكشاف المزيد حول التنسيقات العددية وتأثيرها في الذكاء الاصطناعي، راجع وثائق NVIDIA لأداء التعلم العميق المتعلقة بأنوية Tensor. وللحصول على فهم أوسع لكيفية توافق عمليات التحسين هذه مع دورة حياة التطوير، اقرأ عن عمليات التعلم الآلي (MLOps).
إضافةً إلى ذلك، قد يرغب المهتمون بالمفاضلات بين استراتيجيات التحسين المختلفة في الاطلاع على التقليم، الذي يزيل الاتصالات بدلًا من تقليل دقة البتات، أو استكشاف معيار IEEE للحساب بالفاصلة العائمة (IEEE 754) للاطلاع على المواصفات التقنية للحساب الحسابي الرقمي. ويساعد فهم هذه الأساسيات على اتخاذ قرارات مستنيرة عند تصدير النماذج إلى تنسيقات مثل ONNX أو TensorRT لبيئات الإنتاج.









