MLOps على حافة الهاوية مع Amazon SageMaker Edge Manager و AWS IoT Greengrass PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

MLOps على حافة الهاوية مع Amazon SageMaker Edge Manager و AWS IoT Greengrass

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

كما يمكنك أن تتخيل ، فإن تنفيذ جميع الخطوات المقترحة بواسطة مفهوم ML @ Edge ليس بالأمر السهل. هناك العديد من الأسئلة التي يحتاج المطورون إلى معالجتها من أجل تنفيذ حل ML @ Edge الكامل ، على سبيل المثال:

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

في هذا المنشور ، ستتعلم كيفية الإجابة على كل هذه الأسئلة وبناء حل شامل لأتمتة خط أنابيب ML @ Edge. سترى كيفية استخدام ملفات مدير حافة أمازون SageMaker, أمازون ساجميكر ستوديوو AWS IoT Greengrass v2 لإنشاء بيئة MLOps (ML Operations) التي تعمل على أتمتة عملية بناء ونشر نماذج ML على أساطيل كبيرة من الأجهزة المتطورة.

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

حل نظرة عامة

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

يتكون هذا الحل من الحسابات التالية:

  • حساب بحيرة البيانات - يقوم مهندسو البيانات باستيعاب وتخزين وإعداد البيانات من مصادر بيانات متعددة ، بما في ذلك قواعد البيانات المحلية وأجهزة إنترنت الأشياء.
  • حساب الأدوات - يدير مشغلو تكنولوجيا المعلومات خطوط أنابيب CI / CD والتحقق منها للتسليم المستمر التلقائي ونشر حزم نماذج ML عبر حسابات ما قبل الإنتاج والإنتاج للأجهزة الطرفية البعيدة. تتم أتمتة عمليات تشغيل خطوط أنابيب CI / CD من خلال استخدام أمازون إيفينت بريدج، الذي يراقب أحداث حالة التغيير لنماذج التعلم الآلي والأهداف خط أنابيب AWS.
  • حساب التجريب والتطوير - يمكن لعلماء البيانات إجراء البحث والتجربة باستخدام تقنيات وخوارزميات النمذجة المتعددة لحل مشاكل الأعمال القائمة على ML ، وإنشاء دليل على حلول المفاهيم. يتعاون مهندسو ML وعلماء البيانات لتوسيع نطاق إثبات المفهوم ، وإنشاء تدفقات عمل آلية باستخدام خطوط أنابيب Amazon SageMaker لإعداد البيانات وبناء نماذج ML وتدريبها وحزمها. يتم نشر خطوط الأنابيب عبر خطوط أنابيب CI / CD ، بينما يتم التحكم في إصدار النماذج باستخدام سجل نموذج Amazon SageMaker. يقوم علماء البيانات بتقييم مقاييس إصدارات النماذج المتعددة ويطلبون الترويج لأفضل نموذج للإنتاج عن طريق تشغيل خط أنابيب CI / CD.
  • حساب ما قبل الإنتاج - قبل ترقية النموذج إلى بيئة الإنتاج ، يجب اختبار النموذج لضمان المتانة في بيئة المحاكاة. لذلك ، فإن بيئة ما قبل الإنتاج هي محاكاة لبيئة الإنتاج ، حيث يتم نشر واختبار نقاط نهاية نموذج SageMaker تلقائيًا. قد تتضمن طرق الاختبار اختبار تكامل أو اختبار إجهاد أو اختبارات خاصة بـ ML على نتائج الاستدلال. في هذه الحالة ، فإن بيئة الإنتاج ليست نقطة نهاية لنموذج SageMaker ولكنها جهاز حافة. لمحاكاة جهاز الحافة في مرحلة ما قبل الإنتاج ، هناك طريقتان ممكنتان: استخدام الأمازون الحوسبة المرنة السحابية مثيل (Amazon EC2) بنفس خصائص الأجهزة ، أو استخدم اختبارًا في المختبر يتكون من الأجهزة الفعلية. باستخدام هذه البنية التحتية ، ينشر خط أنابيب CI / CD النموذج إلى جهاز المحاكاة المقابل ويجري الاختبارات المتعددة تلقائيًا. بعد إجراء الاختبارات بنجاح ، يتطلب خط أنابيب CI / CD موافقة يدوية (على سبيل المثال ، من أصحاب المصلحة في إنترنت الأشياء للترويج للنموذج إلى الإنتاج).
  • حساب الإنتاج - في حالة استضافة النموذج على سحابة AWS ، ينشر خط أنابيب CI / CD نقطة نهاية نموذج SageMaker على حساب الإنتاج. في هذه الحالة ، تتكون بيئة الإنتاج من أساطيل متعددة من الأجهزة المتطورة. لذلك ، يستخدم خط أنابيب CI / CD إدارة Edge لنشر النماذج على أسطول الأجهزة المقابل.
  • أجهزة الحافة - أجهزة الحافة البعيدة هي أجهزة يمكنها تشغيل نماذج ML باستخدام Edge Manager. يسمح للتطبيق الموجود على تلك الأجهزة بإدارة النماذج وتشغيل الاستدلال مقابل النماذج والتقاط البيانات بأمان خدمة تخزين أمازون البسيطة (أمازون S3).

