انتقل إلى المحتوى

تحسين OpenVINO الاستدلال على Ultralytics YOLO النماذج: دليل شامل

OpenVINO نظام بيئي

مقدمة

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

التحسين من أجل زمن الانتقال

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

الاستراتيجيات الرئيسية لتحسين زمن الوصول:

  • استدلال واحد لكل جهاز: إن أبسط طريقة لتحقيق زمن انتقال منخفض هي الحد من استدلال واحد في كل مرة لكل جهاز. غالبا ما يؤدي التزامن الإضافي إلى زيادة زمن الوصول.
  • الاستفادة من الأجهزة الفرعية: يمكن للأجهزة مثل وحدات المعالجة المركزية متعددة المقابس أو وحدات معالجة الرسومات متعددة البلاط تنفيذ طلبات متعددة بأقل زيادة في زمن الوصول من خلال استخدام أجهزتها الفرعية الداخلية.
  • OpenVINO تلميحات الأداء: استخدام OpenVINO's ov::hint::PerformanceMode::LATENCY ل ov::hint::performance_mode تعمل الخاصية أثناء تجميع النموذج على تبسيط ضبط الأداء ، مما يوفر نهجا حياديا للجهاز ومقاوما للمستقبل.

إدارة زمن انتقال الاستدلال الأول:

  • نموذج التخزين المؤقت: للتخفيف من حمل النموذج وتجميع الأوقات التي تؤثر على زمن الوصول، استخدم التخزين المؤقت للنموذج حيثما أمكن ذلك. بالنسبة للسيناريوهات التي لا يكون فيها التخزين المؤقت قابلا للتطبيق ، توفر وحدات المعالجة المركزية بشكل عام أسرع أوقات تحميل للنموذج.
  • رسم خرائط النموذج مقابل القراءة: لتقليل أوقات التحميل ، OpenVINO استبدال قراءة النموذج برسم الخرائط. ومع ذلك ، إذا كان النموذج موجودا على محرك أقراص قابل للإزالة أو محرك أقراص شبكة ، ففكر في استخدام ov::enable_mmap(false) للعودة إلى القراءة.
  • اختيار الجهاز التلقائي: يبدأ هذا الوضع الاستدلال على وحدة المعالجة المركزية ، ويتحول إلى مسرع بمجرد أن يصبح جاهزا ، مما يقلل بسلاسة من زمن انتقال الاستدلال الأول.

تحسين الإنتاجية

يعد تحسين الإنتاجية أمرا بالغ الأهمية للسيناريوهات التي تخدم العديد من طلبات الاستدلال في وقت واحد، مما يزيد من استخدام الموارد دون التضحية بشكل كبير بأداء الطلب الفردي.

طرق تحسين الإنتاجية:

  1. OpenVINO تلميحات الأداء: طريقة عالية المستوى ومواكبة للمستقبل لتحسين الإنتاجية عبر الأجهزة باستخدام تلميحات الأداء.
import openvino.properties as props
import openvino.properties.hint as hints

config = {hints.performance_mode: hints.PerformanceMode.THROUGHPUT}
compiled_model = core.compile_model(model, "GPU", config)
  1. التجميع الصريح والتدفقات: نهج أكثر دقة يتضمن التجميع الصريح واستخدام التدفقات لضبط الأداء المتقدم.

تصميم التطبيقات الموجهة نحو الإنتاجية:

لزيادة الإنتاجية إلى أقصى حد ، يجب أن تكون التطبيقات:

  • معالجة المدخلات بالتوازي ، والاستفادة الكاملة من قدرات الجهاز.
  • تحليل تدفق البيانات إلى طلبات الاستدلال المتزامنة ، المجدولة للتنفيذ المتوازي.
  • استخدم واجهة برمجة تطبيقات Async مع عمليات الاسترجاعات للحفاظ على الكفاءة وتجنب تجويع الجهاز.

تنفيذ متعدد الأجهزة:

OpenVINOيعمل الوضع متعدد الأجهزة على تبسيط معدل نقل التحجيم عن طريق موازنة طلبات الاستدلال تلقائيا عبر الأجهزة دون الحاجة إلى إدارة الأجهزة على مستوى التطبيق.

استنتاج

تحسين Ultralytics YOLO نماذج لزمن الوصول والإنتاجية مع OpenVINO يمكن أن يعزز أداء التطبيق الخاص بك بشكل كبير. من خلال تطبيق الاستراتيجيات الموضحة في هذا الدليل بعناية، يمكن للمطورين ضمان تشغيل نماذجهم بكفاءة، وتلبية متطلبات سيناريوهات النشر المختلفة. تذكر أن الاختيار بين تحسين زمن الانتقال أو الإنتاجية يعتمد على احتياجات التطبيق المحددة وخصائص بيئة النشر.

للحصول على معلومات فنية أكثر تفصيلا وآخر التحديثات، يرجى الرجوع إلى OpenVINO الوثائق و Ultralytics YOLO مستودع. توفر هذه الموارد أدلة متعمقة وبرامج تعليمية ودعما مجتمعيا لمساعدتك في تحقيق أقصى استفادة من نماذج التعلم العميق الخاصة بك.


إن ضمان تحقيق نماذجك للأداء الأمثل لا يتعلق فقط بتعديل التكوينات. يتعلق الأمر بفهم احتياجات التطبيق الخاص بك واتخاذ قرارات مستنيرة. سواء كنت تقوم بالتحسين للاستجابات في الوقت الفعلي أو زيادة الإنتاجية إلى أقصى حد للمعالجة واسعة النطاق ، فإن الجمع بين Ultralytics YOLO النماذج و OpenVINO يقدم مجموعة أدوات قوية للمطورين لنشر حلول الذكاء الاصطناعي عالية الأداء.



تم إنشاؤه في 2024-03-17, اخر تحديث 2024-03-17
المؤلفون: جلين جوشر (1)

التعليقات