تشغيل التطبيقات أو العمليات أو سير عمل CI/CD استنادا إلى أحداث التعلم الآلي من Azure

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

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

متى تستخدم Event Grid للإجراءات القائمة على الحدث:

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

هام

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

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

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

أنواع نموذج الحدث

تقرأ Azure Event Grid الأحداث من مصادر البيانات، مثل التعلم الآلي من Microsoft Azure وخدمات Azure الأخرى. ثم يتم إرسال هذه الأحداث إلى معالجات الأحداث مثل مراكز الأحداث Azure Event Hubs ووظيفة Azure Functions وتطبيقات Logic Apps وغيرها. يوضح الرسم التخطيطي التالي كيفية توصيل Event Grid للمصادر والمعالجات، ولكنه ليس قائمة شاملة بالتكاملات المدعومة.

نموذج وظيفي لشبكة الأحداث Azure

لمزيد من المعلومات حول مصادر الأحداث ومعالجات الأحداث، ارجع إلى ما هي شبكة الأحداث؟

أنواع الأحداث للتعلم الآلي من Microsoft Azure

يوفر التعلم الآلي من Microsoft Azure أحداثًا في نقاط مختلفة من دورة حياة التعلم الآلي:

نوع الحدث ‏‏الوصف
Microsoft.MachineLearningServices.RunCompleted يُطلق عند اكتمال تشغيل تجربة التعلم الآلي
Microsoft.MachineLearningServices.ModelRegistered (معاينة) يُطلق عند تسجيل نموذج التعلم الآلي في مساحة العمل
Microsoft.MachineLearningServices.ModelDeployed (معاينة) يُطلق عند اكتمال توزيع خدمة الاستدلال بنموذج واحد أو أكثر
Microsoft.MachineLearningServices.DatasetDriftDetected (معاينة) يُطلق عند اكتمال مهمة اكتشاف انحراف البيانات لمجموعتي بيانات
Microsoft.MachineLearningServices.RunStatusChanged يُطلق عند تغيير حالة التشغيل

تصفية الأحداث والاشتراك فيها

يتم توزيع هذه الأحداث من خلال Azure Event Grid. من مدخل Microsoft Azure أو PowerShell أو Azure CLI، يمكنك الاشتراك بسهولة في الأحداث عن طريق تحديد نوع حدث واحد أو أكثر، وشروط التصفية.

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

تتم حماية الاشتراكات في أحداث التعلم الآلي من Microsoft Azure بواسطة التحكم في الوصول استناداً إلى الدور في Azure (التحكم في الوصول استنادًا إلى الدور). يمكن فقط للمساهم أو مالك مساحة العمل إنشاء اشتراكات الأحداث وتحديثها وحذفها. يمكن تطبيق عوامل التصفية على اشتراكات الأحداث إما أثناء إنشاء اشتراك الحدث أو في وقتٍ لاحق.

  1. انتقل إلى مدخل Microsoft Azure، وحدد اشتراكًا جديدًا أو اشتراكًا موجودًا بالفعل.

  2. حدد "إدخال الأحداث" من منطقة التنقل اليسرى، ثم حدد "+ اشتراك الحدث".

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

    أحداث عوامل التصفية

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

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

    نوع الحدث تنسيق الموضوعات موضوع العينة
    Microsoft.MachineLearningServices.RunCompleted experiments/{ExperimentId}/runs/{RunId} experiments/b1d7966c-f73a-4c68-b846-992ace89551f/runs/my_exp1_1554835758_38dbaa94
    Microsoft.MachineLearningServices.ModelRegistered (معاينة) models/{modelName}:{modelVersion} models/sklearn_regression_model:3
    Microsoft.MachineLearningServices.ModelDeployed (معاينة) endpoints/{serviceId} endpoints/my_sklearn_aks
    Microsoft.MachineLearningServices.DatasetDriftDetected (معاينة) datadrift/{data.DataDriftId}/run/{data.RunId} datadrift/4e694bf5-712e-4e40-b06a-d2a2755212d4/run/my_driftrun1_1550564444_fbbcdc0f
    Microsoft.MachineLearningServices.RunStatusChanged experiments/{ExperimentId}/runs/{RunId} experiments/b1d7966c-f73a-4c68-b846-992ace89551f/runs/my_exp1_1554835758_38dbaa94
  • التصفية المتقدمة: تدعم Azure Event Grid أيضًا التصفية المتقدمة استنادًا إلى مخطط الحدث المنشور. يمكن العثور على تفاصيل مخطط حدث التعلم الآلي من Azure في مخطط حدث Azure Event Grid للتعلم الآلي من Microsoft Azure. بالنسبة للحدث Microsoft.MachineLearningServices.ModelRegistered، لتصفية قيمة علامة النموذج:

    --advanced-filter data.ModelTags.key1 StringIn ('value1')
    

    لمعرفة المزيد حول كيفية تطبيق عوامل التصفية، راجع تصفية الأحداث لشبكة الأحداث.

استهلاك أحداث التعلم الآلي من Microsoft Azure

يجب أن تتبع التطبيقات التي تتعامل مع أحداث التعلم الآلي بعض الممارسات الموصى بها:

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

تسمح Azure Event Grid للعملاء بإنشاء معالجات رسائل منفصلة، والتي يمكن تشغيلها بواسطة أحداث Azure التعلم الآلي. بعض الأمثلة البارزة لمعالج الرسائل هي:

  • دالات Azure
  • Azure Logic Apps
  • مراكز أحداث Azure
  • البنية الأساسية لبرنامج ربط العمليات التجارية لمصنع بيانات Azure
  • خطافات الويب العامة، والتي قد تتم استضافتها على النظام الأساسي ل Azure أو في أي مكان آخر

الإعداد في مدخل Microsoft Azure

  1. افتح مدخل Microsoft Azure وانتقل إلى مساحة عمل التعلم الآلي من Microsoft Azure.

  2. من الشريط الأيمن، حدد الأحداث ثم حدد اشتراكات الأحداث.

    لقطة شاشة تعرض اختيار الاشتراك في الحدث.

  3. حدد نوع الحدث المراد استهلاكه.

    لقطة شاشة لإنشاء اشتراك حدث.

  4. حدد نقطة النهاية لنشر الحدث عليها. في لقطة الشاشة التالية، يكون مركز الأحداث هو نقطة النهاية المحددة:

    تظهر لقطة الشاشة جزء إنشاء اشتراك الحدث مع فتح تحديد مركز الأحداث.

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

الإعداد باستخدام واجهة مستوى الاستدعاء

يمكنك إما تثبيت أحدث إصدار من Azure CLI، أو استخدام Azure Cloud Shell الذي يتم توفيره كجزء من اشتراك Azure الخاص بك.

لتثبيت امتداد Event Grid، استخدم الأمر التالي من واجهة مستوى الاستدعاء:

az extension add --name eventgrid

يوضح المثال التالي كيفية تحديد اشتراك Azure وإنشاء اشتراك حدث جديد للتعلم الآلي من Microsoft Azure:

# Select the Azure subscription that contains the workspace
az account set --subscription "<name or ID of the subscription>"

# Subscribe to the machine learning workspace. This example uses EventHub as a destination. 
az eventgrid event-subscription create --name {eventGridFilterName} \
  --source-resource-id /subscriptions/{subId}/resourceGroups/{RG}/providers/Microsoft.MachineLearningServices/workspaces/{wsName} \
  --endpoint-type eventhub \
  --endpoint /subscriptions/{SubID}/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/n1/eventhubs/EH1 \
  --included-event-types Microsoft.MachineLearningServices.ModelRegistered \
  --subject-begins-with "models/mymodelname"

الأمثلة

مثال: إرسال تنبيهات بالبريد الإلكتروني