مشاريع SageMaker تساعدك على أتمتة عملية توفير الموارد داخل كل حساب من هذه الحسابات. لا نتعمق في هذه الميزة ، ولكن لمعرفة المزيد حول كيفية إنشاء قالب مشروع SageMaker الذي ينشر نماذج ML عبر الحسابات ، تحقق من نشر نموذج متعدد الحسابات مع Amazon SageMaker Pipelines.

حساب ما قبل الإنتاج: توأم رقمي

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

الخدمات المعنية هي كما يلي:

  • AWS إنترنت الأشياء الأساسية - نحن نستخدم AWS إنترنت الأشياء الأساسية لإنشاء كائنات شيء AWS IoT ، وإنشاء مجموعة أجهزة ، وتسجيل أسطول الأجهزة حتى يتمكن من التفاعل مع السحابة ، وإنشاء شهادات X.509 لمصادقة الأجهزة الطرفية إلى AWS IoT Core ، وربط الاسم المستعار للدور بـ AWS IoT Core الذي تم إنشاؤه عندما أنشأ الأسطول ، واحصل على نقطة نهاية خاصة بحساب AWS لموفر بيانات الاعتماد ، واحصل على ملف Amazon Root CA رسميًا ، وقم بتحميل ملف Amazon CA إلى Amazon S3.
  • أمازون ساجيماكر نيو - ساجيماكر الجدد يعمل تلقائيًا على تحسين نماذج التعلم الآلي للاستدلال للعمل بشكل أسرع مع عدم فقدان الدقة. وهو يدعم نموذج التعلم الآلي الذي تم إنشاؤه بالفعل باستخدام DarkNet أو Keras أو MXNet أو PyTorch أو TensorFlow أو TensorFlow-Lite أو ONNX أو XGBoost وتم تدريبه في Amazon SageMaker أو في أي مكان آخر. ثم تختار النظام الأساسي للأجهزة المستهدفة ، والذي يمكن أن يكون مثالًا لاستضافة SageMaker أو جهازًا متطورًا يعتمد على معالجات من Ambarella أو Apple أو ARM أو Intel أو MediaTek أو Nvidia أو NXP أو Qualcomm أو RockChip أو Texas Instruments أو Xilinx.
  • مدير الحافة - نستخدم Edge Manager لتسجيل وإدارة جهاز الحافة داخل أساطيل Sagemaker. الأساطيل عبارة عن مجموعات من الأجهزة المجمعة منطقيًا والتي يمكنك استخدامها لجمع البيانات وتحليلها. بالإضافة إلى ذلك ، يقوم برنامج Edge Manager بحزم النموذج المحسن وإنشاء مكون AWS IoT Greengrass V2 الذي يمكن نشره مباشرة. يمكنك استخدام Edge Manager لتشغيل نماذج ML على أسطول من الكاميرات الذكية ومكبرات الصوت الذكية والروبوتات وأساطيل أجهزة SageMaker الأخرى.
  • AWS IoT Greengrass V2 - AWS تقنيات عمليات Greengrass يسمح لك بنشر المكونات في الأجهزة التي تمت محاكاتها باستخدام مثيل EC2. باستخدام وكيل AWS IoT Greengrass V2 في مثيلات EC2 ، يمكننا تبسيط الوصول والإدارة والنشر لوكيل Edge Manager والنموذج على الأجهزة. بدون AWS IoT Greengrass V2 ، يتطلب إعداد الأجهزة والأساطيل لاستخدام Edge Manager أن تنسخ الوكيل يدويًا من حاوية إصدار S3. مع تكامل AWS IoT Greengrass V2 و Edge Manager ، من الممكن استخدام مكونات AWS IoT Greengrass V2. المكونات عبارة عن وحدات برمجية مسبقة الصنع يمكنها توصيل الأجهزة المتطورة بخدمات AWS أو خدمة الجهات الخارجية عبر AWS IoT Greengrass.
  • وكيل مدير الحافة - يتم نشر وكيل Edge Manager عبر AWS IoT Greengrass V2 في مثيل EC2. يمكن للوكيل تحميل نماذج متعددة في وقت واحد والاستدلال بنماذج محملة على الأجهزة الطرفية. يتم تحديد عدد الطرز التي يمكن للوكيل تحميلها من خلال الذاكرة المتوفرة على الجهاز.
  • الأمازون S3 - نستخدم حاوية S3 لتخزين بيانات الاستدلال التي تم التقاطها من وكيل Edge Manager.

