Yolo فيجن شنتشن
شنتشن
انضم الآن
مسرد المصطلحات

TensorRT

قم بتحسين نماذج التعلم العميق باستخدام TensorRT للحصول على استدلال أسرع وفعال على وحدات معالجة الرسومات NVIDIA . تحقيق أداء في الوقت الفعلي مع YOLO وتطبيقات الذكاء الاصطناعي.

TensorRT عبارة عن مجموعة أدوات تطوير برمجيات عالية الأداء (SDK) تم تطويرها بواسطة NVIDIA خصيصًا لتحسين وتنفيذ نماذج التعلم العميق وتنفيذها. وهي تعمل كمحرك محرك استدلال متخصص يأخذ الشبكات الشبكات العصبية المدرّبة ويعيد هيكلتها لتعمل بأقصى قدر من الكفاءة على وحدات معالجة الرسومات (GPUs). من خلال تبسيط الرسم البياني الحسابي وإدارة استخدام الذاكرة، يقلل TensorRT بشكل كبير من من وقت الاستجابة للاستدلال ويزيد من الإنتاجية, مما يجعلها أداة أساسية للمطورين الذين يبنون تطبيقات تتطلب استجابات فورية في الوقت الفعلي.

كيف يعمل TensorRT على تحسين الأداء

يتمثل الهدف الأساسي من TensorRT في سد الفجوة بين النموذج المدرَّب في إطار عمل مرن والنموذج المنشور للسرعة. ويحقق ذلك من خلال العديد من تقنيات التحسين المتطورة:

  • دمج الطبقات وتحسين الرسم البياني: يقوم TensorRT بتحليل بنية الشبكة ودمج طبقات متعددة متعددة في عملية واحدة. على سبيل المثال، قد يدمج طبقة طبقة التلافيف مع خطوة التحيز والتفعيل. يؤدي هذا التخفيض في عدد العمليات إلى تقليل النفقات الزائدة لتشغيل النواة على GPU.
  • معايرة دقيقة: لزيادة تسريع الأداء بشكل أكبر، يدعم TensorRT تكميم النموذج. تقوم هذه العملية بتحويل أوزان النماذج من الفاصلة العائمة القياسية 32 بت (FP32) إلى تنسيقات أقل دقة مثل الدقة المختلطة (FP16) أو الأعداد الصحيحة 8 بت (INT8). هذا يقلل بشكل كبير من استخدام عرض النطاق الترددي للذاكرة مع الحفاظ على دقة عالية دقة عالية.
  • الضبط التلقائي للنواة: تتعامل البنى المختلفة GPU مع العمليات الرياضية بشكل مختلف. يقوم TensorRT تلقائيًا باختيار أفضل طبقات البيانات والخوارزميات من مكتبة واسعة من النواة المحسّنة, مما يضمن تشغيل النموذج على النحو الأمثل على الأجهزة المستهدفة المحددة، مثل NVIDIA Jetson أو مركز بيانات A100.
  • ذاكرة Tensor الديناميكية: تعمل SDK على تحسين تخصيص الذاكرة عن طريق إعادة استخدام الذاكرة للمكثفات (حاويات البيانات ) غير المطلوبة في وقت واحد، مما يقلل بشكل فعال من البصمة الكلية للذاكرة أثناء نشر النموذج.

تطبيقات TensorRT في العالم الحقيقي

