في هذه المقالة، ستتعلم كيفية نشر نموذج التعلم الآلي المدرب علي Microsoft Azure التلقائي إلى نقطة نهاية عبر الإنترنت (الاستدلال في الوقت الحقيقي). التعلم الآلي التلقائي، الذي يشار إليه أيضاً باسم التعلم الآلي من Microsoft Azure أو التعلم الآلي من Microsoft Azure التلقائي، هو عملية أتمتة المهام التكرارية التي تستغرق وقتاً طويلاً لتطوير نموذج التعلم الآلي. لمزيد من المعلومات، راجع ما هو التعلم الآلي من Microsoft Azure التلقائي؟.
في هذه المقالة، ستعرف كيفية نشر نموذج التعلم الآلي المدرب من التعلم الآلي من Microsoft Azure التلقائي إلى نقاط النهاية عبر الإنترنت باستخدام:
النشر من استوديو التعلم الآلي من Microsoft Azure التلقائي وبدون تعليمة برمجية
يعد نشر نموذج مدرب على التعلم الآلي من Microsoft Azure التلقائي من صفحة التعلم الآلي تجربة بدون تعليمة برمجية. أي أنك لا تحتاج إلى إعداد برنامج نصي لتسجيل النقاط والبيئة، يتم إنشاء كليهما تلقائيًا.
انتقل إلى صفحة «التعلم الآلي من Microsoft Azure التلقائي» في الاستوديو
حدد التجربة الخاصة بك وابدأ التشغيل
حدد علامة التبويب «Models»
حدد النموذج الذي تريد نشره.
بمجرد تحديدك لنموذج، سيضيء الزر «Deploy» مع قائمة منسدلة
حدد الخيار Deploy to real-time endpoint
سوف يقوم النظام بإنشاء النموذج والبيئة اللازمين للنشر.
إتمام المعالج لنشر النموذج إلى نقطة نهاية عبر الإنترنت
النشر يدويًا من الاستوديو أو سطر الأوامر
إن كنت ترغب في الحصول على مزيد من التحكم في النشر، يمكنك تنزيل البيانات الاصطناعية للتدريب ونشرها.
لتتمكن من تنزيل المكونات التي ستحتاجها للنشر:
انتقل إلى تجربة التعلم الآلي من Microsoft Azure التلقائي وشغّلها في مساحة عمل التعلم الآلي الخاصة بك
لإنشاء نشر من واجهة سطر الأوامر، ستحتاج إلى واجهة سطر الأوامر Azure مع ملحق التعلم الآلي من Microsoft Azure v2. شغّل الأمر التالي للتأكد من أن لديك كليهما:
إن كان لديك حق الوصول إلى اشتراكات Azure متعددة، يمكنك تعيين اشتراكك النشط:
az account set -s "<YOUR_SUBSCRIPTION_NAME_OR_ID>"
قم بتعيين مجموعة الموارد الافتراضية ومساحة العمل إلى المكان الذي تريد في إنشاء النشر فيه:
az configure --defaults group=$GROUP workspace=$WORKSPACE location=$LOCATION
ضع ملف التسجيل في الدليل الخاص به
أنشئ دليل يسمى src/ وضع ملف تسجيل النقاط الذي قمت بتنزيله فيه. يتم تحميل هذا الدليل إلى Azure ويحتوي على كافة التعليمات البرمجية المصدر اللازمة للقيام بالاستدلال. بالنسبة لنموذج التعلم الآلي من Microsoft Azure التلقائي، هناك ملف تسجيل واحد فقط.
أنشئ نقطة النهاية ونشر ملف yaml
لإنشاء نقطة نهاية عبر الإنترنت من سطر الأوامر، ستحتاج إلى إنشاء نقطة نهاية.yml وملف deployment.yml. تظهر التعليمات البرمجية الآتية، المأخوذة من مستودع أمثلة التعلم الآلي من Microsoft Azure التلقائي نقاط النهاية/online/managed/sample/، والتي تلتقط جميع المدخلات المطلوبة:
ستحتاج إلى تعديل هذا الملف لاستخدام الملفات التي قمت بتنزيلها من صفحة نماذج التعلم الآلي من Microsoft Azure التلقائي.
إنشاء ملف automl_endpoint.yml و automl_deployment.yml لصق محتويات المثال أعلاه.
تغيير قيمة name لنقطة النهاية. يجب أن يكون اسم نقطة النهاية فريدًا في منطقة Azure بأكملها. ويجب أن يبدأ اسم نقطة النهاية بحرف كبير أو صغير وأن يتكون فقط من أحرف «-» وأحرف أبجدية رقمية.
في الملف automl_deployment، قم بتغيير قيمة المفاتيح في المسارات التالية:
المسار
يتغير إلى
model:path
المسار إلى الملف model.pkl الذي قمت بتنزيله.
code_configuration:code:path
الدليل الذي قُمت بوضع ملف تسجيل النقاط فيه.
code_configuration:scoring_script
اسم ملف تسجيل Python (scoring_file_<VERSION>.py).
environment:conda_file
عنوان موقع ويب لملف بيئة conda الذي تم تنزيله (conda_env_<VERSION>.yml).
أنشئ دليل يسمى src/ وضع ملف تسجيل النقاط الذي قمت بتنزيله فيه. يتم تحميل هذا الدليل إلى Azure ويحتوي على كافة التعليمات البرمجية المصدر اللازمة للقيام بالاستدلال. بالنسبة لنموذج التعلم الآلي من Microsoft Azure التلقائي، هناك ملف تسجيل واحد فقط.
الاتصال بمساحة عمل التعلم الآلي من Microsoft Azure
استيراد المكتبات المطلوبة:
# import required libraries
from azure.ai.ml import MLClient
from azure.ai.ml.entities import (
ManagedOnlineEndpoint,
ManagedOnlineDeployment,
Model,
Environment,
CodeConfiguration,
)
from azure.identity import DefaultAzureCredential
تكوين تفاصيل مساحة العمل والحصول على مؤشر لمساحة العمل:
# enter details of your Azure Machine Learning workspace
subscription_id = "<SUBSCRIPTION_ID>"
resource_group = "<RESOURCE_GROUP>"
workspace = "<AZUREML_WORKSPACE_NAME>"
# get a handle to the workspace
ml_client = MLClient(
DefaultAzureCredential(), subscription_id, resource_group, workspace
)
إنشاء نقطة النهاية والتوزيع
بعد ذلك، سنقوم بإنشاء نقاط النهاية والنشر المدارة عبر الإنترنت.
تكوين نقطة النهاية عبر الإنترنت:
تلميح
name: اسم نقطة النهاية. يجب أن تكون فريدة في منطقة Azure. ويجب أن يبدأ اسم نقطة النهاية بحرف كبير أو صغير وأن يتكون فقط من أحرف «-» وأحرف أبجدية رقمية. لمزيد من المعلومات حول قواعد التسمية، راجع حدود نقطة النهاية.
auth_mode : استخدم key للمصادقة المستندة إلى مفتاح. استخدم aml_token للمصادقة المستندة إلى الرمز المميز التعلم الآلي من Microsoft Azure. لا تنتهي صلاحية key، لكن صلاحية aml_token تنتهي. لمزيد من المعلومات حول المصادقة، راجع المصادقة إلى نقطة نهاية عبر الإنترنت.
# Creating a unique endpoint name with current datetime to avoid conflicts
import datetime
online_endpoint_name = "endpoint-" + datetime.datetime.now().strftime("%m%d%H%M%f")
# create an online endpoint
endpoint = ManagedOnlineEndpoint(
name=online_endpoint_name,
description="this is a sample online endpoint",
auth_mode="key",
)
أنشئ نقطة النهاية:
باستخدام MLClient الذي تم إنشاؤه مسبقاً، سننشئ الآن نقطة النهاية في مساحة العمل. سيبدأ هذا الأمر إنشاء نقطة النهاية وإرجاع استجابة تأكيد أثناء استمرار إنشاء نقطة النهاية.
ml_client.begin_create_or_update(endpoint)
تكوين التوزيع عبر الإنترنت:
يشكل التوزيع مجموعة من الموارد اللازمة لاستضافة النموذج الذي يقوم بالاستدلال الفعلي. سننشئ توزيع لنقطة النهاية الخاصة بنا باستخدام الفئة ManagedOnlineDeployment.
في المثال أعلاه، نفترض أن الملفات التي قمت بتنزيلها من صفحة نماذج AutoML موجودة في الدليل src. يمكنك تعديل المعلمات في التعليمات البرمجية لتتناسب مع موقفك.
المعلمة
يتغير إلى
model:path
المسار إلى الملف model.pkl الذي قمت بتنزيله.
code_configuration:code:path
الدليل الذي قُمت بوضع ملف تسجيل النقاط فيه.
code_configuration:scoring_script
اسم ملف تسجيل Python (scoring_file_<VERSION>.py).
environment:conda_file
عنوان موقع ويب لملف بيئة conda الذي تم تنزيله (conda_env_<VERSION>.yml).
إنشاء التوزيع:
باستخدام MLClient الذي تم إنشاؤه مسبقاً، سننشئ الآن التوزيع في مساحة العمل. سيبدأ هذا الأمر في إنشاء التوزيع ويعيد استجابة التأكيد أثناء استمرار إنشاء التوزيع.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجع https://aka.ms/ContentUserFeedback.