استخدم تطبيقات Azure Logic لتكوين رسائل البريد الإلكتروني لجميع الأحداث الخاصة بك. التخصيص مع الشروط وتحديد المستلمين لتمكين التعاون والوعي عبر الفرق التي تعمل معًا.

  1. في مدخل Microsoft Azure، انتقل إلى مساحة عمل التعلم الآلي من Microsoft Azure وحدد علامة تبويب الأحداث من الشريط الأيسر. ومن هنا، حدد تطبيقات Logic.

    لقطة شاشة تعرض اختيار تطبيقات Logic.

  2. سجّل الدخول إلى واجهة المستخدم تطبيق Logic App وحدد خدمة التعلم الآلي كنوع الموضوع.

    تظهر لقطة الشاشة مربع الحوار عند حدوث حدث مورد مع تحديد التعلم الآلي كنوع مورد.

  3. حدد الحدث الذي سيتم إعلامك به. وعلى سبيل المثال، لقطة الشاشة التالية RunCompleted.

    لقطة شاشة تعرض خدمة التعلم الآلي كنوع المورد.

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

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

  5. حدد إرسال عنوان البريد الإلكتروني واملأ المعلمات. في الموضوع، يمكنك تضمين نوع الحدث والموضوع للمساعدة في تصفية الأحداث. يمكنك أيضًا تضمين ارتباط إلى صفحة مساحة العمل لعمليات التشغيل في نص الرسالة.

    ولحفظ هذا الإجراء، حدد حفظ باسم في الزاوية اليسرى من الصفحة.

    تظهر لقطة الشاشة مربع الحوار إرسال بريد إلكتروني مع إضافة

مثال: يؤدي انحراف البيانات إلى إعادة التدريب

هام

يعتمد هذا المثال على ميزة (انحراف البيانات) التي تتوفر فقط عند استخدام الإصدار 1 من عدة تطوير برامج التعلم الآلي من Microsoft Azure أو الإصدار 1 من ملحق Azure CLI للتعلم الآلي من Azure. لمزيد من المعلومات، راجع ما هو Azure التعلم الآلي CLI وSDK v2.

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

يوضح هذا المثال كيفية استخدام Event Grid مع تطبيق Azure Logic لتشغيل إعادة التدريب. يقوم المثال بتشغيل البنية الأساسية لبرنامج ربط العمليات التجارية لمصنع Azure Data Factory عند حدوث انحراف في البيانات بين تدريب النموذج ومجموعات بيانات العرض.

قبل أن تبدأ، قم بتنفيذ الإجراءات التالية:

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

لقطة شاشة تعرض تدريب البنية الأساسية لبرنامج ربط العمليات التجارية في مصنع بيانات Azure.

  1. يمكنك بدء إنشاء تطبيق المنطق. انتقل إلى مدخل Microsoft Azure، وابحث عن Logic Apps، ثم حدد إنشاء.

    البحث في التطبيق

  2. قم بتعبئة المعلومات المطلوبة. لتبسيط التجربة، استخدم نفس مجموعة الاشتراك والموارد مثل البنية الأساسية لبرنامج ربط العمليات التجارية لمصنع بيانات Azure ومساحة عمل التعلم الآلي من Microsoft Azure.

    تظهر لقطة الشاشة جزء إنشاء تطبيق Logic.

  3. بمجرد إنشاء تطبيق المنطق، حدد When an Event Grid resource event occurs.

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

  4. تسجيل الدخول وملء تفاصيل الحدث. تعيين الموارد إلى اسم مساحة العمل. تعيين نوع الحدث على DatasetDriftDetected.

    لقطة شاشة تعرض عنصر نوع حدث انحراف البيانات.

  5. أضف خطوة جديدة، ثم ابحث عن Azure Data Factory. حدد إنشاء تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية.

    تظهر لقطة الشاشة جزء اختيار إجراء مع تحديد إنشاء مسار المعالجة للتشغيل.

  6. قم بتسجيل الدخول وحدد مسار المعالجة لمصنع Azure Data Factory المنشور للتشغيل.

    تظهر لقطة الشاشة جزء إنشاء مسار معالجة للتشغيل بقيم مختلفة.

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

    تظهر لقطة الشاشة الأحداث مع تمييز تطبيق Logic.

والآن يتم تشغيل مسار المعالجة لمصنع البيانات عند حدوث الانحراف. عرض التفاصيل حول تشغيل انحراف البيانات وتدفق التعلم الآلي في استوديو التعلم الآلي من Microsoft Azure.

لقطة شاشة تعرض نقاط نهاية مسار المعالجة.

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

تعرف على المزيد حول Event Grid وجرب أحداث التعلم الآلي من Microsoft Azure: