التعلم العميق ومجموعة أدوات OpenVINO. إجابات خبير إنتل


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

الصورة سؤال
ما هي الفوائد التي يقدمها مستخدم OpenVINO ولماذا يجب استخدامه؟

يوري جورباتشوف. الميزة الرئيسية للمنتج هي الأداء والحد الأدنى للحجم وتقريبًا من عدد التبعيات. هذه هي المتطلبات التي نميزها باعتبارها المتطلبات الرئيسية في تطوير المنتجات.

المنتج مثالي لتنفيذ التطبيقات التي تستخدم Deep Learning و Computer Vision لحل المشاكل. على سبيل المثال ، أداء منتجنا عند حوسبة الشبكات على منصات إنتل أعلى عدة مرات مقارنة بالأطر الشائعة. لدينا أيضًا متطلبات أقل بكثير للذاكرة المستخدمة ، وهو أمر مناسب لعدد من التطبيقات. Trite ، في بعض الأنظمة الأساسية ، من المستحيل بدء شبكة باستخدام أطر العمل بسبب نقص الذاكرة.

الصورة سؤال
هل من الممكن تدريب الشبكات باستخدام OpenVINO على منصات إنتل؟ لنفترض أنه أمر مثير للاهتمام ، هل من الممكن التدريب على منصات نيرفانا؟

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

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

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

أداء محرك التعلم العميق هو الأفضل على منصات إنتل. ننشر النتائج بالمقارنة مع الأطر الشعبية ؛ ربما لا فائدة من تكرارها هنا. يمكنني فقط أن أقول أنه حتى إصدارات الأطر التي تستخدم مكتبات Intel تفقد الأداء في منتجنا.
بالإضافة إلى ذلك ، يعد محرك Deep Learning Inference Engine المنتج الوحيد الذي يدعم إطلاق شبكات الأطر الشائعة على جميع أنظمة Intel الأساسية وتشغيل أنظمة التشغيل المختلفة. سأقدم السيناريوهات التالية كأمثلة:
  • تشغيل الشبكات على FPGA ممكن فقط من خلال OpenVINO
  • إطلاق شبكات Caffe / TensorFlow / MXNet على Intel GPU & Movidius.
  • إطلاق كامل على الشبكات على أنظمة Intel الأساسية التي تعمل بنظام التشغيل Windows

بشكل عام ، يعد تشغيل Windows قصة مختلفة. لا تدعم جميع الأطر مثل هذا الإطلاق الجاهز ؛ على سبيل المثال ، تشغيل الكافيين ليس بسيطًا للغاية. يوفر TensorFlow ثنائيات لنظام التشغيل Windows ، ولكن إذا كنت بحاجة إلى إجراء تعديلات وإعادة البناء - فقد تكون هناك مشكلة. في الوقت نفسه ، نرى أن التشغيل على Windows غالبًا ما يكون مطلوبًا.

الصورة سؤال S_o_T
ما هو الشكل المستقبلي للتمثيل المتوسط ​​لبنية الشبكة؟ هل تخطط OpenVINO لدعم NNEF؟

يوري جورباتشوف. حاليا ، ONNX هو المعيار الأكثر شعبية. بل هي نتيجة دعم من Facebook و Microsoft وغيرها من اللاعبين. على وجه الخصوص ، يقبل WinML ONNX للتنفيذ ويوفر أدوات جيدة للعمل مع هذا التنسيق. أنا متشكك في توحيد مثل هذه الأشياء بشكل عام. لسوء الحظ ، تظهر الممارسة أنه بمجرد انتقال المحادثة إلى مستوى لجان التقييس ، حيث يجلس ممثلو مختلف الشركات التي تبيع منتجاتها ، فإن التقدم يعيق بشدة. هناك بالفعل مشكلة أن ONNX ليست كافية للتعبير عن مجموعة من الشبكات الموجودة. على سبيل المثال ، Mask-RCNN ، الذي طوره Facebook نفسه ، غير مدعوم على ONNX. وكذلك شبكات عائلة SSD و Faster-RCNN.

نحن لا نعتبر دعم NNEF - لم تكن هناك طلبات من العملاء ، وبشكل موضوعي ، لا يتم استخدام هذا المعيار كثيرًا. من الناحية العملية ، لقد رأيت هذا المعيار قيد الاستخدام مرة واحدة فقط. بالمناسبة ، تلك الشركة لديها عقد مع مجموعة Khronos.