يمكننا تعريف حساب ما قبل الإنتاج باعتباره توأمًا رقميًا لاختبار نماذج ML قبل نقلها إلى أجهزة حافة حقيقية. يقدم هذا الفوائد التالية:

  • خفة الحركة والمرونة - يحتاج علماء البيانات ومهندسو ML إلى التحقق بسرعة من صحة نموذج ML والنصوص المرتبطة به (نصوص المعالجة المسبقة والاستدلال) على حافة الجهاز. ومع ذلك ، قد تكون أقسام إنترنت الأشياء وعلوم البيانات في المؤسسات الكبيرة كيانات مختلفة. من خلال تكرار مكدس التكنولوجيا بشكل متماثل في السحابة ، يمكن لعلماء البيانات ومهندسي ML تكرار القطع الأثرية ودمجها قبل النشر.
  • تقييم المخاطر المعجل ووقت الإنتاج - يعد النشر على جهاز الحافة المرحلة الأخيرة من العملية. بعد التحقق من صحة كل شيء في بيئة منعزلة ومستقلة ، قم بتأمينها لتكون ملتزمة بالمواصفات التي تتطلبها الحافة من حيث الجودة والأداء والتكامل. يساعد هذا في تجنب المزيد من المشاركة من جانب أشخاص آخرين في قسم إنترنت الأشياء لإصلاح الإصدارات المصطنعة وتكرارها.
  • تحسين تعاون الفريق وتحسين الجودة والأداء - يمكن لفريق التطوير تقييم تأثير نموذج ML على الفور من خلال تحليل مقاييس الأجهزة المتطورة وقياس مستوى التفاعلات مع أدوات الطرف الثالث (على سبيل المثال ، معدل الإدخال / الإخراج). بعد ذلك ، يكون فريق إنترنت الأشياء مسؤولاً فقط عن النشر في بيئة الإنتاج ، ويمكن أن يكون واثقًا من دقة القطع الأثرية لبيئة الإنتاج.
  • ملعب متكامل للاختبار - نظرًا لهدف نماذج ML ، يجب تمثيل بيئة ما قبل الإنتاج في سير العمل التقليدي بجهاز حافة خارج بيئة السحابة. هذا يقدم مستوى آخر من التعقيد. هناك حاجة إلى عمليات تكامل لجمع المقاييس والتعليقات. بدلاً من ذلك ، باستخدام بيئة المحاكاة الرقمية المزدوجة ، يتم تقليل التفاعلات وتقليل الوقت اللازم للتسويق.

حساب الإنتاج وبيئة الحافة

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

