قم ببناء خط أنابيب MLOps شامل لفحص الجودة المرئية على الحافة - الجزء الأول | خدمات ويب أمازون

قم ببناء خط أنابيب MLOps شامل لفحص الجودة المرئية على الحافة - الجزء الأول | خدمات ويب أمازون

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

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

يركز هذا المنشور على تصميم البنية الشاملة لخط أنابيب MLOps؛ جزء 2 و جزء 3 تركز هذه السلسلة على تنفيذ المكونات الفردية. لقد قدمنا ​​​​نموذج التنفيذ في المرافقة مستودع جيثب لتجرب نفسك. إذا كنت قد بدأت للتو في استخدام MLOps على الحافة على AWS، فارجع إلى MLOps على حافة الهاوية مع Amazon SageMaker Edge Manager و AWS IoT Greengrass للحصول على نظرة عامة والهندسة المعمارية المرجعية.

حالة الاستخدام: فحص جودة العلامات المعدنية

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

علامة معدنية بها خدوش

تحديد بنية خطوط الأنابيب

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

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

ماذا يعني هذا بالنسبة لهندسة خطوط الأنابيب لدينا؟

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

MLOps خط أنابيب خربشة

دعونا نتفحص البنية العامة لخط أنابيب MLOps بالتفصيل:

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

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

العمارة المستهدفة

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

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

بنية خط أنابيب MLOps

كما كان الحال من قبل، فلنستعرض سير العمل خطوة بخطوة ونحدد خدمات AWS التي تناسب متطلباتنا:

  1. خدمة تخزين أمازون البسيطة يُستخدم (Amazon S3) لتخزين بيانات الصور الأولية لأنه يوفر لنا حل تخزين منخفض التكلفة.
  2. يتم تنظيم سير عمل وضع العلامات باستخدام وظائف خطوة AWS، محرك سير عمل بدون خادم يجعل من السهل تنسيق خطوات سير عمل وضع العلامات. كجزء من سير العمل هذا، نستخدم الحقيقة الأمازون SageMaker الأرض لأتمتة عملية وضع العلامات بشكل كامل باستخدام وظائف وضع العلامات والقوى العاملة البشرية المُدارة. AWS لامدا يتم استخدامه لإعداد البيانات، وبدء مهام وضع العلامات، وتخزين التسميات فيها متجر ميزات Amazon SageMaker.
  3. يقوم SageMaker Features Store بتخزين التسميات. فهو يسمح لنا بإدارة ميزاتنا ومشاركتها مركزيًا، ويزودنا بإمكانيات مدمجة لإصدار البيانات، مما يجعل خط أنابيبنا أكثر قوة.
  4. نحن نقوم بتنسيق بناء النموذج وخط أنابيب التدريب باستخدام خطوط أنابيب Amazon SageMaker. فهو يتكامل مع ميزات SageMaker الأخرى المطلوبة من خلال الخطوات المضمنة. وظائف SageMaker Training يتم استخدامها لأتمتة التدريب النموذجي، و وظائف SageMaker Processing يتم استخدامها لإعداد البيانات وتقييم أداء النموذج. في هذا المثال، نستخدم Ultralytics YOLOv8 حزمة Python وبنية النموذج لتدريب وتصدير نموذج الكشف عن الكائنات إلى أونكس تنسيق نموذج ML لسهولة النقل.
  5. إذا كان الأداء مقبولا، يتم تسجيل النموذج المدرب في سجل نموذج Amazon SageMaker مع رقم الإصدار المتزايد المرفقة. إنه بمثابة واجهة بين تدريب النموذج وخطوات نشر الحافة. نحن أيضًا ندير حالة الموافقة على النماذج هنا. وكما هو الحال مع الخدمات الأخرى المستخدمة، فهي تتم إدارتها بالكامل، لذلك لا يتعين علينا الاهتمام بتشغيل البنية التحتية الخاصة بنا.
  6. يتم تشغيل سير عمل نشر الحافة تلقائيًا باستخدام Step Functions، المشابه لسير عمل وضع العلامات. يمكننا استخدام عمليات تكامل واجهة برمجة التطبيقات الخاصة بـ Step Functions للاتصال بسهولة بواجهات برمجة تطبيقات خدمة AWS المتنوعة المطلوبة مثل AWS IoT Greengrass لإنشاء مكونات نموذجية جديدة ونشر المكونات بعد ذلك على جهاز الحافة.
  7. يتم استخدام AWS IoT Greengrass كبيئة تشغيل جهاز الحافة. إنه يدير دورة حياة النشر لنموذجنا ومكونات الاستدلال على الحافة. فهو يسمح لنا بنشر إصدارات جديدة من مكونات النموذج والاستدلال الخاصة بنا بسهولة باستخدام استدعاءات واجهة برمجة التطبيقات (API) البسيطة. بالإضافة إلى ذلك، عادةً لا تعمل نماذج تعلم الآلة الموجودة على الحافة بشكل منفصل؛ يمكننا استخدام مختلف AWS و مجتمع توفير مكونات AWS IoT Greengrass للاتصال بالخدمات الأخرى.

