MLOps: إدارة النموذج ونشره ومراقبته باستخدام Azure التعلم الآلي

ينطبق على:ملحق ML Azure CLI v2 (الحالي)Python SDK azure-ai-ml v2 (الحالي)

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

ما هو MLOps؟

يستند MLOps إلى مبادئ وممارسات DevOps التي تزيد من كفاءة مهام سير العمل. تتضمن هذه المبادئ التكامل المستمر والتسليم والنشر. يطبق MLOps هذه المبادئ على دورة حياة التعلم الآلي، بهدف:

  • التجريب والتطوير السريع للنماذج.
  • التوزيع السريع للنماذج في الإنتاج.
  • ضمان الجودة وتعقب دورة حياة البيانات بشكل شامل.

يوفر MLOps الإمكانات التالية لعملية التعلم الآلي:

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

لمزيد من المعلومات حول MLOps، راجع عمليات التعلم الآلي.

إنشاء مسارات التعلم الآلي القابلة للتكرار.

استخدم البنية الأساسية لبرنامج ربط العمليات التجارية التعلم الآلي Azure لتجميع جميع الخطوات في عملية تدريب النموذج. يمكن أن يحتوي مسار التعلم الآلي على خطوات تتضمن إعداد البيانات واستخراج الميزات وضبط المعلمات الفائقة وتقييم النموذج.

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

لمزيد من المعلومات حول البنية الأساسية لبرنامج ربط العمليات التجارية التعلم الآلي Azure، راجع مسارات التعلم الآلي.

إنشاء بيئات برامج قابلة لإعادة الاستخدام

باستخدام بيئات Azure التعلم الآلي، يمكنك تعقب تبعيات برامج مشاريعك وإعادة إنتاجها أثناء تطورها. يمكنك استخدام البيئات للتأكد من أن البنيات قابلة للتكرار دون تكوينات البرامج اليدوية.

تصف البيئات تبعيات pip وconda لمشاريعك. يمكنك استخدام البيئات لتدريب النموذج ونشره. لمزيد من المعلومات حول البيئات، راجع ما هي بيئات Azure التعلم الآلي؟.

تسجيل النماذج وحزمها وتوزيعها من أي مكان

تناقش الأقسام التالية كيفية تسجيل النماذج وحزمها وتوزيعها.

تسجيل نماذج التعلم الآلي وتعقبها

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

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

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

تلميح

يمكنك أيضاً تسجيل النماذج المدربة خارج التعلم الآلي من Microsoft Azure.

هام

  • عند استخدام الخيار Filter byTags في صفحة Models في Azure التعلم الآلي studio، بدلا من استخدام TagName : TagValue، استخدم TagName=TagValue بدون مسافات.
  • لا يمكنك حذف نموذج مسجل يتم استخدامه في عملية توزيع نشطة.

لمزيد من المعلومات حول كيفية استخدام النماذج في Azure التعلم الآلي، راجع العمل مع النماذج في Azure التعلم الآلي.

حزم النماذج وتصحيحها

قبل نشر نموذج في الإنتاج، يجب أن يتم حزمه في صورة Docker. في معظم الحالات، يحدث إنشاء الصورة تلقائيا في الخلفية أثناء النشر؛ ومع ذلك، يمكنك تحديد الصورة يدويا.

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

تحويل النماذج وتحسينها

يمكنك تحويل النموذج إلى Open Neural Network Exchange (ONNX) لمحاولة تحسين الأداء. عادة ما يمكن أن يؤدي التحويل إلى ONNX إلى مضاعفة الأداء.

لمزيد من المعلومات حول ONNX مع التعلم الآلي، راجع إنشاء نماذج التعلم الآلي وتسريعها.

توزيع الوحدات

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

عند نشر نموذج كنقطة نهاية، تحتاج إلى توفير العناصر التالية:

  • النموذج المستخدم لتسجيل البيانات المرسلة إلى الخدمة أو الجهاز.
  • برنامج نصيإدخال 1. يقبل هذا البرنامج النصي الطلبات، ويستخدم النماذج لتسجيل البيانات، ويرجع استجابة.
  • بيئة2 تصف تبعيات pip وconda المطلوبة من قبل النماذج والبرنامج النصي للإدخل.
  • أي أصول أخرى، مثل النص والبيانات المطلوبة من قبل النماذج والبرنامج النصي للإدخل.

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

1,2 عند نشر نموذج MLflow، لا تحتاج إلى توفير برنامج نصي لإدخال، يعرف أيضا باسم برنامج نصي لتسجيل النقاط. لا تحتاج أيضا إلى توفير بيئة للتوزيع. لمزيد من المعلومات حول نشر نماذج MLflow، راجع إرشادات نشر نماذج MLflow.