تنتمي أساطيل الأجهزة الطرفية إلى حساب إنتاج AWS. يحتوي هذا الحساب على تكوينات أمان وشبكات محددة للسماح بالاتصال بين السحابة والأجهزة الطرفية. خدمات AWS الرئيسية المنتشرة في حساب الإنتاج هي Edge Manager ، وهي المسؤولة عن إدارة جميع أساطيل الأجهزة ، وجمع البيانات ، وتشغيل نماذج ML ، و AWS IoT Core ، التي تدير كائنات IoT ، والشهادات ، والاسم المستعار للدور ، ونقاط النهاية.

في الوقت نفسه ، نحتاج إلى تكوين جهاز حافة بالخدمات والمكونات لإدارة نماذج ML. المكونات الرئيسية هي كما يلي:

  • AWS IoT Greengrass V2
  • وكيل Edge Manager
  • شهادات AWS IoT
  • Application.py ، وهو المسؤول عن تنظيم عملية الاستدلال (استرداد المعلومات من مصدر بيانات الحافة وتنفيذ الاستدلال باستخدام وكيل Edge Manager ونموذج ML المحمل)
  • اتصال بـ Amazon S3 أو حساب بحيرة البيانات لتخزين البيانات المستنبطة

خط أنابيب ML الآلي

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

خط أنابيب (تم إنشاؤه باستخدام خطوط أنابيب بناء نموذج Amazon SageMaker) عبارة عن سلسلة من الخطوات المترابطة التي يتم تحديدها بواسطة تعريف خط أنابيب JSON. يشفر تعريف خط الأنابيب هذا خط أنابيب باستخدام رسم بياني دوري موجه (DAG). يوفر DAG هذا معلومات عن المتطلبات والعلاقات بين كل خطوة من خط الأنابيب الخاص بك. يتم تحديد هيكل DAG لخط الأنابيب من خلال تبعيات البيانات بين الخطوات. يتم إنشاء تبعيات البيانات هذه عندما يتم تمرير خصائص مخرجات الخطوة كمدخل إلى خطوة أخرى.

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

MLOps على حافة الهاوية مع Amazon SageMaker Edge Manager و AWS IoT Greengrass PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

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

الخطوات لتحديد خط أنابيب ML لتمكين التدريب المستمر وإصدار نماذج ML هي كما يلي:

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

يمكنك الاطلاع على مزيد من التفاصيل حول كيفية إنشاء خط أنابيب SageMaker في ما يلي مفكرة.

تشغيل خطوط أنابيب CI / CD باستخدام EventBridge

عند الانتهاء من بناء النموذج ، يمكنك بدء عملية النشر. تسجل الخطوة الأخيرة من خط أنابيب SageMaker المحدد في القسم السابق إصدارًا جديدًا من النموذج في مجموعة تسجيل نموذج SageMaker المحددة. تتم إدارة نشر إصدار جديد من نموذج ML باستخدام حالة سجل النموذج. من خلال الموافقة يدويًا على إصدار نموذج ML أو رفضه ، تثير هذه الخطوة حدثًا تم التقاطه بواسطة EventBridge. يمكن لهذا الحدث بعد ذلك بدء مسار جديد (CI / CD هذه المرة) لإنشاء إصدار جديد من مكون AWS IoT Greengrass الذي يتم نشره بعد ذلك في حسابات ما قبل الإنتاج والإنتاج. تُظهر لقطة الشاشة التالية قاعدة EventBridge المحددة الخاصة بنا.

MLOps على حافة الهاوية مع Amazon SageMaker Edge Manager و AWS IoT Greengrass PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

تراقب هذه القاعدة مجموعة حزم نموذج SageMaker من خلال البحث عن تحديثات حزم النماذج في الحالة Approved or Rejected.

يتم بعد ذلك تكوين قاعدة EventBridge لاستهداف CodePipeline ، والذي يبدأ سير العمل لإنشاء مكون AWS IoT Greengrass جديد باستخدام أمازون سيجماكر نيو ومدير الحافة.

تحسين نماذج ML للبنية المستهدفة

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

