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