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