ما الأدوات الموجودة لتحليل أداء وحدات معالجة الرسومات من Intel مع الاستدلال المتزامن لعدة شبكات؟

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

الصورة سؤال Hanry396
حدد الباحثون "بصمة تنفسية" فريدة لـ 17 مرضًا مختلفًا ، مثل سرطان الكلى أو مرض باركنسون ، وقاموا بتطوير جهاز يعرض عينات التنفس بدقة 86٪ باستخدام مجموعة من أجهزة استشعار مقياس النانو وتحليل النتائج باستخدام طرق الذكاء الاصطناعي. وفيما يتعلق بهذا ، نشأ السؤال: "في رأيك ، إلى أي مدى يمكن أن يتطور الذكاء الاصطناعي في الطب وهل سيكون من الممكن الجمع بين الدماغ البشري والكمبيوتر معه؟

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

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

الصورة سؤال enginerr_7
حاولت دمج openVINO و ROS ، لكنني لم أنجح ، والسؤال هو ، كيف يمكنني دمج OpenVINO في ROS بشكل صحيح؟

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

أوصي بطرح سؤال أكثر تفصيلاً على منتدانا ، وسوف يساعدونك هناك ، ويجيب فريقنا على الأسئلة هناك جنبًا إلى جنب مع فريق دعم المنتج.

في معالجة الصور الطبية الحيوية ، غالبًا ما يتم استخدام بيانات الإدخال الخماسية الأبعاد ، واللفائف ثلاثية الأبعاد ، والعمليات الأخرى. هل هناك أي دعم مخطط / مخطط له؟ هل هناك / هل من المخطط دعم الشبكات العودية أو الشبكات (أو الطبقات المنفصلة) بمجموعات مشتركة من المعلمات؟

يوري جورباتشوف. نعم ، نحن نخطط وننفذ الدعم للالتواءات والتجميع ثلاثي الأبعاد. أعتقد أننا يمكن أن نتوقع إصدار نسخة من المنتج بدعم بحلول نهاية العام. سيكون هناك أيضًا دعم للشبكات المتكررة (LSTM / RNN).

الصورة سؤال
لماذا يتضمن OpenVINO مكتبة OpenCV في شكل ثنائي؟ بعد كل شيء ، يمكن لأي شخص تنزيله وبنائه بنفسك.

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

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

أيضًا ، في حالة تسليم OpenVINO ، تستخدم وحدة OpenCV DNN محرك الاستدلال كمحرك لإطلاق الشبكات. في المتوسط ​​، يعطي هذا تسارعًا مرتين على الأقل مقارنةً بالكود الموجود في OpenCV.

الصورة سؤال
يتضمن OpenVINO نماذج مدربة. ما الفرق بين النماذج المتوفرة على الإنترنت؟ هل يمكنني استخدامها في التطبيقات وهل هناك أي قيود على الاستخدام التجاري؟

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

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

الصورة سؤال
يبدو أن العديد من النماذج تفعل الشيء نفسه ، على سبيل المثال ، كشف الوجه. لماذا يوجد الكثير منهم؟

يوري جورباتشوف. هناك اختلافان:
  • قيمة السرعة / الجودة . يمكن أن تعمل بعض النماذج بشكل أسرع بكثير بسبب فقدان طفيف في الجودة. اعتمادًا على متطلبات التطبيق ، يمكنك اختيار واحد أو آخر.
  • شروط مختلفة لبيان المشكلة . على سبيل المثال ، يمكن أن تؤثر زاوية التصوير للشخص على جودة الكشف ونقدم نموذجين لحالات مختلفة.

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

الصورة سؤال
لماذا لا يتم دعم شبكات التكرار؟ هل من المخطط دعم بدائل وطبولوجيا محددة باستخدام هذه البدائية؟

يوري جورباتشوف. الدعم قيد التنفيذ ؛ إنها مسألة شائعة تتعلق بالوقت والأولويات. أعتقد أنه بحلول نهاية العام يجب أن نطبق هذه الوظيفة وعدد من الابتكارات.

الصورة سؤال
ماذا أفعل إذا حاولت استيراد نموذج وحصلت على أخطاء. هل من الممكن حل هذه المشكلة بنفسك أم من الضروري الذهاب للدعم؟ هل سيدعمونني حتى؟

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

حسنًا ، الفائز في المسابقة هو H_Braiser S_o_T مع سؤال يتعلق بدعم NNEF. مبروك!

Source: https://habr.com/ru/post/ar423641/


All Articles