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

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

الشكل 1. يُمكّن NVIDIA TensorRT النماذج من العمل بشكل مثالي على مختلف أجهزة NVIDIA.
في هذه المقالة، سنستكشف تكامل TensorRT المدعوم من قِبل Ultralytics وسنستعرض كيفية تصدير نموذج YOLO11 الخاص بك نشر أسرع وأكثر كفاءة على عتاد NVIDIA. لنبدأ!
نظرة عامة على TensorRT#
TensorRT عبارة عن مجموعة أدوات طورتها NVIDIA لمساعدة نماذج الذكاء الاصطناعي على العمل بشكل أسرع وأكثر كفاءة على وحدات معالجة الرسومات من NVIDIA. وهي مصممة للتطبيقات الواقعية حيث تعد السرعة والأداء أمراً جوهرياً، مثل السيارات ذاتية القيادة ومراقبة الجودة في التصنيع والصناعات الدوائية.
يتضمن TensorRT أدوات مثل المجمعات (compilers) ومحسنات النماذج التي تعمل في الخلفية لضمان تشغيل نماذجك بزمن انتقال منخفض وقدرة على التعامل مع إنتاجية أعلى.
يعمل تكامل TensorRT المدعوم من قِبل Ultralytics على تحسين نموذج YOLO الخاص بك ليعمل بكفاءة أكبر على وحدات معالجة الرسومات باستخدام طرق مثل تقليل الدقة. يشير هذا إلى استخدام تنسيق ذات بتات أقل، مثل الفاصلة العائمة 16-بت (FP16) أو الأعداد الصحيحة 8-بت (INT8)، لتمثيل بيانات النموذج، مما يقلل من استخدام الذاكرة ويسرع الحسابات بأثير ضئيل على الدقة.
بالإضافة إلى ذلك، يتم دمج طبقات الشبكة العصبية المتوافقة في نماذج TensorRT المحسنة لتقليل استخدام الذاكرة، مما يؤدي إلى استدلال أسرع وأكثر كفاءة.

الشكل 2. نظرة على تقنية دمج الطبقات في TensorRT.
الميزات الرئيسية لتنسيق تصدير TensorRT#
قبل أن نناقش كيف يمكنك تصدير Ultralytics YOLO11 باستخدام تكامل TensorRT، دعنا نلقي نظرة على بعض الميزات الرئيسية لتنسيق نموذج TensorRT:
-
تكامل سهل مع الأطر البرمجية: يدعم TensorRT التكامل المباشر مع أطر الذكاء الاصطناعي الشهيرة مثل PyTorch وHugging Face وONNX، مما يوفر أداءً أسرع بما يصل إلى 6 مرات. كما أنه يدعم MATLAB، مما يتيح تطوير محركات ذكاء اصطناعي عالية السرعة على منصات مثل Jetson وNVIDIA DRIVE ومراكز البيانات.
-
النشر القابل للتوسع مع Triton: يمكن نشر النماذج المُحسّنة بتنسيق TensorRT على نطاق واسع باستخدام NVIDIA Triton Inference Server، مما يعزز الكفاءة من خلال ميزات مثل تجميع المدخلات، وتنفيذ النماذج المتزامنة، ودعم تجميع النماذج، وبث الصوت/الفيديو في الوقت الفعلي.
-
مرونة عبر الأجهزة: من أجهزة الحافة الصغيرة إلى الخوادم القوية، يعمل TensorRT عبر نظام NVIDIA البيئي بأكمله، ويدعم أدوات مثل DeepStream للفيديو، وRiva للذكاء الاصطناعي الصوتي، وغيرها من الأدوات للأمن السيبراني، والتوصيات، والمزيد.
كيف يعمل تكامل TensorRT؟#
يعد تصدير نماذج Ultralytics YOLO مثل Ultralytics YOLO11 إلى تنسيق نموذج TensorRT أمراً سهلاً. دعنا نمر عبر الخطوات المتبعة.
للبدء، يمكنك تثبيت حزمة Python لـ Ultralytics باستخدام مدير حزم مثل ‘pip’. يمكن القيام بذلك عن طريق تشغيل الأمر “pip install ultralytics” في موجه الأوامر أو الطرفية لديك.
بعد تثبيت حزمة Python الخاصة بـ Ultralytics بنجاح، يمكنك تدريب النماذج واختبارها وضبطها وتصديرها ونشرها لمختلف مهام الرؤية الحاسوبية، مثل اكتشاف الكائنات، والتصنيف، والتجزئة المثيلية. أثناء تثبيت الحزمة، إذا واجهت أي صعوبات، يمكنك الرجوع إلى دليل المشكلات الشائعة للحصول على الحلول والنصائح.
للخطوة التالية، ستحتاج إلى جهاز NVIDIA. استخدم مقتطف الشفرة أدناه لتحميل وتصدير YOLO11 إلى تنسيق نموذج TensorRT. يقوم المقتطف بتحميل نسخة nano المدربة مسبقاً من نموذج YOLO11 (yolo11n.pt) وتصديرها كملف محرك TensorRT (yolo11n.engine)، مما يجعله جاهزاً للنشر عبر أجهزة NVIDIA.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="engine")بعد تحويل نموذجك إلى تنسيق TensorRT، يمكنك نشره لتطبيقات متنوعة.
يوضح المثال أدناه كيفية تحميل نموذج YOLO11 المُصدّر (yolo11n.engine) وإجراء الاستدلال باستخدامه. يتضمن الاستدلال استخدام النموذج المدرب لعمل تنبؤات على بيانات جديدة. في هذه الحالة، سنستخدم صورة إدخال لكلب لاختبار النموذج.
tensorrt_model = YOLO("yolo11n.engine")
results = tensorrt_model("https://images.pexels.com/photos/1254140/pexels-photo-1254140.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2.jpg", save=True)عند تشغيل هذه الشفرة، سيتم حفظ صورة المخرجات الناتجة في المجلد runs/detect/predict.

