مسرد المصطلحات

TensorRT

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

تدريب YOLO النماذج
ببساطة مع Ultralytics HUB

التعرف على المزيد

TensorRT عبارة عن مجموعة أدوات تطوير برمجيات (SDK) لاستدلال التعلم العميق عالي الأداء. تم تطويرها من قبل NVIDIA ، وهي تسهل تحسين الشبكات العصبية المدربة لنشرها في بيئات الإنتاج، خاصة على وحدات معالجة الرسومات NVIDIA . وهي مصممة لأخذ النماذج المدربة من أطر عمل مثل PyTorch أو TensorFlow وتحسينها من أجل استدلال أسرع وأكثر كفاءة، وهو أمر بالغ الأهمية للتطبيقات في الوقت الفعلي.

ما هو TensorRT ؟

TensorRT هو في الأساس مُحسِّن استدلال ومحرك وقت تشغيل. فهو يأخذ نموذج تعلّم عميق مدرّب ويطبق العديد من التحسينات لتحسين أدائه أثناء مرحلة الاستدلال. وتتضمن هذه العملية تقنيات مثل تحسين الرسم البياني ودمج الطبقات والتكميم والضبط التلقائي للنواة. من خلال تحسين النموذج، يقلل TensorRT من زمن الاستجابة ويزيد من الإنتاجية، مما يجعل من الممكن نشر نماذج الذكاء الاصطناعي المعقدة في التطبيقات التي تتطلب أوقات استجابة سريعة.

TensorRT ليس إطار عمل تدريبي؛ بل يُستخدم بعد تدريب النموذج باستخدام أطر عمل مثل PyTorch أو TensorFlow. وهو يركز بشكل خاص على مرحلة النشر، مما يضمن تشغيل النماذج بأسرع ما يمكن وبكفاءة على الأجهزة المستهدفة، وبشكل أساسي NVIDIA GPUs. يعد هذا الأمر ذا قيمة خاصة للتطبيقات التي تعمل على الأجهزة المتطورة أو في مراكز البيانات حيث تكون سرعة الاستدلال واستخدام الموارد أمرًا بالغ الأهمية.

كيف يعمل TensorRT

تتضمن عملية التحسين في TensorRT عدة خطوات رئيسية لتحسين أداء الاستدلال:

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

تؤدي هذه التحسينات مجتمعةً إلى تحسينات كبيرة في سرعة الاستدلال وكفاءته مقارنةً بتشغيل النموذج الأصلي غير المحسّن.

تطبيقات TensorRT

TensorRT على نطاق واسع في تطبيقات مختلفة حيث يكون الاستدلال في الوقت الحقيقي أو شبه الحقيقي ضروريًا. ومن الأمثلة الملموسة على ذلك:

  • المركبات ذاتية القيادة: في السيارات ذاتية القيادة، يعد الاكتشاف السريع للأجسام وفهم المشهد أمرًا بالغ الأهمية للسلامة والاستجابة. Ultralytics YOLO يمكن للنماذج، عند تحسينها باستخدام TensorRT ، تحقيق سرعات الاستدلال اللازمة على منصات NVIDIA DRIVE لمعالجة بيانات المستشعرات في الوقت الفعلي، مما يتيح اتخاذ قرارات سريعة للملاحة وتجنب العقبات.
  • تحليلات الفيديو في الوقت الحقيقي: بالنسبة لتطبيقات مثل المراقبة الأمنية أو مراقبة حركة المرور، يتيح TensorRT معالجة تدفقات الفيديو عالية الدقة لاكتشاف الأجسام وتتبعها وتحليلها بأقل زمن انتقال. يتيح ذلك إصدار تنبيهات وإجراءات فورية بناءً على الأحداث المكتشفة، مثل الكشف عن التسلل في أنظمة الإنذار الأمني أو تحليل تدفق حركة المرور للمدن الذكية.

TensorRT مفيدًا أيضًا في مجالات أخرى مثل تحليل الصور الطبية والروبوتات وخدمات الاستدلال المستندة إلى السحابة، حيثما كان زمن الاستجابة المنخفض والإنتاجية العالية أمرًا بالغ الأهمية.

TensorRT و Ultralytics YOLO

Ultralytics YOLO يمكن تصدير النماذج وتحسينها باستخدام TensorRT للنشر على أجهزة NVIDIA . توفر وثائق التصدير الخاصة بـ Ultralytics YOLO تعليمات مفصلة حول كيفية تحويل نماذج YOLO إلى تنسيق TensorRT . يتيح ذلك للمستخدمين الاستفادة من إمكانيات التحسين TensorRT لتسريع سرعة الاستدلال لنماذجهم YOLO بشكل كبير.

بالنسبة للمستخدمين الذين ينشرون YOLOv8 على أجهزة NVIDIA Jetson Edge، غالبًا ما يكون التحسين TensorRT خطوة حاسمة لتحقيق الأداء في الوقت الفعلي. علاوة على ذلك، يستفيد DeepStream على NVIDIA Jetson من TensorRT لتطبيقات تحليلات الفيديو عالية الأداء.

فوائد استخدام TensorRT

يوفر استخدام TensorRT العديد من المزايا الرئيسية لنشر نماذج التعلم العميق:

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

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

قراءة الكل