الرجوع إلى ما يلي مفكرة للحصول على مثال حول كيفية تجميع نموذج PyTorch Resnet18 باستخدام Neo.

قم ببناء حزمة النشر من خلال تضمين مكون AWS IoT Greengrass

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

بعد تكوين الأسطول وتجميع النموذج ، تحتاج إلى تشغيل وظيفة تجميع Edge Manager ، والتي تعد النموذج ليتم نشره في الأسطول. يمكنك بدء مهمة تغليف باستخدام Boto3 SDK. بالنسبة لمعلماتنا ، نستخدم النموذج الأمثل والبيانات الوصفية للنموذج. عن طريق إضافة المعلمات التالية إلى OutputConfig، تقوم الوظيفة أيضًا بإعداد مكون AWS IoT Greengrass V2 مع النموذج:

  • PresetDeploymentType
  • PresetDeploymentConfig

انظر الكود التالي:

import boto3
import time

SageMaker_client = boto3.client('SageMaker')

SageMaker_client.create_edge_packaging_job(
    EdgePackagingJobName="mlops-edge-packaging-{}".format(int(time.time()*1000)),
    CompilationJobName=compilation_job_name,
    ModelName="PytorchMLOpsEdgeModel",
    ModelVersion="1.0.0",
    RoleArn=role,
    OutputConfig={
        'S3OutputLocation': 's3://{}/model/'.format(bucket_name),
        "PresetDeploymentType": "GreengrassV2Component",
        "PresetDeploymentConfig": json.dumps(
            {"ComponentName": component_name, "ComponentVersion": component_version}
        ),
    }
)

انشر نماذج ML على نطاق واسع

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

  • سياسة IAM - تسمح هذه السياسة بالتزويد التلقائي لمثل هذه الأجهزة ، المرتبطة بالمستخدم أو الدور الذي يؤدي التوفير. يجب أن يكون لديه أذونات كتابة IoT لإنشاء شيء ومجموعة IoT ، بالإضافة إلى إرفاق السياسات اللازمة بالجهاز. لمزيد من المعلومات ، يرجى الرجوع إلى سياسة الحد الأدنى من IAM للمثبت لتوفير الموارد.
  • دور IAM - يرتبط هذا الدور بأشياء ومجموعات إنترنت الأشياء التي نقوم بإنشائها. يمكنك إنشاء هذا الدور عند توفير الوقت بالأذونات الأساسية ، لكنه سيفتقر إلى ميزات مثل الوصول إلى Amazon S3 أو خدمة إدارة مفتاح AWS (AWS KMS) التي قد تكون مطلوبة لاحقًا. يمكنك إنشاء هذا الدور مسبقًا وإعادة استخدامه عند توفير الجهاز. لمزيد من المعلومات ، يرجى الرجوع إلى تخويل الأجهزة الأساسية للتفاعل مع AWS.

تثبيت AWS IoT Greengrass وتوفيرها

بعد أن تكون لدينا سياسة IAM ودورها ، نحن على استعداد لذلك تثبيت برنامج AWS IoT Greengrass Core مع توفير الموارد تلقائيًا. على الرغم من أنه من الممكن توفير موارد إنترنت الأشياء باتباع الخطوات اليدوية ، إلا أن هناك إجراء مناسبًا لتوفير هذه الموارد تلقائيًا أثناء تثبيت نواة AWS IoT Greengrass v2. هذا هو الخيار المفضل للإدخال السريع للأجهزة الجديدة في النظام الأساسي. بجانب default-jdk، الحزم الأخرى مطلوبة للتثبيت ، مثل curl, unzipو python3.

عندما نوفر أجهزتنا ، يجب أن يكون اسم شيء إنترنت الأشياء مطابقًا تمامًا لجهاز الحافة المحدد في Edge Manager ، وإلا فلن يتم التقاط البيانات إلى حاوية S3 الوجهة.

يمكن للمثبت إنشاء دور AWS IoT Greengrass والاسم المستعار أثناء التثبيت إذا لم يكن موجودًا. ومع ذلك ، سيتم إنشاؤها بأدنى حد من الأذونات وستتطلب إضافة المزيد من السياسات يدويًا للتفاعل مع الخدمات الأخرى مثل Amazon S3. نوصي بإنشاء موارد IAM هذه مسبقًا كما هو موضح سابقًا ، ثم إعادة استخدامها أثناء قيامك بإدخال أجهزة جديدة في الحساب.

