TensorRT
حسِّن نماذج التعلّم العميق باستخدام TensorRT للحصول على استدلال أسرع وأكثر كفاءة على وحدات معالجة الرسومات NVIDIA. حقق أداءً في الوقت الفعلي مع تطبيقات YOLO والذكاء الاصطناعي.
TensorRT هو مُحسِّن للاستدلال عالي الأداء للتعلم العميق ومكتبة وقت التشغيل من NVIDIA. وهو مصمم خصيصًا لزيادة أداء الشبكات العصبية (NN) المدربة إلى أقصى حد على وحدات معالجة الرسومات (GPUs) من NVIDIA. بعد تدريب النموذج باستخدام إطار عمل مثل PyTorch أو TensorFlow، يأخذ TensorRT هذا النموذج ويطبق العديد من التحسينات لإعداده للنشر. والنتيجة هي محرك وقت تشغيل عالي الكفاءة يمكنه تقليل زمن انتقال الاستدلال وتحسين الإنتاجية بشكل كبير، مما يجعله مثاليًا للتطبيقات التي تتطلب استدلالًا في الوقت الفعلي.
كيف يعمل TensorRT
يحقق TensorRT مكاسبه في الأداء من خلال عملية تحسين متعددة الخطوات تحول النموذج المدرب القياسي إلى محرك استدلال مبسط. تتم هذه العملية بشكل آلي إلى حد كبير ومصممة خصيصًا لبنية NVIDIA GPU المحددة التي سيتم نشرها عليها. تشمل تقنيات التحسين الرئيسية ما يلي:
- تحسين الرسم البياني: يقوم TensorRT بتحليل النموذج المدرب وإجراء تحسينات على الرسم البياني، مثل إزالة الطبقات غير المستخدمة ودمج الطبقات عموديًا (الجمع بين الطبقات المتسلسلة) وأفقيًا (الجمع بين الطبقات المتوازية). هذا يقلل من عدد العمليات والنفقات العامة للذاكرة.
- معايرة الدقة: يدعم الاستدلال بدقة أقل، مثل الدقة المختلطة (FP16) و INT8. عن طريق تحويل أوزان النموذج من الفاصلة العائمة 32 بت (FP32) إلى دقة أقل من خلال تكميم النموذج model quantization، يقلل TensorRT بشكل كبير من استخدام الذاكرة والمتطلبات الحسابية مع تأثير ضئيل على الدقة accuracy.
- الضبط التلقائي لنواة المعالج: يختار TensorRT من مكتبة واسعة من نوى GPU المحسّنة لكل عملية أو ينشئ نوى خاصة به مُعدلة خصيصًا لوحدة معالجة الرسومات المستهدفة. وهذا يضمن إجراء كل عملية حسابية بأكبر قدر ممكن من الكفاءة على الجهاز.
- تحسين ذاكرة الموتر: يعمل على تحسين استخدام الذاكرة عن طريق إعادة استخدام الذاكرة للموترات طوال تنفيذ النموذج، مما يقلل من حجم الذاكرة ويحسن الأداء.
يمكن بسهولة تصدير نماذج Ultralytics YOLO إلى تنسيق TensorRT، مما يسمح للمطورين بالاستفادة من هذه التحسينات لتطبيقات الرؤية الحاسوبية (CV) الخاصة بهم.
تطبيقات واقعية
يعد TensorRT أمرًا بالغ الأهمية لنشر الذكاء الاصطناعي عالي الأداء في البيئات الحساسة للوقت والمحدودة الموارد.
- المركبات ذاتية القيادة: في السيارات ذاتية القيادة، يجب على أنظمة الإدراك معالجة البيانات من الكاميرات وأجهزة الاستشعار في الوقت الفعلي لاكتشاف المشاة والمركبات الأخرى والعوائق. يمكن لنماذج مثل Ultralytics YOLO11 المحسّنة باستخدام TensorRT إجراء الكشف عن الأجسام بزمن انتقال منخفض للغاية، وهو أمر بالغ الأهمية لاتخاذ قرارات قيادة آمنة.
- التصنيع الذكي: في أرضية المصنع، يتم استخدام الذكاء الاصطناعي في التصنيع للتحكم الآلي في الجودة. تلتقط الكاميرا صورًا للمنتجات على حزام ناقل، ويقوم نموذج رؤية بتحليلها بحثًا عن العيوب. باستخدام TensorRT، يمكن لهذه الأنظمة مواكبة خطوط الإنتاج عالية السرعة، وتحديد المشكلات على الفور وتحسين الكفاءة الإجمالية.
TensorRT مقابل التقنيات ذات الصلة
في حين أن TensorRT هو محرك استدلال قوي، من المهم فهم كيف يختلف عن الأدوات الأخرى في النظام البيئي للذكاء الاصطناعي:
- أطر عمل التعلم العميق: أطر العمل مثل PyTorch و TensorFlow مخصصة بشكل أساسي لتدريب النماذج. على الرغم من أنها تتمتع بقدرات استدلال خاصة بها، إلا أنها ليست مُحسَّنة للنشر مثل وقت التشغيل المتخصص مثل TensorRT.
- وقت تشغيل ONNX: يوفر تنسيق تبادل الشبكة العصبية المفتوحة (ONNX) طريقة لتمثيل النماذج بشكل قابل للتشغيل المتبادل. يمكن لوقت تشغيل ONNX تنفيذ النماذج على العديد من منصات الأجهزة، بما في ذلك وحدات معالجة الرسومات NVIDIA (حيث يمكنه استخدام TensorRT كموفر تنفيذ). ومع ذلك، غالبًا ما يؤدي التكامل المباشر مع TensorRT إلى أداء أفضل على أجهزة NVIDIA نظرًا لتحسيناته الخاصة بالأجهزة.
- Intel OpenVINO: يشبه OpenVINO TensorRT ولكنه مُحسَّن لأجهزة Intel (وحدات المعالجة المركزية ووحدات معالجة الرسوميات المتكاملة ووحدات معالجة الرؤية). إنه يخدم نفس الغرض المتمثل في تسريع الاستدلال ولكنه مصمم خصيصًا لنظام بيئي مختلف للأجهزة.
تتمثل الميزة الرئيسية لـ TensorRT في تكامله العميق مع نظام NVIDIA البيئي، بدءًا من وحدات معالجة الرسومات (GPUs) وحتى مكتبات CUDA، مما يتيح أداءً لا مثيل له للنماذج المنشورة على منصات NVIDIA، كما هو موضح غالبًا في معايير MLPerf. يمكن زيادة تبسيط إدارة نشر النماذج باستخدام منصات MLOps مثل Ultralytics HUB.