TensorRT
استكشف كيف يعمل TensorRT على تحسين نماذج التعلم العميق لوحدات معالجة الرسوميات من NVIDIA. تعلم تصدير Ultralytics YOLO26 إلى TensorRT للاستدلال السريع ومنخفض التأخير اليوم.
TensorRT هو مجموعة أدوات تطوير برمجيات (SDK) للاستدلال بالتعلم العميق عالي الأداء طورتها NVIDIA. صُمم هذا النظام لتحسين نماذج الشبكات العصبية من أجل النشر، مما يوفر زمن انتقال استدلال منخفضاً وإنتاجية عالية لتطبيقات التعلم العميق. ومن خلال عمله كمترجم للتحسين، يأخذ TensorRT الشبكات المدربة من أطر عمل شائعة مثل PyTorch وTensorFlow ويعيد هيكلتها لتنفيذها بكفاءة على وحدات معالجة الرسومات (GPUs) من NVIDIA. هذه القدرة ضرورية لتشغيل نماذج الذكاء الاصطناعي المعقدة في بيئات الإنتاج حيث تعتبر السرعة والكفاءة أمراً بالغ الأهمية.
Link to this sectionكيف يعمل TensorRT على تحسين النماذج#
تتمثل الوظيفة الأساسية لـ TensorRT في تحويل الشبكة العصبية المدربة إلى "محرك" مُحسّن ومُعد خصيصاً للجهاز المستهدف. ويحقق ذلك من خلال عدة تقنيات متقدمة:
- دمج الطبقات (Layer Fusion): يقوم المُحسّن بدمج طبقات متعددة من الشبكة العصبية في نواة واحدة، مما يقلل من العبء الزائد للوصول إلى الذاكرة ويحسن سرعة التنفيذ.
- معايرة الدقة (Precision Calibration): يدعم TensorRT أوضاع الدقة المنخفضة، مثل الدقة المختلطة (FP16) وتكميم الأعداد الصحيحة (INT8). من خلال تقليل عدد البتات المستخدمة لتمثيل الأرقام - غالباً مع حد أدنى من فقدان الدقة - يمكن للمطورين تسريع العمليات الحسابية بشكل كبير وتقليل استخدام الذاكرة. وهذا شكل من أشكال تكميم النموذج.
- الضبط التلقائي للنواة (Kernel Auto-Tuning): يختار البرنامج تلقائياً أفضل طبقات البيانات والخوارزميات لبنية GPU المحددة المستخدمة، مما يضمن الاستفادة القصوى من قدرات المعالجة المتوازية للأجهزة عبر CUDA.
Link to this sectionتطبيقات العالم الحقيقي#
نظراً لقدرته على معالجة كميات هائلة من البيانات بأقل تأخير ممكن، يُستخدم TensorRT على نطاق واسع في الصناعات التي تعتمد على رؤية الحاسوب ومهام الذكاء الاصطناعي المعقدة حيث يكون التوقيت حرجاً.
-
الأنظمة المستقلة: في مجال الذكاء الاصطناعي في السيارات، يجب أن تعالج السيارات ذاتية القيادة خلاصات الفيديو من كاميرات متعددة لاكتشاف المشاة والإشارات والعقبات لحظياً. باستخدام TensorRT، يمكن لنماذج الإدراك مثل شبكات اكتشاف الأشياء تحليل الإطارات في أجزاء من الثانية، مما يسمح لنظام التحكم في المركبة باتخاذ قرارات حاسمة للسلامة دون تأخير.
-
الأتمتة الصناعية: تستخدم المصانع الحديثة الذكاء الاصطناعي في التصنيع للفحص البصري الآلي. تلتقط الكاميرات عالية السرعة صوراً للمنتجات على خطوط التجميع، وتحدد النماذج المُحسّنة بواسطة TensorRT العيوب أو الشذوذ في الوقت الفعلي. وهذا يضمن مواكبة مراقبة الجودة لبيئات الإنتاج عالية السرعة، وغالباً ما يتم النشر على أجهزة الذكاء الاصطناعي للحافة (edge AI) مثل منصة NVIDIA Jetson مباشرة في أرض المصنع.
Link to this sectionاستخدام TensorRT مع Ultralytics YOLO#
يعد دمج TensorRT في سير عملك أمراً مباشراً باستخدام أدوات الذكاء الاصطناعي الحديثة. توفر حزمة ultralytics طريقة سلسة لتحويل نماذج PyTorch القياسية إلى محركات TensorRT. وهذا يسمح للمستخدمين بالاستفادة من البنية المتطورة لـ Ultralytics YOLO26 مع تسريع الأجهزة الذي توفره وحدات معالجة الرسومات من NVIDIA. بالنسبة للفرق التي تتطلع إلى إدارة مجموعات البيانات وخطوط أنابيب التدريب الخاصة بها قبل التصدير، توفر منصة Ultralytics بيئة شاملة لإعداد النماذج لمثل هذا النشر عالي الأداء.
يوضح المثال التالي كيفية تصدير نموذج YOLO26 إلى ملف محرك TensorRT (.engine) واستخدامه لـ الاستدلال في الوقت الفعلي:
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")Link to this sectionTensorRT مقابل ONNX مقابل أطر عمل التدريب#
من المهم التمييز بين TensorRT والمصطلحات الأخرى التي تُسمع غالباً في مجال نشر النماذج:
- مقابل PyTorch/TensorFlow: صُممت أطر عمل مثل PyTorch في المقام الأول لـ تدريب النماذج والبحث، حيث توفر المرونة وسهولة التصحيح. أما TensorRT فهو محرك استدلال مُصمم حصرياً لتنفيذ النماذج المدربة بأسرع ما يمكن، ولا يُستخدم للتدريب.
- مقابل ONNX: يعمل تنسيق ONNX (تبادل الشبكة العصبية المفتوحة) كجسر وسيط بين أطر العمل. بينما يوفر ONNX قابلية التشغيل البيني (مثل نقل نموذج من PyTorch إلى منصة أخرى)، يركز TensorRT على التحسين الخاص بالأجهزة. غالباً ما يتم تحويل النموذج إلى ONNX أولاً، ثم يتم تحليله بواسطة TensorRT لإنشاء المحرك النهائي.
بالنسبة للمطورين الذين يهدفون إلى تعظيم أداء وكلاء الذكاء الاصطناعي أو أنظمة الرؤية الخاصة بهم، فإن فهم الانتقال من إطار عمل التدريب إلى وقت تشغيل مُحسّن مثل TensorRT يعد خطوة أساسية في MLOps الاحترافي.