تغليف مكون النموذج والاستدلال

بعد تطوير الكود الخاص بنا ، يمكننا نشر كل من الكود (للاستدلال) ونماذج ML كمكونات في أجهزتنا.

بعد تدريب نموذج ML في SageMaker ، يمكنك تحسين النموذج باستخدام Neo باستخدام وظيفة تجميع Sagemaker. يمكن بعد ذلك تجميع عناصر النموذج المترجمة الناتجة في مكون GreenGrass V2 باستخدام برنامج Edge Manager. بعد ذلك ، يمكن تسجيله كمكون مخصص في ملف مكوناتي قسم في وحدة تحكم AWS IoT Greengrass. يحتوي هذا المكون بالفعل على أوامر دورة الحياة اللازمة لتنزيل الأداة النموذجية وفك ضغطها في جهازك ، بحيث يمكن لكود الاستدلال تحميلها لإرسال الصور الملتقطة من خلالها.

فيما يتعلق برمز الاستدلال ، يجب علينا إنشاء مكون باستخدام وحدة التحكم أو واجهة سطر الأوامر AWS (AWS CLI). أولاً ، نقوم بتعبئة كود الاستدلال المصدر والاعتماديات الضرورية لخدمة Amazon S3. بعد تحميل الكود ، يمكننا إنشاء المكون الخاص بنا باستخدام وصفة في .yaml أو JSON مثل المثال التالي:

---
RecipeFormatVersion: 2020-01-25
ComponentName: dummymodel.inference
ComponentVersion: 0.0.1
ComponentDescription: Deploys inference code to a client
ComponentPublisher: Amazon Web Services, Inc.
ComponentDependencies:
  aws.GreenGrass.TokenExchangeService:
    VersionRequirement: '>=0.0.0'
    DependencyType: HARD
  dummymodel:
    VersionRequirement: '>=0.0.0'
    DependencyType: HARD
Manifests:
  - Platform:
      os: linux
      architecture: "*"
    Lifecycle:
      install: |-
        apt-get install python3-pip
        pip3 install numpy
        pip3 install sysv_ipc
        pip3 install boto3
        pip3 install grpcio-tools
        pip3 install grpcio
        pip3 install protobuf
        pip3 install SageMaker
        tar xf {artifacts:path}/sourcedir.tar.gz
      run:
        script: |-
          sleep 5 && sudo python3 {work:path}/inference.py 
    Artifacts:
      - URI: s3://BUCKET-NAME/path/to/inference/sourcedir.tar.gz
        Permission:
          Execute: OWNER

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

aws greengrassv2 create-component-version --region $REGION 
                                          --inline-recipe fileb://path/to/recipe.yaml

يمكنك الآن رؤية هذا المكون الذي تم إنشاؤه على وحدة تحكم AWS IoT Greengrass.

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

بعد إعداد نموذجنا وكود الاستدلال كمكونات ، نحن على استعداد لنشرها.

انشر التطبيق والنموذج باستخدام AWS IoT Greengrass

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

وكيل Edge Manager هو المكون الذي يجب تثبيته على كل جهاز حافة لتمكين جميع إمكانات Edge Manager. في وحدة تحكم SageMaker ، لدينا أسطول أجهزة محدد ، والذي يحتوي على حاوية S3 مرتبطة. ستقوم جميع الأجهزة الطرفية المرتبطة بالأسطول بالتقاط بياناتها والإبلاغ عنها إلى مسار S3 هذا. يمكن نشر الوكيل كمكون في AWS IoT Greengrass v2 ، مما يجعل التثبيت والتهيئة أسهل مما لو تم نشر الوكيل في الوضع المستقل. عند نشر الوكيل كمكون ، نحتاج إلى تحديد معلمات التكوين الخاصة به ، وهي أسطول الجهاز ومسار S3.

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