نظرًا لقدرته على معالجة كميات هائلة من البيانات بأقل قدر من التأخير، يتم اعتماد TensorRT على نطاق واسع في الصناعات التي تعتمد على الرؤية الحاسوبية ومهام الذكاء الاصطناعي المعقدة.

  1. المركبات ذاتية القيادة: في مجال الذكاء الاصطناعي في السيارات، يجب أن تقوم السيارات ذاتية القيادة معالجة مقاطع الفيديو من كاميرات متعددة detect المشاة والإشارات والعوائق على الفور. باستخدام TensorRT, يمكن لنماذج الإدراك مثل شبكات اكتشاف الأجسام أن تحلل الإطارات في أجزاء من الثانية، مما يسمح لنظام التحكم في السيارة باتخاذ قرارات حرجة تتعلق بالسلامة دون تأخير.
  2. التصنيع الذكي: تستخدم المصانع الحديثة الذكاء الاصطناعي في التصنيع من أجل الفحص البصري الآلي. تلتقط الكاميرات عالية السرعة صورًا للمنتجات على خطوط التجميع، وتحدد النماذج TensorRT العيوب أو الحالات الشاذة في الوقت الفعلي. وهذا يضمن أن مراقبة الجودة تواكب الإنتاج عالي السرعة بيئات الإنتاج عالية السرعة، وغالبًا ما يتم نشرها على أجهزة الذكاء الاصطناعي المتطورة في أرضية المصنع مباشرةً.

استخدام TensorRT مع Ultralytics YOLO11

يُعد دمج TensorRT في سير عملك أمراً سهلاً ومباشراً باستخدام أدوات الذكاء الاصطناعي الحديثة. إن ultralytics الحزمة طريقة سلسة لتحويل معيار PyTorch في محركات TensorRT . يتيح ذلك للمستخدمين الاستفادة من البنية الحديثة ل Ultralytics YOLO11 مع تسريع الأجهزة من NVIDIA وحدات معالجة الرسومات.

يوضح المثال التالي كيفية تصدير نموذج YOLO11 إلى ملف محرك TensorRT (.engine) و استخدامها للاستدلال:

from ultralytics import YOLO

# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TensorRT format (creates 'yolo11n.engine')
# This step optimizes the model for the specific GPU currently in use
model.export(format="engine")

# Load the optimized TensorRT model for high-speed inference
tensorrt_model = YOLO("yolo11n.engine")
results = tensorrt_model("https://ultralytics.com/images/bus.jpg")

TensorRT مقابل تقنيات الاستدلال الأخرى

من المهم التمييز بين TensorRT والأدوات الأخرى في منظومة التعلم الآلي.

  • TensorRT مقابل أطر التدريب: مكتبات مثل PyTorch و TensorFlow مصممة بشكل أساسي من أجل نماذج التدريب، مع إعطاء الأولوية للمرونة وسهولة التصحيح. TensorRT فهي مصممة بشكل صارم للاستدلال فقط، مع إعطاء الأولوية للسرعة والكفاءة على أجهزة محددة.
  • TensorRT مقابل وقت تشغيل ONNX : إن ONNX (تبادل الشبكة العصبية المفتوحة) مصمم للتشغيل البيني عبر منصات مختلفة. بينما ONNX Runtime هو محرك متعدد الاستخدامات يعمل على أجهزة مختلفة، يوفر TensorRT يوفر تحسينات أعمق خاصة بالأجهزة حصريًا لوحدات معالجة الرسومات NVIDIA وغالبًا ما ينتج عنه أداء أعلى من أداءً أعلى من الأداء العام.
  • TensorRT مقابل OpenVINO: على غرار كيفية تحسين TensorRT لأجهزة NVIDIA تم تصميم مجموعة أدوات صُممت مجموعة أدواتOpenVINO لتسريع عملية الاستدلال على معالجات Intel (وحدات المعالجة المركزية ووحدات معالجة الرسومات المدمجة). يعتمد الاختيار بينهما كليًا على النشر الخاص بك الأجهزة.

بالنسبة لعمليات النشر السحابية القابلة للتطوير، يتم تقديم محركات TensorRT بشكل متكرر باستخدام خادم الاستدلالNVIDIA Triton Inference Server، الذي يدير إصدارات النماذج ويتعامل مع الطلبات المتزامنة بكفاءة.

انضم إلى مجتمع Ultralytics

انضم إلى مستقبل الذكاء الاصطناعي. تواصل وتعاون وانمو مع المبتكرين العالميين

انضم الآن