تسجيل الدفعات

يتم دعم تسجيل الدفعات من خلال نقاط نهاية الدفعة. لمزيد من المعلومات حول تسجيل الدفعات، راجع نقاط نهاية الدفعات.

تسجيل النقاط في الوقت الحقيقي

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

  • نقاط النهاية عبر الإنترنت المدارة
  • Azure Kubernetes Service
  • بيئة التطوير المحلية

لنشر نموذج إلى نقطة نهاية، يجب توفير العناصر التالية:

  • النموذج أو مجموعة النماذج.
  • التبعيات المطلوبة لاستخدام النموذج. الأمثلة هي برنامج نصي يقبل الطلبات ويستدعي النموذج وتبعيات conda.
  • تكوين التوزيع الذي يوضح كيفية توزيع النموذج ومكانه.

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

الإطلاق المتحكم به لنقاط النهاية عبر الإنترنت

عند التوزيع إلى نقطة نهاية عبر الإنترنت، يمكنك استخدام الإطلاق المتحكم فيه لتمكين السيناريوهات التالية:

  • إنشاء إصدارات متعددة من نقطة نهاية للنشر.
  • إجراء اختبار A/B عن طريق توجيه نسبة استخدام الشبكة إلى عمليات توزيع مختلفة داخل نقطة النهاية.
  • التبديل بين عمليات نشر نقطة النهاية عن طريق تحديث النسبة المئوية لنسبة استخدام الشبكة في تكوين نقطة النهاية.

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

تحليلات

يدعم Microsoft Power BI استخدام نماذج التعلم الآلي لتحليلات البيانات. لمزيد من المعلومات، راجع تكامل Azure التعلم الآلي في Power BI.

التقاط بيانات الإدارة المطلوبة لـ MLOps

يمنحك Azure التعلم الآلي القدرة على تتبع سجل التدقيق الشامل لجميع أصول التعلم الآلي باستخدام بيانات التعريف. على سبيل المثال:

  • تساعدك أصول بيانات Azure التعلم الآلي على تعقب بيانات الإصدار وملف التعريف وإصدارها.
  • تسمح لك قابلية تفسير النموذج بشرح نماذجك، وتلبية التوافق التنظيمي، وفهم كيفية وصول النماذج إلى نتيجة لإدخال معين.
  • يخزن Azure التعلم الآلي Job history لقطة من التعليمات البرمجية والبيانات والحسابات المستخدمة لتدريب نموذج.
  • يلتقط سجل نموذج Azure التعلم الآلي جميع بيانات التعريف المرتبطة بالنموذج الخاص بك. على سبيل المثال، أي تجربة دربت النموذج، حيث يتم نشر النموذج، وما إذا كانت عمليات توزيع النموذج سليمة.
  • يسمح لك التكامل مع Azure بالعمل على الأحداث، مثل تسجيل النموذج والنشر وانحراف البيانات وأحداث التدريب (الوظيفة)، في دورة حياة التعلم الآلي.

تلميح

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

الإعلام والأتمتة والتنبيه بشأن الأحداث في دورة حياة التعلم الآلي

ينشر Azure التعلم الآلي الأحداث الرئيسية إلى Azure Event Grid، والتي يمكن استخدامها لإعلام الأحداث وأتمتتها في دورة حياة التعلم الآلي. لمزيد من المعلومات حول كيفية إعداد العمليات المستندة إلى الأحداث استنادا إلى أحداث Azure التعلم الآلي، راجع CI/CD المخصص ومهام سير العمل المستندة إلى الحدث.

أتمتة دورة حياة التعلم الآلي

يمكنك استخدام GitHub وAzure Pipelines لإنشاء عملية تكامل مستمرة تقوم بتدريب نموذج. في سيناريو نموذجي، عندما يتحقق عالم البيانات من التغيير في مستودع Git لمشروع ما، تبدأ Azure Pipelines مهمة تدريب. يمكن بعد ذلك فحص النتائج المخصصة بالتشغيل لمعرفة خصائص الأداء للنموذج المدرب. يمكنك أيضًا إنشاء مسار يوزع النموذج كخدمة ويب.

يسهل ملحق التعلم الآلي العمل باستخدام Azure Pipelines. يوفر الملحق التحسينات التالية ل Azure Pipelines:

  • تمكين تحديد مساحة العمل عندما تعرّف اتصال خدمة.
  • تمكين تشغيل مسارات الإصدار بواسطة النماذج المدربة التي تم إنشاؤها في مسار تدريبي.

لمزيد من المعلومات حول استخدام Azure Pipelines مع التعلم الآلي، راجع استخدام Azure Pipelines مع Azure التعلم الآلي.