{
    "targetArn": "targetArn",
    "deploymentName": "dummy-deployment",
    "components": {
        "aws.GreenGrass.Nucleus": {
            "version": "2.5.3",
        },
        "aws.GreenGrass.Cli": {
            "version": "2.5.3"
        },
        "aws.GreenGrass.SageMakerEdgeManager": {
            "version": 1.1.0,
            "configurationUpdate": {
                "merge": {
                "DeviceFleetName": "FLEET-NAME",
                "BucketName": "BUCKET-NAME-URI"
                }
            }
        },
        "dummymodel.inference": {
            "version": "0.0.1"
        },
        "dummymodel": {
            "version": "0.0.1"
        }
    }
}

تجدر الإشارة إلى أننا أضفنا ليس فقط النموذج ومكونات الاستدلال والوكيل ، ولكن أيضًا AWS IoT Greengrass CLI والنواة كمكونات. يمكن أن يساعد الأول في تصحيح بعض عمليات النشر محليًا على الجهاز. تتم إضافة الأخير إلى النشر لتكوين الوصول الضروري للشبكة من الجهاز نفسه إذا لزم الأمر (على سبيل المثال ، إعدادات الوكيل) ، وأيضًا في حالة رغبتك في إجراء ترقية OTA لنواة AWS IoT Greengrass v2. لم يتم نشر النواة لأنها مثبتة في الجهاز ، وسيتم تطبيق تحديث التكوين فقط (ما لم تكن هناك ترقية). للنشر ، نحتاج ببساطة إلى تشغيل الأمر التالي على التكوين السابق. تذكر إعداد ARN المستهدف الذي سيتم تطبيق النشر عليه (شيء IoT أو مجموعة IoT). يمكننا أيضًا نشر هذه المكونات من وحدة التحكم.

aws greengrassv2 create-deployment --region $REGION 
                                   --cli-input-json file://path/to/deployment.json

مراقبة وإدارة نماذج ML المنتشرة على الحافة

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

MLOps على حافة الهاوية مع Amazon SageMaker Edge Manager و AWS IoT Greengrass PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

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

MLOps على حافة الهاوية مع Amazon SageMaker Edge Manager و AWS IoT Greengrass PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

يتم إرسال البيانات التي يتم التقاطها بواسطة كل جهاز من خلال Edge Agent إلى حاوية S3 بتنسيق خطوط json (JSONL). تتم إدارة عملية إرسال البيانات الملتقطة من وجهة نظر التطبيق. لذلك أنت حر في تقرير ما إذا كنت تريد إرسال هذه البيانات ، وكيف وكم مرة.

MLOps على حافة الهاوية مع Amazon SageMaker Edge Manager و AWS IoT Greengrass PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

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

وفي الختام

في هذا المنشور ، تعلمت كيفية إنشاء حل كامل يجمع بين MLOps و ML @ Edge باستخدام خدمات AWS. إن بناء مثل هذا الحل ليس بالأمر الهين ، ولكننا نأمل أن تكون البنية المرجعية المقدمة في هذا المنشور مصدر إلهام ومساعدتك في بناء بنية صلبة لتحديات عملك. يمكنك أيضًا استخدام الأجزاء أو الوحدات النمطية لهذه البنية التي تتكامل مع بيئة MLOps الحالية. من خلال وضع نموذج أولي لوحدة واحدة في كل مرة واستخدام خدمات AWS المناسبة لمواجهة كل جزء من هذا التحدي ، يمكنك تعلم كيفية بناء بيئة MLOps قوية وكذلك تبسيط البنية النهائية.

كخطوة تالية ، نشجعك على تجربة Sagemaker Edge Manager لإدارة ML في دورة حياة الحافة. لمزيد من المعلومات حول كيفية عمل Edge Manager ، راجع انشر النماذج على الحافة باستخدام SageMaker Edge Manager .


عن المؤلفين

