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

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

الشكل 1. يتيح NVIDIA TensorRT تشغيل النماذج على النحو الأمثل على أجهزة NVIDIA متنوعة.
في هذه المقالة، سنستكشف تكامل TensorRT الذي تدعمه Ultralytics، وسنوضح كيفية تصدير نموذج YOLO11 لتوفير نشر أسرع وأكثر كفاءة على أجهزة NVIDIA. لنبدأ!
نظرة عامة على TensorRT#
TensorRT مجموعة أدوات طورتها NVIDIA لمساعدة نماذج الذكاء الاصطناعي على العمل بسرعة وكفاءة أكبر على وحدات NVIDIA GPUs. وقد صُممت للتطبيقات الواقعية التي تكون فيها السرعة والأداء أمرين بالغَي الأهمية، مثل السيارات ذاتية القيادة ومراقبة الجودة في قطاعَي التصنيع والصناعات الدوائية.
يتضمن TensorRT أدوات مثل المجمّعات ومحسّنات النماذج التي تعمل في الخلفية لضمان تشغيل النماذج بزمن استجابة منخفض وقدرتها على التعامل مع معدل نقل بيانات أعلى.
يعمل تكامل TensorRT الذي تدعمه Ultralytics على تحسين نموذج YOLO للعمل بكفاءة أكبر على وحدات GPU باستخدام أساليب مثل خفض الدقة. ويشير ذلك إلى استخدام تنسيقات ذات عدد بتات أقل، مثل الفاصلة العائمة ذات 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 أمرًا سهلًا. دعونا نستعرض الخطوات المطلوبة.
للبدء، يمكنك تثبيت حزمة Ultralytics Python باستخدام مدير حزم مثل ‘pip.’ ويمكن تنفيذ ذلك بتشغيل الأمر “pip install ultralytics” في موجه الأوامر أو الطرفية.
بعد تثبيت حزمة Ultralytics Python بنجاح، يمكنك تدريب النماذج واختبارها وضبطها بدقة وتصديرها ونشرها لمهام مختلفة في الرؤية الحاسوبية، مثل اكتشاف الأجسام والتصنيف وتقسيم الكائنات. وإذا واجهت أي صعوبات أثناء تثبيت الحزمة، يمكنك الرجوع إلى دليل المشكلات الشائعة للاطلاع على الحلول والنصائح.
في الخطوة التالية، ستحتاج إلى جهاز 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؟#
تدعم حزمة Ultralytics Python عمليات تكامل متنوعة تتيح تصدير نماذج YOLO إلى تنسيقات مختلفة مثل TorchScript وCoreML وONNX وTensorRT. فمتى ينبغي اختيار تكامل TensorRT؟
فيما يلي بعض العوامل التي تميّز تنسيق نموذج TensorRT عن خيارات التكامل الأخرى للتصدير:
-
حجم نموذج أصغر: يمكن أن يؤدي تصدير نموذج YOLO إلى تنسيق TensorRT بدقة INT8 إلى تقليل حجم النموذج بدرجة كبيرة. وقد يؤدي التكميم من FP32 إلى INT8 إلى تقليل حجم النموذج بمقدار 4 مرات، مما يتيح أوقات تنزيل أسرع، ومتطلبات تخزين أقل، وبصمة ذاكرة أصغر أثناء النشر.
-
استهلاك طاقة أقل: لا يقلل تكميم INT8 حجم النموذج فحسب، بل يخفض أيضًا استهلاك الطاقة. ويمكن أن تستهلك العمليات منخفضة الدقة لنماذج YOLO المُصدَّرة باستخدام INT8 طاقة أقل مقارنةً بنماذج FP32، وهو أمر مفيد بشكل خاص للأجهزة التي تعمل بالبطاريات، مثل الطائرات المسيّرة والهواتف الذكية وأجهزة الحافة.
-
أداء أسرع: يمكن أن يؤدي الجمع بين بنية YOLO الفعالة وتحسين INT8 في TensorRT إلى زيادة سرعات الاستدلال.
تطبيقات Ultralytics YOLO11 وتنسيق نموذج TensorRT#
يمكن نشر نماذج Ultralytics YOLO المُصدَّرة إلى تنسيق TensorRT عبر نطاق واسع من السيناريوهات الواقعية. وتكون هذه النماذج المحسّنة مفيدة بشكل خاص عندما يكون أداء الذكاء الاصطناعي السريع والفعال أمرًا أساسيًا. لنستكشف بعض الأمثلة المثيرة للاهتمام على كيفية استخدامها.
منضدات الدفع الذاتي الذكية في متاجر التجزئة#
لا يزال موظفو متاجر التجزئة يتولون يدويًا مجموعة واسعة من المهام، مثل مسح الرموز الشريطية ووزن المنتجات وتغليفها. لكن الاعتماد على الموظفين وحدهم قد يبطئ العمليات ويسبب إحباط العملاء، لا سيما عند الدفع. فالطوابير الطويلة غير مريحة للمتسوقين وأصحاب المتاجر على حد سواء. وتُعد منضدات الدفع الذاتي الذكية حلًا رائعًا لهذه المشكلة.
تستخدم هذه المنضدات الرؤية الحاسوبية ووحدات GPU لتسريع العملية، مما يساعد على تقليل أوقات الانتظار. وتمكّن الرؤية الحاسوبية هذه الأنظمة من رؤية بيئتها وفهمها من خلال مهام مثل اكتشاف الأجسام. ويمكن للنماذج المتقدمة مثل Ultralytics YOLO11، عند تحسينها باستخدام أدوات مثل TensorRT، أن تعمل بسرعة أكبر بكثير على أجهزة GPU.
تتناسب هذه النماذج المُصدَّرة جيدًا مع أنظمة التجزئة الذكية التي تستخدم أجهزة مدمجة لكنها قوية، مثل NVIDIA Jetson Nano، المصممة خصيصًا لتطبيقات الذكاء الاصطناعي على الحافة.

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

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









