تشغيل وظيفة R لتدريب نموذج
ينطبق على:ملحق CLI للتعلم الآلي من Microsoft Azure v2 (الحالي)
توضح هذه المقالة كيفية أخذ البرنامج النصي R الذي قمت بتكييفه للتشغيل في الإنتاج وإعداده للتشغيل كوظيفة R باستخدام Azure التعلم الآلي CLI V2.
إشعار
على الرغم من أن عنوان هذه المقالة يشير إلى تدريب نموذج، يمكنك بالفعل تشغيل أي نوع من البرامج النصية R طالما أنه يفي بالمتطلبات المذكورة في مقالة التكيف.
المتطلبات الأساسية
- مساحة عمل للتعلم الآلي من Microsoft Azure.
- أصل بيانات مسجل تستخدمه وظيفتك التدريبية.
- تم تثبيت Azure CLI وملحق ml. أو استخدم مثيل حساب في مساحة العمل الخاصة بك، والتي تحتوي على CLI مثبت مسبقا.
- نظام مجموعة حساب أو مثيل حساب لتشغيل وظيفة التدريب الخاصة بك.
- بيئة R لمجموعة الحوسبة لاستخدامها لتشغيل المهمة.
إنشاء مجلد بهذه البنية
أنشئ بنية المجلد هذه لمشروعك:
📁 r-job-azureml
├─ src
│ ├─ azureml_utils.R
│ ├─ r-source.R
├─ job.yml
هام
جميع التعليمات البرمجية المصدر تذهب في src
الدليل.
- المصدر r. ملف R هو البرنامج النصي R الذي قمت بتكييفه للتشغيل في الإنتاج. تأكد من اتباع الخطوات لتحديد الصندوق وتسجيل النموذج الخاص بك في هذا البرنامج النصي.
- azureml_utils . ملف R ضروري. استخدم التعليمات البرمجية المصدر هذه لمحتويات الملف.
إعداد الوظيفة YAML
يحتوي Azure التعلم الآلي CLI v2 على مخططات YAML مختلفة لعمليات مختلفة. يمكنك استخدام مخطط YAML للمهمة لإرسال وظيفة في ملف job.yml الذي يعد جزءا من هذا المشروع.
تحتاج إلى جمع أجزاء محددة من المعلومات لوضعها في YAML:
- اسم أصل البيانات المسجلة الذي تستخدمه كإدخل للبيانات (مع الإصدار):
azureml:<REGISTERED-DATA-ASSET>:<VERSION>
- اسم البيئة التي قمت بإنشائها (مع الإصدار):
azureml:<R-ENVIRONMENT-NAME>:<VERSION>
- اسم مجموعة الحوسبة:
azureml:<COMPUTE-CLUSTER-NAME>
تلميح
بالنسبة إلى Azure التعلم الآلي البيانات الاصطناعية التي تتطلب إصدارات (أصول البيانات والبيئات)، يمكنك استخدام اختصار URI azureml:<AZUREML-ASSET>@latest
للحصول على أحدث إصدار من تلك الأداة إذا لم تكن بحاجة إلى تعيين إصدار معين.
نموذج مخطط YAML لإرسال وظيفة
قم بتحرير ملف job.yml الخاص بك ليحتوي على ما يلي. تأكد من استبدال القيم المعروضة <IN-BRACKETS-AND-CAPS>
وإزالة الأقواس.
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
# the Rscript command goes in the command key below. Here you also specify
# which parameters are passed into the R script and can reference the input
# keys and values further below
# Modify any value shown below <IN-BRACKETS-AND-CAPS> (remove the brackets)
command: >
Rscript <NAME-OF-R-SCRIPT>.R
--data_file ${{inputs.datafile}}
--other_input_parameter ${{inputs.other}}
code: src # this is the code directory
inputs:
datafile: # this is a registered data asset
type: uri_file
path: azureml:<REGISTERED-DATA-ASSET>@latest
other: 1 # this is a sample parameter, which is the number 1 (as text)
environment: azureml:<R-ENVIRONMENT-NAME>@latest
compute: azureml:<COMPUTE-CLUSTER-OR-INSTANCE-NAME>
experiment_name: <NAME-OF-EXPERIMENT>
description: <DESCRIPTION>
إرسال المهمة
في الأوامر التالية في هذا القسم، قد تحتاج إلى معرفة:
- اسم مساحة عمل Azure التعلم الآلي
- اسم مجموعة الموارد حيث تكون مساحة العمل
- الاشتراك حيث تكون مساحة العمل
ابحث عن هذه القيم من Azure التعلم الآلي studio:
- سجل الدخول وافتح مساحة العمل الخاصة بك.
- في شريط أدوات أستوديو Azure Machine Learning العلوي الأيمن، حدد اسم مساحة العمل الخاصة بك.
- يمكنك نسخ القيم من المقطع الذي يظهر.
لإرسال المهمة، قم بتشغيل الأوامر التالية في نافذة طرفية:
قم بتغيير الدلائل إلى
r-job-azureml
.cd r-job-azureml
تسجيل الدخول إلى أزور. إذا كنت تقوم بذلك من مثيل حساب Azure التعلم الآلي، فاستخدم:
az login --identity
إذا لم تكن على مثيل الحساب، فاحذف
--identity
المطالبة واتبعها لفتح نافذة مستعرض للمصادقة.تأكد من أن لديك أحدث إصدارات CLI والملحق
ml
:az upgrade
إذا كان لديك اشتراكات Azure متعددة، فقم بتعيين الاشتراك النشط إلى الاشتراك الذي تستخدمه لمساحة العمل الخاصة بك. (يمكنك تخطي هذه الخطوة إذا كان لديك حق الوصول إلى اشتراك واحد فقط.) استبدل
<SUBSCRIPTION-NAME>
باسم اشتراكك. قم أيضا بإزالة الأقواس<>
.az account set --subscription "<SUBSCRIPTION-NAME>"
الآن استخدم CLI لإرسال المهمة. إذا كنت تقوم بذلك على مثيل حساب في مساحة العمل الخاصة بك، يمكنك استخدام متغيرات البيئة لاسم مساحة العمل ومجموعة الموارد كما هو مبين في التعليمات البرمجية التالية. إذا لم تكن على مثيل حساب، فاستبدل هذه القيم باسم مساحة العمل ومجموعة الموارد.
az ml job create -f job.yml --workspace-name $CI_WORKSPACE --resource-group $CI_RESOURCE_GROUP
بمجرد إرسال المهمة، يمكنك التحقق من الحالة والنتائج في الاستوديو:
- سجل الدخول إلى Azure Machine Learning Studio.
- حدد مساحة العمل إذا لم تكن محملة بالفعل.
- في جزء التنقل الأيمن، حدد Jobs.
- حدد اسم التجربة الذي استخدمته لتدريب النموذج الخاص بك.
- حدد اسم العرض للوظيفة لعرض تفاصيل المهمة وبياناتها الاصطناعية، بما في ذلك المقاييس والصور والمهام التابعة والمخرجات والسجلات والرمز المستخدم في الوظيفة.
تسجيل النموذج
وأخيرا، بمجرد اكتمال مهمة التدريب، قم بتسجيل النموذج الخاص بك إذا كنت ترغب في توزيعه. ابدأ في الاستوديو من الصفحة التي تعرض تفاصيل وظيفتك.
بمجرد اكتمال وظيفتك، حدد Outputs + logs لعرض مخرجات الوظيفة.
افتح مجلد النماذج للتحقق من وجود crate.bin وMLmodel. إذا لم يكن الأمر كما هو، فتحقق من السجلات لمعرفة ما إذا كان هناك خطأ.
في شريط الأدوات في الأعلى، حدد + Register model.
لا تستخدم نوع نموذج MLflow ، على الرغم من اكتشافه. تغيير نوع النموذج من MLflow الافتراضي إلى النوع غير المحدد. سيؤدي تركه ك MLflow إلى حدوث خطأ.
بالنسبة إلى إخراج الوظيفة، حدد النماذج، المجلد الذي يحتوي على النموذج.
حدد التالي.
قم بتوفير الاسم الذي ترغب في استخدامه للنموذج الخاص بك. أضف الوصف والإصدار والعلامات إذا كنت ترغب في ذلك.
حدد التالي.
راجع المعلومات.
حدد تسجيل.
في أعلى الصفحة، سترى تأكيدا على أن النموذج مسجل. يبدو التأكيد مشابها لما يلي:
حدد انقر هنا للانتقال إلى هذا النموذج. إذا كنت ترغب في عرض تفاصيل النموذج المسجل.
الخطوات التالية
الآن بعد أن أصبح لديك نموذج مسجل، تعرف على كيفية نشر نموذج R إلى نقطة نهاية عبر الإنترنت (في الوقت الحقيقي).