الشكل 3. نتيجة تشغيل الاستدلال باستخدام نموذج Ultralytics YOLO11 المصدر بتنسيق TensorRT.
متى يجب الاستفادة من تكامل TensorRT#
تدعم حزمة Python الخاصة بـ Ultralytics عمليات التكامل المختلفة التي تسمح بتصدير نماذج YOLO إلى تنسيقات مختلفة مثل TorchScript وCoreML وONNX وTensorRT. إذن، متى يجب أن تختار استخدام تكامل TensorRT؟
إليك بعض العوامل التي تميز تنسيق نموذج TensorRT عن خيارات التكامل الأخرى للتصدير:
-
حجم نموذج أصغر: يمكن أن يؤدي تصدير نموذج YOLO إلى تنسيق TensorRT بدقة INT8 إلى تقليل حجم النموذج بشكل كبير. يمكن أن يؤدي التكميم (Quantization) من FP32 إلى INT8 إلى تقليل حجم النموذج بمقدار 4 مرات، مما يتيح أوقات تنزيل أسرع، ومتطلبات تخزين أقل، وبصمة ذاكرة منخفضة أثناء النشر.
-
استهلاك طاقة أقل: لا يؤدي تكميم INT8 إلى تقليل حجم النموذج فحسب، بل يقلل أيضاً من استهلاك الطاقة. يمكن لعمليات الدقة المنخفضة لنماذج YOLO المصدرة بنظام INT8 أن تستهلك طاقة أقل مقارنة بنماذج FP32، وهو أمر مفيد بشكل خاص للأجهزة التي تعمل بالبطارية مثل الطائرات بدون طيار، والهواتف الذكية، أو أجهزة الحافة.
-
أداء أسرع: الجمع بين بنية YOLO الفعالة وتحسين INT8 في TensorRT يمكن أن يحسن سرعات الاستدلال.
تطبيقات Ultralytics YOLO11 وتنسيق نموذج TensorRT#
يمكن نشر نماذج Ultralytics YOLO المصدرة إلى تنسيق TensorRT عبر مجموعة واسعة من السيناريوهات الواقعية. تعد هذه النماذج المحسنة مفيدة بشكل خاص حيث يكون أداء الذكاء الاصطناعي السريع والفعال أمراً أساسياً. دعونا نستكشف بعض الأمثلة المثيرة للاهتمام حول كيفية استخدامها.
أكشاك الدفع الذكية في متاجر التجزئة#
لا تزال مجموعة واسعة من المهام في متاجر التجزئة، مثل مسح الباركود، أو وزن المنتجات، أو تغليف العناصر، تُدار يدوياً من قبل الموظفين. ومع ذلك، فإن الاعتماد الكلي على الموظفين يمكن أن يبطئ العمليات ويؤدي إلى إحباط العملاء، خاصة عند الدفع. الطوابير الطويلة غير مريحة لكل من المتسوقين وأصحاب المتاجر. تعد أكشاك الدفع الذاتي الذكية حلاً رائعاً لهذه المشكلة.
تستخدم هذه العدادات رؤية الكمبيوتر ووحدات معالجة الرسومات (GPUs) لتسريع العملية، مما يساعد في تقليل أوقات الانتظار. تتيح رؤية الكمبيوتر لهذه الأنظمة رؤية وفهم بيئتها من خلال مهام مثل اكتشاف الكائنات. يمكن للنماذج المتقدمة مثل Ultralytics YOLO11، عند تحسينها باستخدام أدوات مثل TensorRT، العمل بشكل أسرع بكثير على أجهزة وحدة معالجة الرسومات.
هذه النماذج المُصدرة مناسبة تماماً لإعدادات التجزئة الذكية التي تستخدم أجهزة مدمجة ولكنها قوية مثل NVIDIA Jetson Nano، المصمم خصيصاً لتطبيقات الذكاء الاصطناعي على الحافة.