تشبه البنية الموضحة البنية عالية المستوى الموضحة من قبل. تعمل Amazon S3 وSageMaker Features Store وSageMaker Model Registry كواجهات بين خطوط الأنابيب المختلفة. ولتقليل الجهد المبذول لتشغيل الحل وتشغيله، فإننا نستخدم الخدمات المُدارة وبدون خادم حيثما أمكن ذلك.

الدمج في نظام CI/CD قوي

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

خط أنابيب CI/CD

دعونا نتعرف على بنية CI/CD:

  1. كود AWS بمثابة مستودع Git الخاص بنا. من أجل التبسيط، في العينة المقدمة، قمنا بفصل الأجزاء المميزة (وضع العلامات، والتدريب على النماذج، ونشر الحافة) عبر مجلدات فرعية في مستودع git واحد. في سيناريو العالم الحقيقي، قد يستخدم كل فريق مستودعات مختلفة لكل جزء.
  2. يتم نشر البنية التحتية تلقائيًا باستخدام AWS CDK ويحصل كل جزء (وضع العلامات والتدريب والحافة) على تطبيق AWS CDK الخاص به للسماح بعمليات النشر المستقلة.
  3. تستخدم ميزة خط أنابيب AWS CDK خط أنابيب AWS لأتمتة البنية التحتية ونشر التعليمات البرمجية.
  4. ينشر AWS CDK مسارين للتعليمات البرمجية لكل خطوة: مسار الأصول ومسار سير العمل. لقد قمنا بفصل سير العمل عن نشر الأصول للسماح لنا ببدء سير العمل بشكل منفصل في حالة عدم وجود تغييرات في الأصول (على سبيل المثال، عندما تكون هناك صور جديدة متاحة للتدريب).
    • ينشر مسار تعليمات برمجية الأصول جميع البنية التحتية المطلوبة لتشغيل سير العمل بنجاح، مثل إدارة الهوية والوصول AWS أدوار (IAM) ووظائف Lambda وصور الحاويات المستخدمة أثناء التدريب.
    • يقوم مسار التعليمات البرمجية لسير العمل بتشغيل سير عمل وضع العلامات أو التدريب أو نشر الحافة الفعلي.
  5. يتم تشغيل مسارات الأصول تلقائيًا عند الالتزام وكذلك عند اكتمال مسار سير العمل السابق.
  6. يتم تشغيل العملية برمتها وفقًا لجدول زمني باستخدام أمازون إيفينت بريدج قواعد إعادة التدريب المنتظمة.

ومع تكامل CI/CD، أصبحت السلسلة الشاملة الآن مؤتمتة بالكامل. يتم تشغيل خط الأنابيب عندما يتغير الكود في مستودع git الخاص بنا وكذلك وفقًا لجدول زمني لاستيعاب تغييرات البيانات.

التفكير في المستقبل

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

وفي الختام

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

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


عن المؤلفين

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

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

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

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

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