MLOps على حافة الهاوية مع Amazon SageMaker Edge Manager و AWS IoT Greengrass PlatoBlockchain Data Intelligence. البحث العمودي. عاي.برونو بيستون هو مهندس حلول متخصص في الذكاء الاصطناعي / التعلم الآلي لدى AWS ومقره في ميلانو. إنه يعمل مع العملاء من أي حجم لمساعدتهم على فهم احتياجاتهم التقنية بعمق وتصميم حلول الذكاء الاصطناعي والتعلم الآلي التي تحقق أفضل استخدام لسحابة AWS ومكدس Amazon Machine Learning. مجال خبرته هو التعلم الآلي من البداية إلى النهاية ، وتصنيع التعلم الآلي ، و MLOps. يستمتع بقضاء الوقت مع أصدقائه واستكشاف أماكن جديدة وكذلك السفر إلى وجهات جديدة.

MLOps على حافة الهاوية مع Amazon SageMaker Edge Manager و AWS IoT Greengrass PlatoBlockchain Data Intelligence. البحث العمودي. عاي.ماتيو كالابريس هو مهندس توصيل عملاء AI / ML في فريق خدمات AWS الاحترافية. يعمل مع مؤسسات كبيرة في أوروبا والشرق الأوسط وإفريقيا في مشاريع الذكاء الاصطناعي / التعلم الآلي ، ويساعدهم في اقتراح أعباء عمل إنتاج ML وتصميمها وتسليمها وتوسيع نطاقها وتحسينها. خبرته الرئيسية هي عملية ML (MLOps) والتعلم الآلي في Edge. هدفه هو تقصير وقتهم لتقييم وتسريع نتائج الأعمال من خلال توفير أفضل ممارسات AWS. في أوقات فراغه ، يستمتع بالمشي لمسافات طويلة والسفر.

MLOps على حافة الهاوية مع Amazon SageMaker Edge Manager و AWS IoT Greengrass PlatoBlockchain Data Intelligence. البحث العمودي. عاي.راؤول دياز غارسيا هو عالم بيانات كبير في فريق خدمات AWS الاحترافية. يعمل مع عملاء من المؤسسات الكبيرة في جميع أنحاء أوروبا والشرق الأوسط وإفريقيا ، حيث يساعدهم في تمكين الحلول المتعلقة برؤية الكمبيوتر والتعلم الآلي في مساحة إنترنت الأشياء.

MLOps على حافة الهاوية مع Amazon SageMaker Edge Manager و AWS IoT Greengrass PlatoBlockchain Data Intelligence. البحث العمودي. عاي.سوكراتيس كارتاكيس هو مهندس حلول متخصص في تعلم الآلة لخدمات أمازون ويب. يركز Sokratis على تمكين عملاء المؤسسات من تصنيع حلول التعلم الآلي (ML) الخاصة بهم من خلال استغلال خدمات AWS وتشكيل نموذج التشغيل الخاص بهم ، أي مؤسسة MLOps ، وخريطة طريق التحول التي تستفيد من أفضل ممارسات التطوير. لقد أمضى أكثر من 15 عامًا في ابتكار وتصميم وقيادة وتنفيذ حلول مبتكرة من ML وإنترنت الأشياء (IoT) على مستوى الإنتاج المبتكرة في مجالات الطاقة ، وتجارة التجزئة ، والصحة ، والمالية / المصرفية ، ورياضة السيارات ، إلخ. يحب Sokratis قضاء أوقات فراغه مع العائلة والأصدقاء ، أو ركوب الدراجات النارية.

MLOps على حافة الهاوية مع Amazon SageMaker Edge Manager و AWS IoT Greengrass PlatoBlockchain Data Intelligence. البحث العمودي. عاي.سمير أروجو هو مهندس حلول AI / ML في AWS. يساعد العملاء على إنشاء حلول AI / ML التي تحل تحديات أعمالهم باستخدام AWS. لقد كان يعمل في العديد من مشاريع الذكاء الاصطناعي / التعلم الآلي المتعلقة برؤية الكمبيوتر ومعالجة اللغة الطبيعية والتنبؤ والتعلم الآلي على الحافة والمزيد. إنه يحب اللعب بمشاريع الأجهزة والأتمتة في أوقات فراغه ، ولديه اهتمام خاص بالروبوتات.

الطابع الزمني:

اكثر من التعلم الآلي من AWS