تشغيل التطبيقات أو العمليات أو سير عمل 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 للمصادر والمعالجات، ولكنه ليس قائمة شاملة بالتكاملات المدعومة.
لمزيد من المعلومات حول مصادر الأحداث ومعالجات الأحداث، ارجع إلى ما هي شبكة الأحداث؟
أنواع الأحداث للتعلم الآلي من 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 (التحكم في الوصول استنادًا إلى الدور). يمكن فقط للمساهم أو مالك مساحة العمل إنشاء اشتراكات الأحداث وتحديثها وحذفها. يمكن تطبيق عوامل التصفية على اشتراكات الأحداث إما أثناء إنشاء اشتراك الحدث أو في وقتٍ لاحق.
انتقل إلى مدخل Microsoft Azure، وحدد اشتراكًا جديدًا أو اشتراكًا موجودًا بالفعل.
حدد "إدخال الأحداث" من منطقة التنقل اليسرى، ثم حدد "+ اشتراك الحدث".
حدد علامة تبويب المرشحات وانتقل لأسفل إلى عوامل التصفية المتقدمة. بالنسبة إلى المفتاحوالقيمة، قم بتوفير أنواع الخصائص التي تريد التصفية وفقًا لها. هنا يمكنك مشاهدة مشغلات الحدث عندما يكون نوع التشغيل هو تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية أو تشغيل خطوة المسار.
التصفية حسب نوع الحدث: يمكن لاشتراك في حدث تحديد نوع واحد أو أكثر من أنواع أحداث التعلم الآلي من 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
افتح مدخل Microsoft Azure وانتقل إلى مساحة عمل التعلم الآلي من Microsoft Azure.
من الشريط الأيمن، حدد الأحداث ثم حدد اشتراكات الأحداث.
حدد نوع الحدث المراد استهلاكه.
حدد نقطة النهاية لنشر الحدث عليها. في لقطة الشاشة التالية، يكون مركز الأحداث هو نقطة النهاية المحددة:
بمجرد تأكيد التحديد، حدد إنشاء. وبعد التكوين، سيتم دفع هذه الأحداث إلى نقطة النهاية الخاصة بك.
الإعداد باستخدام واجهة مستوى الاستدعاء
يمكنك إما تثبيت أحدث إصدار من 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 لتكوين رسائل البريد الإلكتروني لجميع الأحداث الخاصة بك. التخصيص مع الشروط وتحديد المستلمين لتمكين التعاون والوعي عبر الفرق التي تعمل معًا.
في مدخل Microsoft Azure، انتقل إلى مساحة عمل التعلم الآلي من Microsoft Azure وحدد علامة تبويب الأحداث من الشريط الأيسر. ومن هنا، حدد تطبيقات Logic.
سجّل الدخول إلى واجهة المستخدم تطبيق Logic App وحدد خدمة التعلم الآلي كنوع الموضوع.
حدد الحدث الذي سيتم إعلامك به. وعلى سبيل المثال، لقطة الشاشة التالية RunCompleted.
بعد ذلك، أضف خطوة لاستهلاك هذا الحدث والبحث عن البريد الإلكتروني. هناك عدة حسابات بريد مختلفة يمكنك استخدامها لتلقي الأحداث. يمكنك أيضًا تكوين الشروط على وقت إرسال تنبيه بالبريد الإلكتروني.
حدد إرسال عنوان البريد الإلكتروني واملأ المعلمات. في الموضوع، يمكنك تضمين نوع الحدث والموضوع للمساعدة في تصفية الأحداث. يمكنك أيضًا تضمين ارتباط إلى صفحة مساحة العمل لعمليات التشغيل في نص الرسالة.
ولحفظ هذا الإجراء، حدد حفظ باسم في الزاوية اليسرى من الصفحة.
مثال: يؤدي انحراف البيانات إلى إعادة التدريب
هام
يعتمد هذا المثال على ميزة (انحراف البيانات) التي تتوفر فقط عند استخدام الإصدار 1 من عدة تطوير برامج التعلم الآلي من Microsoft Azure أو الإصدار 1 من ملحق Azure CLI للتعلم الآلي من Azure. لمزيد من المعلومات، راجع ما هو Azure التعلم الآلي CLI وSDK v2.
تظل النماذج قديمة بمرور الوقت، ولا تظل مفيدة في السياق الذي تعمل فيه. إحدى الطرق لمعرفة ما إذا كان الوقت قد حان لإعادة تدريب النموذج هو اكتشاف انحراف البيانات.
يوضح هذا المثال كيفية استخدام Event Grid مع تطبيق Azure Logic لتشغيل إعادة التدريب. يقوم المثال بتشغيل البنية الأساسية لبرنامج ربط العمليات التجارية لمصنع Azure Data Factory عند حدوث انحراف في البيانات بين تدريب النموذج ومجموعات بيانات العرض.
قبل أن تبدأ، قم بتنفيذ الإجراءات التالية:
- إعداد جهاز عرض مجموعة بيانات للكشف عن انحراف البيانات (SDK/CLI v1) في مساحة عمل
- قم بإنشاء البنية الأساسية لبرنامج ربط العمليات التجارية Azure Data Factory المنشورة.
في هذا المثال، يتم استخدام البنية الأساسية لبرنامج ربط العمليات التجارية البسيطة لمصنع البيانات لنسخ الملفات إلى مخزن البيانات الثنائية الكبيرة وتشغيل البنية الأساسية لبرنامج ربط العمليات التجارية للتعلم الآلي المنشور. لمزيد من المعلومات حول هذا السيناريو، راجع كيفية إعداد خطوة التعلم الآلي في Azure Data Factory.
يمكنك بدء إنشاء تطبيق المنطق. انتقل إلى مدخل Microsoft Azure، وابحث عن Logic Apps، ثم حدد إنشاء.
قم بتعبئة المعلومات المطلوبة. لتبسيط التجربة، استخدم نفس مجموعة الاشتراك والموارد مثل البنية الأساسية لبرنامج ربط العمليات التجارية لمصنع بيانات Azure ومساحة عمل التعلم الآلي من Microsoft Azure.
بمجرد إنشاء تطبيق المنطق، حدد When an Event Grid resource event occurs.
تسجيل الدخول وملء تفاصيل الحدث. تعيين الموارد إلى اسم مساحة العمل. تعيين نوع الحدث على DatasetDriftDetected.
أضف خطوة جديدة، ثم ابحث عن Azure Data Factory. حدد إنشاء تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية.
قم بتسجيل الدخول وحدد مسار المعالجة لمصنع Azure Data Factory المنشور للتشغيل.
احفظ التطبيق المنطقي وقم بإنشائه باستخدام زر الحفظ في الجزء العلوي الأيسر من الصفحة. لعرض تطبيقك، انتقل إلى مساحة العمل في مدخل Microsoft Azure وحدد الأحداث.
والآن يتم تشغيل مسار المعالجة لمصنع البيانات عند حدوث الانحراف. عرض التفاصيل حول تشغيل انحراف البيانات وتدفق التعلم الآلي في استوديو التعلم الآلي من Microsoft Azure.
الخطوات التالية
تعرف على المزيد حول Event Grid وجرب أحداث التعلم الآلي من Microsoft Azure: