مشاركة النماذج والمكونات والبيئات عبر مساحات العمل باستخدام السجلات
يتيح لك سجل Azure التعلم الآلي التعاون عبر مساحات العمل داخل مؤسستك. باستخدام السجلات، يمكنك مشاركة النماذج والمكونات والبيئات.
هناك سيناريوهان حيث تريد استخدام نفس مجموعة النماذج والمكونات والبيئات في مساحات عمل متعددة:
- MLOps عبر مساحة العمل: تقوم بتدريب نموذج في
dev
مساحة عمل وتحتاج إلى نشره فيtest
مساحات العمل وprod
. في هذه الحالة، تريد أن يكون لديك دورة حياة من طرف إلى طرف بين نقاط النهاية التي يتم نشر النموذج فيها أوtest
prod
مساحات العمل ووظيفة التدريب والمقاييس والتعليمات البرمجية والبيانات والبيئة التي تم استخدامها لتدريب النموذج فيdev
مساحة العمل. - مشاركة النماذج والتدفقات وإعادة استخدامها عبر فرق مختلفة: تعمل المشاركة وإعادة الاستخدام على تحسين التعاون والإنتاجية. في هذا السيناريو، قد تحتاج إلى نشر نموذج مدرب والمكونات والبيئات المقترنة المستخدمة لتدريبه على كتالوج مركزي. من هناك، يمكن للزملاء من الفرق الأخرى البحث عن الأصول التي شاركتها في تجاربهم الخاصة وإعادة استخدامها.
ستتعرف في هذه المقالة على كيفية:
- إنشاء بيئة ومكون في السجل.
- استخدم المكون من السجل لإرسال مهمة تدريب نموذجية في مساحة عمل.
- تسجيل النموذج المدرب في السجل.
- انشر النموذج من السجل إلى نقطة نهاية عبر الإنترنت في مساحة العمل، ثم أرسل طلب استدلال.
المتطلبات الأساسية
قبل اتباع الخطوات الواردة في هذه المقالة، تأكد من توفر المتطلبات الأساسية التالية لديك:
- اشتراك Azure. في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء. جرّب الإصدار المجاني أو المدفوع من «التعلم الآلي» من Azure.
سجل Azure التعلم الآلي لمشاركة النماذج والمكونات والبيئات. لإنشاء سجل، راجع التعرف على كيفية إنشاء سجل.
مساحة عمل للتعلم الآلي من Microsoft Azure. إذا لم يكن لديك واحدة، فاستخدم الخطوات الواردة في مقالة التشغيل السريع: إنشاء موارد مساحة العمل لإنشاء واحدة.
هام
يجب أن تكون منطقة Azure (الموقع) حيث تقوم بإنشاء مساحة العمل الخاصة بك في قائمة المناطق المدعومة لسجل Azure التعلم الآلي
Azure CLI والملحق
ml
أو Azure التعلم الآلي Python SDK v2:لتثبيت Azure CLI والملحق، راجع تثبيت CLI (v2) وإعداده واستخدامه.
هام
تفترض أمثلة CLI في هذه المقالة أنك تستخدم Bash (أو متوافق). على سبيل المثال، من النظام الخاص بـ Linux أو نظام Windows الفرعي لـ Linux.
تفترض الأمثلة أيضا أنك قمت بتكوين الإعدادات الافتراضية ل Azure CLI بحيث لا تضطر إلى تحديد المعلمات للاشتراك أو مساحة العمل أو مجموعة الموارد أو الموقع. لتعيين الإعدادات الافتراضية، استخدم الأوامر التالية. استبدل المعلمات التالية بقيم التكوين:
- استبدل
<subscription>
بمعرف اشتراك Azure الخاص بك. - استبدل
<workspace>
بمساحة عمل التعلم الآلي من Azure. - استبدل
<resource-group>
بمجموعة موارد Azure التي تحتوي على مساحة العمل لديك. - استبدل
<location>
بمنطقة Azure التي تحتوي على مساحة العمل.
az account set --subscription <subscription> az configure --defaults workspace=<workspace> group=<resource-group> location=<location>
بإمكانك معرفة ما الإعدادات الافتراضية الحالية باستخدام الأمر
az configure -l
.- استبدل
مستودع أمثلة منسوخة
تستند أمثلة التعليمات البرمجية في هذه المقالة إلى nyc_taxi_data_regression
النموذج في مستودع الأمثلة. لاستخدام هذه الملفات على بيئة التطوير الخاصة بك، استخدم الأوامر التالية لاستنساخ المستودع وتغيير الدلائل إلى المثال:
git clone https://github.com/Azure/azureml-examples
cd azureml-examples
بالنسبة لمثال CLI، قم بتغيير الدلائل إلى cli/jobs/pipelines-with-components/nyc_taxi_data_regression
في النسخة المحلية من مستودع الأمثلة.
cd cli/jobs/pipelines-with-components/nyc_taxi_data_regression
إنشاء اتصال SDK
تلميح
هذه الخطوة مطلوبة فقط عند استخدام Python SDK.
إنشاء اتصال عميل بكل من مساحة عمل Azure التعلم الآلي والسجل:
ml_client_workspace = MLClient( credential=credential,
subscription_id = "<workspace-subscription>",
resource_group_name = "<workspace-resource-group",
workspace_name = "<workspace-name>")
print(ml_client_workspace)
ml_client_registry = MLClient(credential=credential,
registry_name="<REGISTRY_NAME>",
registry_location="<REGISTRY_REGION>")
print(ml_client_registry)
إنشاء بيئة في السجل
تحدد البيئات حاوية docker وتبعيات Python المطلوبة لتشغيل مهام التدريب أو توزيع النماذج. لمزيد من المعلومات حول البيئات، راجع المقالات التالية:
تلميح
يمكن استخدام نفس أمر az ml environment create
CLI لإنشاء بيئات في مساحة عمل أو سجل. يؤدي تشغيل الأمر مع --workspace-name
الأمر إلى إنشاء البيئة في مساحة عمل بينما يؤدي تشغيل الأمر مع --registry-name
إلى إنشاء البيئة في السجل.
سنقوم بإنشاء بيئة تستخدم python:3.8
صورة docker وتثبيت حزم Python المطلوبة لتشغيل مهمة تدريبية باستخدام إطار عمل SciKit Learn. إذا قمت باستنساخ مستودع الأمثلة وكنت في المجلد cli/jobs/pipelines-with-components/nyc_taxi_data_regression
، يجب أن تكون قادرا على رؤية ملف env_train.yml
تعريف البيئة الذي يشير إلى ملف env_train/Dockerfile
docker . env_train.yml
يظهر أدناه للرجوع إليه:
$schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json
name: SKLearnEnv
version: 1
build:
path: ./env_train
إنشاء البيئة باستخدام كما az ml environment create
يلي
az ml environment create --file env_train.yml --registry-name <registry-name>
إذا تلقيت خطأ بأن بيئة بهذا الاسم والإصدار موجودة بالفعل في السجل، يمكنك إما تحرير version
الحقل في env_train.yml
أو تحديد إصدار مختلف على CLI يتجاوز قيمة الإصدار في env_train.yml
.
# use shell epoch time as the version
version=$(date +%s)
az ml environment create --file env_train.yml --registry-name <registry-name> --set version=$version
تلميح
version=$(date +%s)
يعمل فقط في Linux. استبدل $version
برقم عشوائي إذا لم ينجح ذلك.
لاحظ أسفل name
و version
البيئة من إخراج az ml environment create
الأمر واستخدمها مع az ml environment show
الأوامر كما يلي. ستحتاج إلى name
و version
في القسم التالي عند إنشاء مكون في السجل.
az ml environment show --name SKLearnEnv --version 1 --registry-name <registry-name>
تلميح
إذا استخدمت اسم بيئة أو إصدارا مختلفا، فاستبدل --name
المعلمتين و --version
وفقا لذلك.
يمكنك أيضا استخدام az ml environment list --registry-name <registry-name>
لسرد جميع البيئات في السجل.
يمكنك استعراض جميع البيئات في Azure التعلم الآلي studio. تأكد من الانتقال إلى واجهة المستخدم العمومية والبحث عن إدخال السجلات .
إنشاء مكون في السجل
المكونات هي كتل إنشاء قابلة لإعادة الاستخدام للبنية الأساسية لبرنامج ربط العمليات التجارية التعلم الآلي في Azure التعلم الآلي. يمكنك حزم التعليمات البرمجية والأمر والبيئة وواجهة الإدخال وواجهة الإخراج لخطوة مسار فردية في مكون. ثم يمكنك إعادة استخدام المكون عبر مسارات متعددة دون الحاجة إلى القلق بشأن تصدير التبعيات والرمز في كل مرة تكتب فيها مسارا مختلفا.
يتيح لك إنشاء مكون في مساحة عمل استخدام المكون في أي مهمة مسار داخل مساحة العمل هذه. يتيح لك إنشاء مكون في سجل استخدام المكون في أي مسار في أي مساحة عمل داخل مؤسستك. يعد إنشاء مكونات في السجل طريقة رائعة لإنشاء أدوات مساعدة نمطية قابلة لإعادة الاستخدام أو مهام التدريب المشتركة التي يمكن استخدامها للتجريب من قبل فرق مختلفة داخل مؤسستك.
لمزيد من المعلومات حول المكونات، راجع المقالات التالية:
كيفية استخدام المكونات في البنية الأساسية لبرنامج ربط العمليات التجارية (CLI)
كيفية استخدام المكونات في البنية الأساسية لبرنامج ربط العمليات التجارية (SDK)
هام
دعم التسجيل فقط للحصول على أصول مسماة (البيانات/النموذج/المكون/البيئة). إذا كنت تريد الرجوع إلى أصل في سجل، فستحتاج إلى إنشائه في السجل أولا. خاصة بالنسبة لحالة مكون البنية الأساسية لبرنامج ربط العمليات التجارية، إذا كنت تريد مكونا مرجعيا أو بيئة في مكون البنية الأساسية لبرنامج ربط العمليات التجارية، فأنت بحاجة أولا إلى إنشاء المكون أو البيئة في السجل.
تأكد من أنك في المجلد cli/jobs/pipelines-with-components/nyc_taxi_data_regression
. ستجد ملف train.yml
تعريف المكون الذي يحزم البرنامج النصي train_src/train.py
لتدريب Scikit Learn والبيئة AzureML-sklearn-0.24-ubuntu18.04-py37-cpu
المنسقة . سنستخدم بيئة Scikit Learn التي تم إنشاؤها في خطوة ضارة بدلا من البيئة المنسقة. يمكنك تحرير environment
الحقل في train.yml
للإشارة إلى بيئة Scikit Learn. سيكون ملف train.yml
تعريف المكون الناتج مشابها للمثال التالي:
# <component>
$schema: https://azuremlschemas.azureedge.net/latest/commandComponent.schema.json
name: train_linear_regression_model
display_name: TrainLinearRegressionModel
version: 1
type: command
inputs:
training_data:
type: uri_folder
test_split_ratio:
type: number
min: 0
max: 1
default: 0.2
outputs:
model_output:
type: mlflow_model
test_data:
type: uri_folder
code: ./train_src
environment: azureml://registries/<registry-name>/environments/SKLearnEnv/versions/1`
command: >-
python train.py
--training_data ${{inputs.training_data}}
--test_data ${{outputs.test_data}}
--model_output ${{outputs.model_output}}
--test_split_ratio ${{inputs.test_split_ratio}}
إذا استخدمت اسما أو إصدارا مختلفا، فإن التمثيل الأكثر عمومية يبدو كما يلي: environment: azureml://registries/<registry-name>/environments/<sklearn-environment-name>/versions/<sklearn-environment-version>
، لذا تأكد من استبدال <registry-name>
، <sklearn-environment-name>
<sklearn-environment-version>
وبناء على ذلك. ثم قم بتشغيل az ml component create
الأمر لإنشاء المكون كما يلي.
az ml component create --file train.yml --registry-name <registry-name>
تلميح
يمكن استخدام نفس أمر az ml component create
CLI لإنشاء مكونات في مساحة عمل أو سجل. يؤدي تشغيل الأمر مع --workspace-name
الأمر إلى إنشاء المكون في مساحة عمل بينما يؤدي تشغيل الأمر مع --registry-name
إلى إنشاء المكون في السجل.
إذا كنت تفضل عدم تحرير train.yml
، يمكنك تجاوز اسم البيئة على CLI كما يلي:
az ml component create --file train.yml --registry-name <registry-name>` --set environment=azureml://registries/<registry-name>/environments/SKLearnEnv/versions/1
# or if you used a different name or version, replace `<sklearn-environment-name>` and `<sklearn-environment-version>` accordingly
az ml component create --file train.yml --registry-name <registry-name>` --set environment=azureml://registries/<registry-name>/environments/<sklearn-environment-name>/versions/<sklearn-environment-version>
تلميح
إذا تلقيت خطأ بأن اسم المكون موجود بالفعل في السجل، يمكنك إما تحرير الإصدار في train.yml
أو تجاوز الإصدار على CLI بإصدار عشوائي.
دون المكون name
و من إخراج az ml component create
الأمر واستخدمهما مع az ml component show
version
الأوامر كما يلي. ستحتاج إلى name
و version
في القسم التالي عند إنشاء إرسال مهمة تدريب في مساحة العمل.
az ml component show --name <component_name> --version <component_version> --registry-name <registry-name>
يمكنك أيضا استخدام az ml component list --registry-name <registry-name>
لسرد جميع المكونات في السجل.
يمكنك استعراض جميع المكونات في Azure التعلم الآلي studio. تأكد من الانتقال إلى واجهة المستخدم العمومية والبحث عن إدخال السجلات .
تشغيل مهمة البنية الأساسية لبرنامج ربط العمليات التجارية في مساحة عمل باستخدام مكون من السجل
عند تشغيل مهمة البنية الأساسية لبرنامج ربط العمليات التجارية التي تستخدم مكونا من سجل، تكون موارد الحوسبة وبيانات التدريب محلية إلى مساحة العمل. لمزيد من المعلومات حول تشغيل المهام، راجع المقالات التالية:
- تشغيل المهام (CLI)
- تشغيل المهام (SDK)
- مهام البنية الأساسية لبرنامج ربط العمليات التجارية مع المكونات (CLI)
- مهام البنية الأساسية لبرنامج ربط العمليات التجارية مع المكونات (SDK)
سنقوم بتشغيل مهمة البنية الأساسية لبرنامج ربط العمليات التجارية باستخدام مكون تدريب Scikit Learn الذي تم إنشاؤه في القسم السابق لتدريب نموذج. تحقق من أنك في المجلد cli/jobs/pipelines-with-components/nyc_taxi_data_regression
. توجد مجموعة بيانات التدريب في data_transformed
المجلد . قم بتحرير component
المقطع في أسفل train_job
قسم من single-job-pipeline.yml
الملف للإشارة إلى مكون التدريب الذي تم إنشاؤه في القسم السابق. يظهر الناتج single-job-pipeline.yml
أدناه.
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: nyc_taxi_data_regression_single_job
description: Single job pipeline to train regression model based on nyc taxi dataset
jobs:
train_job:
type: command
component: azureml://registries/<registry-name>/component/train_linear_regression_model/versions/1
compute: azureml:cpu-cluster
inputs:
training_data:
type: uri_folder
path: ./data_transformed
outputs:
model_output:
type: mlflow_model
test_data:
الجانب الرئيسي هو أن هذا المسار سيتم تشغيله في مساحة عمل باستخدام مكون غير موجود في مساحة العمل المحددة. المكون موجود في سجل يمكن استخدامه مع أي مساحة عمل في مؤسستك. يمكنك تشغيل مهمة التدريب هذه في أي مساحة عمل لديك حق الوصول إليها دون القلق بشأن إتاحة التعليمات البرمجية للتدريب والبيئة في مساحة العمل هذه.
تحذير
- قبل تشغيل مهمة البنية الأساسية لبرنامج ربط العمليات التجارية، تأكد من أن مساحة العمل التي ستقوم بتشغيل المهمة فيها موجودة في منطقة Azure التي يدعمها السجل الذي قمت بإنشاء المكون فيه.
- تأكد من أن مساحة العمل تحتوي على نظام مجموعة حساب بالاسم
cpu-cluster
أو قم بتحريرcompute
الحقل تحتjobs.train_job.compute
باسم الحساب الخاص بك.
تشغيل مهمة البنية الأساسية لبرنامج ربط العمليات التجارية باستخدام az ml job create
الأمر .
az ml job create --file single-job-pipeline.yml
تلميح
إذا لم تقم بتكوين مساحة العمل الافتراضية ومجموعة الموارد كما هو موضح في قسم المتطلبات الأساسية، فستحتاج إلى تحديد --workspace-name
المعلمتين و --resource-group
للعمل az ml job create
.
بدلا من ذلك، يمكنك تخطي تحرير single-job-pipeline.yml
اسم المكون المستخدم في CLI وتجاوزه train_job
.
az ml job create --file single-job-pipeline.yml --set jobs.train_job.component=azureml://registries/<registry-name>/component/train_linear_regression_model/versions/1
نظرا لأنه تتم مشاركة المكون المستخدم في مهمة التدريب من خلال سجل، يمكنك إرسال المهمة إلى أي مساحة عمل لديك حق الوصول إليها في مؤسستك، حتى عبر اشتراكات مختلفة. على سبيل المثال، إذا كان لديك dev-workspace
، test-workspace
و prod-workspace
، فإن تشغيل مهمة التدريب في مساحات العمل الثلاثة هذه سهل مثل تشغيل ثلاثة az ml job create
أوامر.
az ml job create --file single-job-pipeline.yml --workspace-name dev-workspace --resource-group <resource-group-of-dev-workspace>
az ml job create --file single-job-pipeline.yml --workspace-name test-workspace --resource-group <resource-group-of-test-workspace>
az ml job create --file single-job-pipeline.yml --workspace-name prod-workspace --resource-group <resource-group-of-prod-workspace>
في Azure التعلم الآلي studio، حدد ارتباط نقطة النهاية في إخراج الوظيفة لعرض المهمة. هنا يمكنك تحليل مقاييس التدريب، والتحقق من أن الوظيفة تستخدم المكون والبيئة من السجل، ومراجعة النموذج المدرب. name
دون المهمة من الإخراج أو ابحث عن نفس المعلومات من نظرة عامة على الوظيفة في Azure التعلم الآلي studio. ستحتاج إلى هذه المعلومات لتنزيل النموذج المدرب في القسم التالي حول إنشاء نماذج في السجل.
إنشاء نموذج في السجل
ستتعلم كيفية إنشاء نماذج في سجل في هذا القسم. راجع إدارة النماذج لمعرفة المزيد حول إدارة النماذج في Azure التعلم الآلي. سننظر في طريقتين مختلفتين لإنشاء نموذج في السجل. الأول من الملفات المحلية. ثانيا، هو نسخ نموذج مسجل في مساحة العمل إلى سجل.
في كلا الخيارين، ستقوم بإنشاء نموذج بتنسيق MLflow، والذي سيساعدك على نشر هذا النموذج للاستدلال دون كتابة أي رمز استدلال.
إنشاء نموذج في السجل من الملفات المحلية
قم بتنزيل النموذج، والذي يتوفر كإخراج ل train_job
عن طريق استبدال <job-name>
بالاسم من الوظيفة من القسم السابق. يجب أن يكون النموذج جنبا إلى جنب مع ملفات بيانات تعريف MLflow متوفرا ./artifacts/model/
في .
# fetch the name of the train_job by listing all child jobs of the pipeline job
train_job_name=$(az ml job list --parent-job-name <job-name> --query [0].name | sed 's/\"//g')
# download the default outputs of the train_job
az ml job download --name $train_job_name
# review the model files
ls -l ./artifacts/model/
تلميح
إذا لم تقم بتكوين مساحة العمل الافتراضية ومجموعة الموارد كما هو موضح في قسم المتطلبات الأساسية، فستحتاج إلى تحديد --workspace-name
المعلمتين و --resource-group
للعمل az ml model create
.
تحذير
يتم تمرير إخراج az ml job list
إلى sed
. يعمل هذا فقط على Linux shells. إذا كنت تستخدم Windows، فقم بتشغيل az ml job list --parent-job-name <job-name> --query [0].name
وتعرية أي علامات اقتباس تراها في اسم مهمة التدريب.
إذا كنت غير قادر على تنزيل النموذج، يمكنك العثور على نموذج MLflow تم تدريبه بواسطة مهمة التدريب في القسم السابق في cli/jobs/pipelines-with-components/nyc_taxi_data_regression/artifacts/model/
المجلد.
إنشاء النموذج في السجل:
# create model in registry
az ml model create --name nyc-taxi-model --version 1 --type mlflow_model --path ./artifacts/model/ --registry-name <registry-name>
تلميح
- استخدم رقما عشوائيا للمعلمة
version
إذا تلقيت خطأ بوجود اسم النموذج وإصداره. - يمكن استخدام نفس أمر
az ml model create
CLI لإنشاء نماذج في مساحة عمل أو سجل. يؤدي تشغيل الأمر باستخدام--workspace-name
الأمر إلى إنشاء النموذج في مساحة عمل بينما يؤدي تشغيل الأمر مع--registry-name
إلى إنشاء النموذج في السجل.
مشاركة نموذج من مساحة العمل إلى السجل
في سير العمل هذا، ستقوم أولا بإنشاء النموذج في مساحة العمل ثم مشاركته إلى السجل. يكون سير العمل هذا مفيدا عندما تريد اختبار النموذج في مساحة العمل قبل مشاركته. على سبيل المثال، انشره في نقاط النهاية، وجرب الاستدلال مع بعض بيانات الاختبار ثم انسخ النموذج إلى سجل إذا كان كل شيء يبدو جيدا. قد يكون سير العمل هذا مفيدا أيضا عند تطوير سلسلة من النماذج باستخدام تقنيات أو أطر عمل أو معلمات مختلفة وتريد ترقية واحد منها فقط إلى السجل كمرشح إنتاج.
تأكد من أن لديك اسم مهمة البنية الأساسية لبرنامج ربط العمليات التجارية من القسم السابق واستبدل ذلك في الأمر لإحضار اسم مهمة التدريب أدناه. ثم ستقوم بتسجيل النموذج من إخراج مهمة التدريب في مساحة العمل. لاحظ كيف تشير المعلمة --path
إلى إخراج الإخراج train_job
باستخدام بناء الجملة azureml://jobs/$train_job_name/outputs/artifacts/paths/model
.
# fetch the name of the train_job by listing all child jobs of the pipeline job
train_job_name=$(az ml job list --parent-job-name <job-name> --workspace-name <workspace-name> --resource-group <workspace-resource-group> --query [0].name | sed 's/\"//g')
# create model in workspace
az ml model create --name nyc-taxi-model --version 1 --type mlflow_model --path azureml://jobs/$train_job_name/outputs/artifacts/paths/model
تلميح
- استخدم رقما عشوائيا للمعلمة
version
إذا تلقيت خطأ بوجود اسم النموذج وإصداره." - إذا لم تقم بتكوين مساحة العمل الافتراضية ومجموعة الموارد كما هو موضح في قسم المتطلبات الأساسية، فستحتاج إلى تحديد
--workspace-name
المعلمتين و--resource-group
للعملaz ml model create
.
دون اسم النموذج وإصداره. يمكنك التحقق مما إذا كان النموذج مسجلا في مساحة العمل عن طريق استعراضه في واجهة مستخدم Studio أو باستخدام az ml model show --name nyc-taxi-model --version $model_version
الأمر .
بعد ذلك، ستقوم الآن بمشاركة النموذج من مساحة العمل إلى السجل.
# share model registered in workspace to registry
az ml model share --name nyc-taxi-model --version 1 --registry-name <registry-name> --share-with-name <new-name> --share-with-version <new-version>
تلميح
- تأكد من استخدام اسم النموذج الصحيح وإصداره إذا قمت بتغييره في
az ml model create
الأمر . - يحتوي الأمر أعلاه على معلمتين اختياريتين "--share-with-name" و"--share-with-version". إذا لم يتم توفيرها، فسيكون للنموذج الجديد نفس اسم النموذج الذي تتم مشاركته وإصداره.
لاحظ أسفل
name
وversion
النموذج من إخراجaz ml model create
الأمر واستخدمهما معaz ml model show
الأوامر كما يلي. ستحتاج إلىname
وversion
في القسم التالي عند نشر النموذج إلى نقطة نهاية عبر الإنترنت للاستدلال.
az ml model show --name <model_name> --version <model_version> --registry-name <registry-name>
يمكنك أيضا استخدام az ml model list --registry-name <registry-name>
لسرد جميع النماذج في السجل أو استعراض جميع المكونات في واجهة مستخدم Azure التعلم الآلي studio. تأكد من الانتقال إلى واجهة المستخدم العمومية والبحث عن مركز السجلات.
تظهر لقطة الشاشة التالية نموذجا في سجل في Azure التعلم الآلي studio. إذا قمت بإنشاء نموذج من إخراج الوظيفة ثم نسخت النموذج من مساحة العمل إلى السجل، فسترى أن النموذج يحتوي على ارتباط إلى الوظيفة التي دربت النموذج. يمكنك استخدام هذا الارتباط للانتقال إلى مهمة التدريب لمراجعة التعليمات البرمجية والبيئة والبيانات المستخدمة لتدريب النموذج.
نشر نموذج من التسجيل إلى نقطة النهاية عبر الإنترنت في مساحة العمل
في القسم الأخير، ستقوم بنشر نموذج من السجل إلى نقطة نهاية عبر الإنترنت في مساحة عمل. يمكنك اختيار نشر أي مساحة عمل لديك حق الوصول إليها في مؤسستك، شريطة أن يكون موقع مساحة العمل أحد المواقع التي يدعمها السجل. هذه الإمكانية مفيدة إذا قمت بتدريب نموذج في dev
مساحة عمل وتحتاج الآن إلى نشر النموذج إلى test
أو prod
مساحة العمل، مع الحفاظ على معلومات دورة الحياة حول التعليمات البرمجية والبيئة والبيانات المستخدمة لتدريب النموذج.
تتيح لك نقاط النهاية عبر الإنترنت نشر النماذج وإرسال طلبات الاستدلال من خلال واجهات برمجة تطبيقات REST. لمزيد من المعلومات، راجع كيفية نشر نموذج التعلم الآلي وتسجيله باستخدام نقطة نهاية عبر الإنترنت.
إنشاء نقطة نهاية عبر الإنترنت.
az ml online-endpoint create --name reg-ep-1234
قم بتحديث model:
السطر deploy.yml
المتوفر في cli/jobs/pipelines-with-components/nyc_taxi_data_regression
المجلد للإشارة إلى اسم النموذج والإصدار من الخطوة السابقة. إنشاء نشر عبر الإنترنت إلى نقطة النهاية عبر الإنترنت. deploy.yml
يظهر أدناه للرجوع إليه.
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: demo
endpoint_name: reg-ep-1234
model: azureml://registries/<registry-name>/models/nyc-taxi-model/versions/1
instance_type: Standard_DS2_v2
instance_count: 1
إنشاء النشر عبر الإنترنت. يستغرق النشر عدة دقائق للاكتمال.
az ml online-deployment create --file deploy.yml --all-traffic
إحضار URI لتسجيل النقاط وإرسال نموذج طلب تسجيل. تتوفر بيانات نموذجية لطلب تسجيل النقاط في scoring-data.json
في cli/jobs/pipelines-with-components/nyc_taxi_data_regression
المجلد .
ENDPOINT_KEY=$(az ml online-endpoint get-credentials -n reg-ep-1234 -o tsv --query primaryKey)
SCORING_URI=$(az ml online-endpoint show -n reg-ep-1234 -o tsv --query scoring_uri)
curl --request POST "$SCORING_URI" --header "Authorization: Bearer $ENDPOINT_KEY" --header 'Content-Type: application/json' --data @./scoring-data.json
تلميح
curl
يعمل الأمر فقط على Linux.- إذا لم تقم بتكوين مساحة العمل الافتراضية ومجموعة الموارد كما هو موضح في قسم المتطلبات الأساسية، فستحتاج إلى تحديد
--workspace-name
المعلمات و--resource-group
للأمرينaz ml online-endpoint
وaz ml online-deployment
للعمل.
تنظيف الموارد
إذا كنت لا تستخدم التوزيع، فيجب حذفه لتقليل التكاليف. يحذف المثال التالي نقطة النهاية وجميع عمليات النشر الأساسية:
az ml online-endpoint delete --name reg-ep-1234 --yes --no-wait
الخطوات التالية
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