مشاركة عبر


البرنامج التعليمي: حل من طرف إلى طرف باستخدام azure التعلم الآلي وIoT Edge

ينطبق على: أيقونة نعم IoT Edge 1.1

هام

كان تاريخ انتهاء دعم IoT Edge 1.1 هو 13 ديسمبر 2022. تحقق من دورة حياة المنتج من Microsoft للحصول على معلومات حول كيفية دعم هذا المنتج أو الخدمة أو التقنية أو API. لمزيد من المعلومات حول التحديث إلى أحدث إصدار من IoT Edge، راجع تحديث IoT Edge.

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

إشعار

المفاهيم في هذه المجموعة من الدروس تنطبق على جميع إصدارات IoT Edge، ولكن عينة الجهاز الذي تقوم بإنشائه لتجربة السيناريو يعمل IoT Edge الإصدار 1.1.

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

يناقش هذا القسم من البرنامج التعليمي:

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

إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.

المتطلبات الأساسية

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

تحتاج أيضًا إلى جهاز مثبت عليه PowerShell حيث يمكنك تشغيل البرامج النصية لإعداد Azure الجهاز الظاهري كجهاز التطوير الخاص بك.

في هذه الوثيقة، نستخدم مجموعة الأدوات التالية:

  • مركز Azure IoT لالتقاط البيانات

  • أجهزة الكمبيوتر المحمولة Azure كواجهة أمامية رئيسية لإعداد البيانات وتجريب التعلم الآلي. يعد تشغيل تعليمة Python البرمجية في دفتر ملاحظات على مجموعة فرعية من بيانات العينة طريقة رائعة للحصول على تحول متكرر وتفاعلي سريع أثناء إعداد البيانات. يمكن أيضًا استخدام جهاز كمبيوتر محمول Jupyter لإعداد البرامج النصية للتشغيل على نطاق واسع في الخلفية الحاسوبية.

  • التعلم الآلي Azure كخلفية للتعلم الآلي على نطاق ولإنشاء صور التعلم الآلي. نحن نقود الخلفية azure التعلم الآلي باستخدام البرامج النصية المعدة والمختبرة في أجهزة Jupyter.

  • Azure IoT Edge لتطبيق off-cloud لصورة التعلم الآلي

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

الجمهور والأدوار المستهدفة

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

بدلا من ذلك، يمكنك أن تتعاون مع زملاء العمل من أدوار مختلفة لمتابعة البرنامج التعليمي معا، وبذلك تجعل خبرتك الكاملة لتحمل، وتعلم كفريق كيف تتلاءم الأمور معا.

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

  • تطوير السحابة (بما في ذلك مطور سحابة يعمل بقدرة DevOps)
  • تحليلات البيانات

حالة الاستخدام: الصيانة التنبؤية

واستندنا في هذا السيناريو إلى حالة استخدام عرضت في مؤتمر التكهنات والإدارة الصحية (PHM08) في عام 2008. الهدف هو التنبؤ بعمر الاستخدام المتبقي (RUL) لمجموعة محركات مروحية للطائرات. تم إنشاء هذه البيانات باستخدام برنامج C-MAPSS، وهو الإصدار التجاري لبرنامج MAPSS (محاكاة النظام Aero-Propulsion المعياري). يوفر هذا البرنامج بيئة محاكاة مرنة لمحرك الطائرات المروحي لمحاكاة معايير الصحة والتحكم والمحرك بشكل ملائم.

يتم أخذ البيانات المستخدمة في هذا البرنامج التعليمي منمجموعة بيانات محاكاة تراجع محرك الطائرات المروحي.

من الملف التمهيدي:

سيناريو تجريبي

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

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

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

نموذج التنبؤ بأعطال محركات الطائرات من قبل المستخدم GitHub jancervenka.

تراجع المحرك المروحي للطائراتبواسطة المستخدم GitHub hankroark.

معالجة

توضح الصورة أدناه الخطوات التقريبية التي نتبعها في هذا البرنامج التعليمي:

مخطط هندسي لخطوات العملية

  1. جمع بيانات التدريب: تبدأ العملية بجمع بيانات التدريب. وفي بعض الحالات، تم بالفعل جمع البيانات وهي متاحة في قاعدة بيانات، أو في شكل ملفات بيانات. وفي حالات أخرى، وخاصة بالنسبة لسيناريوهات IoT، يجب جمع البيانات من أجهزة وأجهزة استشعار IoT وتخزينها في السحابة.

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

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

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

  3. بناء نموذج تعلم آلي. استنادا إلى البيانات المعدة، يمكننا الآن تجربة خوارزميات التعلم الآلي المختلفة والنماذج لتدريب النماذج ومقارنة النتائج مع بعضها البعض.

    في هذه الحالة، للاختبار نقارن النتيجة المتوقعة التي يحسبها النموذج مع النتيجة الحقيقية التي لوحظت على مجموعة من المحركات. في التعلم الآلي azure، يمكننا إدارة التكرارات المختلفة للنماذج التي ننشئها في سجل النماذج.

  4. نشر النموذج. بمجرد أن يكون لدينا نموذج يلبي معايير نجاحنا، يمكننا الانتقال إلى النشر. يتضمن ذلك تغطية النموذج في تطبيق خدمة ويب يمكن تغذيته بالبيانات باستخدام مكالمات REST ونتائج تحليل الإرجاع. ثم يتم حزم تعبئة خدمة الويب في حاوية docker، والتي بدورها يمكن نشرها إما في السحابة أو كوحدة IoT Edge. في هذا المثال، نركز على النشر إلى IoT Edge.

  5. صيانة النموذج وتحسينه. عملنا لا يتم بمجرد نشر النموذج. في كثير من الحالات، نريد مواصلة جمع البيانات وتحميل تلك البيانات بشكل دوري إلى السحابة. يمكننا بعد ذلك استخدام هذه البيانات لإعادة تدريب وصقل نموذجنا، والذي يمكننا بعد ذلك إعادة توزيعه على IoT Edge.

تنظيف الموارد

يمثل هذا البرنامج التعليمي جزءًا من مجموعة حيث تعتمد كل مقالة على العمل المنجز في المقالات السابقة. يرجى الانتظار، إذ يتم تنظيف أي موارد، وبعدها يمكنك إكمال البرنامج التعليمي النهائي.

الخطوات التالية

وينقسم هذا البرنامج التعليمي إلى الأقسام التالية:

  1. إعداد جهاز التطوير وخدمات Azure.
  2. إنشاء بيانات التدريب لوحدة التعلم الآلي.
  3. تدريب ونشر وحدة التعلم الآلي.
  4. تكوين جهاز IoT Edge ليكون بمثابة بوابة شفافة.
  5. إنشاء ونشر وحدات IoT Edge.
  6. إرسال البيانات إلى جهازك IoT Edge.

الاستمرار إلى المقالة التالية لإعداد جهاز تطوير وتوفير موارد Azure.