الشكل 4. مثال على منضدة دفع ذكية.
اكتشاف العيوب الآلي في التصنيع#
يمكن تدريب نموذج رؤية كمبيوتر مثل Ultralytics YOLO11 مخصصاً لاكتشاف المنتجات المعيبة في صناعة التصنيع. بمجرد التدريب، يمكن تصدير النموذج إلى تنسيق TensorRT للنشر في المرافق المجهزة بأنظمة الذكاء الاصطناعي عالية الأداء.
بينما تتحرك المنتجات على سيور النقل، تلتقط الكاميرات صوراً، ويقوم نموذج Ultralytics YOLO11، الذي يعمل بتنسيق TensorRT، بتحليلها في الوقت الفعلي لرصد العيوب. يتيح هذا الإعداد للشركات اكتشاف المشكلات بسرعة ودقة، مما يقلل الأخطاء ويحسن الكفاءة.
وبالمثل، تستخدم صناعات مثل الأدوية هذه الأنواع من الأنظمة لتحديد العيوب في التغليف الطبي. في الواقع، من المقرر أن ينمو السوق العالمي لـ أنظمة اكتشاف العيوب الذكية ليصل إلى 5 مليارات دولار بحلول عام 2026.

الشكل 5. استخدام YOLO لاكتشاف العيوب في صناعة الأدوية.
اعتبارات يجب وضعها في الاعتبار عند استخدام TensorRT#
على الرغم من أن تكامل TensorRT يوفر العديد من المزايا، مثل سرعات استدلال أسرع وتقليل زمن الانتقال، إلا أن هناك بعض القيود التي يجب وضعها في الاعتبار:
-
انخفاض طفيف في الدقة: عندما تقوم بتصدير نموذجك بتنسيق TensorRT، قد لا يكون نموذجك المُصدّر دقيقاً مثل الأصلي. مقاييس الأداء مثل الدقة (precision)، والاستدعاء (recall)، ومدى جودة اكتشاف النموذج للكائنات (نتائج mAP) قد تنخفض قليلاً. يمكن التخفيف من ذلك باستخدام مجموعة بيانات ممثلة أثناء عملية التكميم.
-
زيادة تعقيد التصحيح (Debugging): يمكن للتحسينات التي يقوم بها TensorRT أن تجعل تتبع الأخطاء أو فهم السلوك غير المتوقع أكثر صعوبة، خاصة عند مقارنة النتائج بالنموذج الأصلي.
-
الحساسية لحجم الدفعة (Batch Size): تكون مكاسب أداء TensorRT أكثر وضوحاً مع أحجام الدفعات الأكبر. بالنسبة للتطبيقات التي تعالج صوراً فردية أو دفعات صغيرة، قد تكون تحسينات الأداء أقل أهمية.
أبرز النقاط#
إن تصدير نماذج Ultralytics YOLO إلى تنسيق TensorRT يجعلها تعمل بشكل أسرع وأكثر كفاءة بشكل ملحوظ، مما يجعلها مثالية للمهام في الوقت الفعلي مثل اكتشاف العيوب في المصانع، أو تشغيل أنظمة الدفع الذكية، أو مراقبة المناطق الحضرية المزدحمة.
يساعد هذا التحسين النماذج على العمل بشكل أفضل على وحدات معالجة الرسومات NVIDIA من خلال تسريع التنبؤات وتقليل استخدام الذاكرة والطاقة. على الرغم من وجود بعض القيود، فإن تعزيز الأداء يجعل من تكامل TensorRT خياراً رائعاً لأي شخص يبني أنظمة رؤية حاسوبية عالية السرعة على عتاد NVIDIA.
هل تريد معرفة المزيد عن الذكاء الاصطناعي؟ استكشف مستودع GitHub الخاص بنا، وتواصل مع مجتمعنا، واطلع على خيارات الترخيص الخاصة بنا لبدء مشروع الرؤية الحاسوبية الخاص بك. اكتشف المزيد حول الابتكارات مثل الذكاء الاصطناعي في التصنيع والرؤية الحاسوبية في صناعة اللوجستيات على صفحات الحلول الخاصة بنا.






