تشغيل وظيفة R لتدريب نموذج

ينطبق على:ملحق CLI للتعلم الآلي من Microsoft Azure v2 (الحالي)

توضح هذه المقالة كيفية أخذ البرنامج النصي R الذي قمت بتكييفه للتشغيل في الإنتاج وإعداده للتشغيل كوظيفة R باستخدام Azure التعلم الآلي CLI V2.

إشعار

على الرغم من أن عنوان هذه المقالة يشير إلى تدريب نموذج، يمكنك بالفعل تشغيل أي نوع من البرامج النصية 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:

  1. سجل الدخول وافتح مساحة العمل الخاصة بك.
  2. في شريط أدوات أستوديو Azure Machine Learning العلوي الأيمن، حدد اسم مساحة العمل الخاصة بك.
  3. يمكنك نسخ القيم من المقطع الذي يظهر.

لقطة شاشة: ابحث عن القيم لاستخدامها في أمر CLI.

لإرسال المهمة، قم بتشغيل الأوامر التالية في نافذة طرفية:

  1. قم بتغيير الدلائل إلى r-job-azureml.

    cd r-job-azureml
    
  2. تسجيل الدخول إلى أزور. إذا كنت تقوم بذلك من مثيل حساب Azure التعلم الآلي، فاستخدم:

    az login --identity
    

    إذا لم تكن على مثيل الحساب، فاحذف --identity المطالبة واتبعها لفتح نافذة مستعرض للمصادقة.

  3. تأكد من أن لديك أحدث إصدارات CLI والملحق ml :

    az upgrade
    
  4. إذا كان لديك اشتراكات Azure متعددة، فقم بتعيين الاشتراك النشط إلى الاشتراك الذي تستخدمه لمساحة العمل الخاصة بك. (يمكنك تخطي هذه الخطوة إذا كان لديك حق الوصول إلى اشتراك واحد فقط.) استبدل <SUBSCRIPTION-NAME> باسم اشتراكك. قم أيضا بإزالة الأقواس <>.

    az account set --subscription "<SUBSCRIPTION-NAME>"
    
  5. الآن استخدم CLI لإرسال المهمة. إذا كنت تقوم بذلك على مثيل حساب في مساحة العمل الخاصة بك، يمكنك استخدام متغيرات البيئة لاسم مساحة العمل ومجموعة الموارد كما هو مبين في التعليمات البرمجية التالية. إذا لم تكن على مثيل حساب، فاستبدل هذه القيم باسم مساحة العمل ومجموعة الموارد.

    az ml job create -f job.yml  --workspace-name $CI_WORKSPACE --resource-group $CI_RESOURCE_GROUP
    

بمجرد إرسال المهمة، يمكنك التحقق من الحالة والنتائج في الاستوديو:

  1. سجل الدخول إلى Azure Machine Learning Studio.
  2. حدد مساحة العمل إذا لم تكن محملة بالفعل.
  3. في جزء التنقل الأيمن، حدد Jobs.
  4. حدد اسم التجربة الذي استخدمته لتدريب النموذج الخاص بك.
  5. حدد اسم العرض للوظيفة لعرض تفاصيل المهمة وبياناتها الاصطناعية، بما في ذلك المقاييس والصور والمهام التابعة والمخرجات والسجلات والرمز المستخدم في الوظيفة.

تسجيل النموذج

وأخيرا، بمجرد اكتمال مهمة التدريب، قم بتسجيل النموذج الخاص بك إذا كنت ترغب في توزيعه. ابدأ في الاستوديو من الصفحة التي تعرض تفاصيل وظيفتك.

  1. بمجرد اكتمال وظيفتك، حدد Outputs + logs لعرض مخرجات الوظيفة.

  2. افتح مجلد النماذج للتحقق من وجود crate.bin وMLmodel. إذا لم يكن الأمر كما هو، فتحقق من السجلات لمعرفة ما إذا كان هناك خطأ.

  3. في شريط الأدوات في الأعلى، حدد + Register model.

    تظهر لقطة الشاشة قسم Job في الاستوديو مع فتح قسم Outputs.

  4. لا تستخدم نوع نموذج MLflow ، على الرغم من اكتشافه. تغيير نوع النموذج من MLflow الافتراضي إلى النوع غير المحدد. سيؤدي تركه ك MLflow إلى حدوث خطأ.

  5. بالنسبة إلى إخراج الوظيفة، حدد النماذج، المجلد الذي يحتوي على النموذج.

  6. حدد التالي.

  7. قم بتوفير الاسم الذي ترغب في استخدامه للنموذج الخاص بك. أضف الوصف والإصدار والعلامات إذا كنت ترغب في ذلك.

  8. حدد التالي.

  9. راجع المعلومات.

  10. حدد تسجيل.

في أعلى الصفحة، سترى تأكيدا على أن النموذج مسجل. يبدو التأكيد مشابها لما يلي:

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

حدد انقر هنا للانتقال إلى هذا النموذج. إذا كنت ترغب في عرض تفاصيل النموذج المسجل.

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

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