TensorRT
استكشف كيف يعمل TensorRT على تحسين نماذج التعلم العميق لوحدات معالجة الرسوميات من NVIDIA. تعلم تصدير Ultralytics YOLO26 إلى TensorRT للاستدلال السريع ومنخفض التأخير اليوم.
TensorRT هو طقم تطوير برمجيات (SDK) للاستدلال العميق عالي الأداء تم تطويره بواسطة NVIDIA. وهو مصمم لتحسين نماذج الشبكات العصبية للنشر، مما يوفر زمن انتقال منخفض للاستدلال إنتاجية عالية لتطبيقات التعلم العميق. من خلال العمل كمُصمِّم تحسين، يأخذ TensorRT الشبكات المدربة من أطر العمل الشائعة مثل PyTorch وTensorFlow ويعيد هيكلتها لتنفذ بكفاءة على وحدات معالجة الرسوميات (GPUs) الخاصة بـ NVIDIA. تُعد هذه القدرة بالغة الأهمية لتشغيل نماذج الذكاء الاصطناعي المعقدة في بيئات الإنتاج حيث تكون السرعة والكفاءة أمرين بالغين الأهمية.
كيف يعمل TensorRT على تحسين النماذج#
تتمثل الوظيفة الأساسية لـ TensorRT في تحويل الشبكة العصبية المدربة إلى "محرك" مُحسّن ومُعد خصيصاً للجهاز المستهدف. ويحقق ذلك من خلال عدة تقنيات متقدمة:
- دمج الطبقات: يدمج المُحسِّن طبقات متعددة من الشبكة العصبية في نواة واحدة، مما يقلل من النفقات العامة للوصول إلى الذاكرة ويحسن سرعة التنفيذ.
- معايرة الدقة: يدعم TensorRT أوضاع الدقة المنخفضة، مثل الدقة المختلطة (FP16) وتكميم الأعداد الصحيحة (INT8). من خلال تقليل عدد البتات المستخدمة لتمثيل الأرقام -غالباً بأقل قدر من فقدان الدقة- يمكن للمطورين تسريع العمليات الرياضية بشكل كبير وتقليل استخدام الذاكرة. هذا شكل من أشكال تكميم النموذج.
- الضبط التلقائي للنواة: يختار البرنامج تلقائياً أفضل طبقات البيانات والخوارزميات لبنية وحدة معالجة الرسوميات (GPU) المحددة المستخدمة، مما يضمن أقصى استفادة من قدرات المعالجة المتوازية للأجهزة عبر CUDA.
تطبيقات العالم الحقيقي#
بسبب قدرته على معالجة كميات هائلة من البيانات بأقل تأخير، يُعتمد TensorRT على نطاق واسع في الصناعات التي تعتمد على رؤية الحاسوب ومهام الذكاء الاصطناعي المعقدة حيث يكون التوقيت بالغ الأهمية.
-
الأنظمة المستقلة: في مجال الذكاء الاصطناعي في قطاع السيارات، يجب على السيارات ذاتية القيادة معالجة تدفقات الفيديو من كاميرات متعددة لاكتشاف المشاة واللافتات والعوائق بشكل فوري. باستخدام TensorRT، يمكن لنماذج الإدراك مثل شبكات اكتشاف الكائنات تحليل الإطارات في غضون مللي ثانية، مما يسمح لنظام التحكم في السيارة اتخاذ قرارات حرجة تتعلق بالسلامة دون تأخير.
-
الأتمتة الصناعية: تستخدم المصانع الحديثة الذكاء الاصطناعي في التصنيع للفحص البصري الآلي. تلتقط الكاميرات عالية السرعة صوراً للمنتجات على خطوط التجميع، وتحدد النماذج المحسنة بواسطة TensorRT العيوب أو الشوذوذ في الوقت الفعلي. يضمن هذا أن مراقبة الجودة تواكب بيئات الإنتاج عالية السرعة، وغالباً ما تنشر على أجهزة الذكاء الاصطناعي على الحافة مثل منصة NVIDIA Jetson مباشرة في أرضية المصنع.
استخدام TensorRT مع Ultralytics YOLO#
يعد دمج TensorRT في سير عملك أمراً مباشراً باستخدام أدوات الذكاء الاصطناعي الحديثة. توفر الحزمة ultralytics طريقة سلسة لتحويل نماذج PyTorch القياسية إلى محركات TensorRT. يتيح ذلك للمستخدمين الاستفادة من البنية الحديثة لـ Ultralytics YOLO26 مع تسريع الأجهزة لوحدات معالجة الرسوميات من NVIDIA. بالنسبة للفرق التي تتطلع إلى إدارة مجموعات البيانات الخاصة بها وتدريب خطوط الأنابيب قبل التصدير، توفر منصة Ultralytics بيئة شاملة لإعداد النماذج لمثل هذا النشر عالي الأداء.
يوضح المثال التالي كيفية تصدير نموذج Ultralytics YOLO26 إلى ملف محرك TensorRT (.engine) واستخدامه لـ real-time inference:
from ultralytics import YOLO
# Load the latest stable YOLO26 model (nano size)
model = YOLO("yolo26n.pt")
# Export the model to TensorRT format (creates 'yolo26n.engine')
# This step optimizes the computational graph for your specific GPU
model.export(format="engine")
# Load the optimized TensorRT engine for high-speed inference
trt_model = YOLO("yolo26n.engine")
# Run inference on an image source
results = trt_model("https://ultralytics.com/images/bus.jpg")TensorRT مقابل ONNX مقابل أطر عمل التدريب#
من المهم التمييز بين TensorRT والمصطلحات الأخرى التي غالباً ما توجد في مشهد نشر النماذج:
- مقابل PyTorch/TensorFlow: صُممت أطر عمل مثل PyTorch في المقام الأول لـ تدريب النماذج والبحث، حيث توفر المرونة وسهولة التصحيح. أما TensorRT فهو محرك استدلال مُصمم حصرياً لتنفيذ النماذج المدربة بأسرع ما يمكن، ولا يُستخدم للتدريب.
- مقابل ONNX: يعمل تنسيق ONNX (تبادل الشبكات العصبية المفتوحة) كجسر وسيط بين أطر العمل. بينما توفر ONNX قابلية التشغيل البيني (مثل نقل نموذج من PyTorch إلى منصة أخرى)، يركز TensorRT على التحسين الخاص بالأجهزة. غالباً ما يتم تحويل النموذج إلى ONNX أولاً، ثم تحليله بواسطة TensorRT لتوليد المحرك النهائي.
بالنسبة للمطورين الذين يهدفون إلى تعظيم أداء وكلاء الذكاء الاصطناعي أو أنظمة الرؤية لديهم، يعد فهم الانتقال من إطار عمل التدريب إلى وقت تشغيل محسّن مثل TensorRT خطوة رئيسية في ممارسات MLOps الاحترافية.






