إنشاء مثيل حساب Azure التعلم الآلي وإدارته باستخدام CLI v1

ينطبق على:ملحق Azure CLI ml v1Python SDK azureml v1

تعرف على كيفية إنشاء مثيل حساب وإدارته في مساحة عمل Azure التعلم الآلي باستخدام CLI v1.

استخدم مثيل حساب كبيئة تطوير مكونة ومدارة بالكامل في السحابة. للتطوير والاختبار، يمكنك أيضاً استخدام المثال باعتباره هدف حساب تدريب أو هدف استنتاج. يمكن لمثيل الحساب تشغيل مهام متعددة على التوازي ولديها قائمة انتظار مهام. كبيئة تطوير، لا يمكن مشاركة مثيل الحساب مع مستخدمين آخرين في مساحة العمل الخاصة بك.

يمكن لمثيلات الحساب تشغيل المهام بأمان في بيئة شبكة ظاهرية، دون مطالبة المؤسسات بفتح منافذ SSH. تنفذ المهمة في بيئة حاويات وتعبأ تبعيات النموذج الخاص بك في حاوية Docker.

في هذه المقالة، ستتعرف على كيفية:

  • قم بإنشاء حساب مثيل
  • إدارة (بدء، إيقاف، إعادة تشغيل، حذف) مثيل حساب

إشعار

تتناول هذه المقالة فقط كيفية تنفيذ هذه المهام باستخدام CLI v1. للحصول على طرق أحدث لإدارة مثيل حساب، راجع إنشاء نظام مجموعة حساب Azure التعلم الآلي.

المتطلبات الأساسية

إنشاء

هام

العناصر التي تم وضع علامة عليها (معاينة) أدناه موجودة حاليا في المعاينة العامة. تتوفر نسخة الإصدار الأولي دون اتفاقية مستوى الخدمة، ولا يوصى به لأحمال عمل الإنتاج. بعض الميزات ربما لا تكون مدعمة أو بها بعض القدرات المقيدة. لمزيد من المعلومات، راجع ⁧⁩شروط الاستخدام التكميلية لمعاينات Microsoft Azure⁧⁩.

تقدير الوقت: حوالي 5 دقائق.

يعد إنشاء مثيل حساب عملية لمرة واحدة لمساحة العمل الخاصة بك. يمكنك إعادة استخدام الحساب كمحطة عمل تطوير أو كهدف حساب للتدريب. يمكن أن يكون لديك مثيلات متعددة للحساب متصلة بمساحة العمل الخاصة بك.

يتم توحيد النوى المخصصة لكل منطقة لكل حصة عائلة VM وإجمالي الحصة الإقليمية، والتي تنطبق على إنشاء مثيل الحساب، ومشاركتها مع حصة مجموعة حساب التدريب على التعلم الآلي في Azure. لا يؤدي إيقاف مثيل الحساب إلى إصدار الحصة لضمان قدرتك على إعادة تشغيل مثيل الحساب. لا يمكن تغيير حجم الجهاز الظاهري لمثيل الحساب بمجرد إنشائه.

يوضح المثال التالي كيفية إنشاء مثيل حساب:

ينطبق على: Python SDK azureml v1

import datetime
import time

from azureml.core.compute import ComputeTarget, ComputeInstance
from azureml.core.compute_target import ComputeTargetException

# Choose a name for your instance
# Compute instance name should be unique across the azure region
compute_name = "ci{}".format(ws._workspace_id)[:10]

# Verify that instance does not exist already
try:
    instance = ComputeInstance(workspace=ws, name=compute_name)
    print('Found existing instance, use it.')
except ComputeTargetException:
    compute_config = ComputeInstance.provisioning_configuration(
        vm_size='STANDARD_D3_V2',
        ssh_public_access=False,
        # vnet_resourcegroup_name='<my-resource-group>',
        # vnet_name='<my-vnet-name>',
        # subnet_name='default',
        # admin_user_ssh_public_key='<my-sshkey>'
    )
    instance = ComputeInstance.create(ws, compute_name, compute_config)
    instance.wait_for_completion(show_output=True)

لمزيد من المعلومات حول الفئات والأساليب والمعلمات المستخدمة في هذا المثال، راجع المستندات المرجعية التالية:

إدارة

بدء، وإيقاف، وإعادة تشغيل، وحذف مثيل حساب. لا يتم تقليص مثيل الحساب تلقائيا، لذا تأكد من إيقاف المورد لمنع استمرار الرسوم. يؤدي إيقاف مثيل حساب إلى إلغاء تخصيصه. ثم ابدأها مرة أخرى عندما تحتاجها. أثناء إيقاف مثيل الحساب تتوقف الفوترة لساعات الحساب، ستظل تتم محاسبتك على القرص وعنوان IP العام وموازن التحميل القياسي.

تلميح

يحتوي مثيل الحساب على قرص نظام تشغيل بسعة 120 غيغابايت. إذا نفدت مساحة القرص، فاستخدم المحطة الطرفية لمسح ما لا يقل عن 1-2 جيجابايت قبل إيقاف أو إعادة تشغيل مثيل الحساب. يرجى عدم إيقاف مثيل الحساب باستخدام إصدار إغلاق sudo من المحطة الطرفية. يعتمد حجم القرص المؤقت لمثيل الحساب على حجم الجهاز الظاهري المختار ويتم تحميله على /mnt.

ينطبق على: Python SDK azureml v1

في الأمثلة أدناه، اسم مثيل الحساب هو المثيل.

  • الحصول على وضع

    # get_status() gets the latest status of the ComputeInstance target
    instance.get_status()
    
  • إيقاف

    # stop() is used to stop the ComputeInstance
    # Stopping ComputeInstance will stop the billing meter and persist the state on the disk.
    # Available Quota will not be changed with this operation.
    instance.stop(wait_for_completion=True, show_output=True)
    
  • بدء

    # start() is used to start the ComputeInstance if it is in stopped state
    instance.start(wait_for_completion=True, show_output=True)
    
  • إعادة التشغيل

    # restart() is used to restart the ComputeInstance
    instance.restart(wait_for_completion=True, show_output=True)
    
  • حذف

    # delete() is used to delete the ComputeInstance target. Useful if you want to re-use the compute name
    instance.delete(wait_for_completion=True, show_output=True)
    

يسمح لك Azure RBAC بالتحكم في المستخدمين داخل مساحة العمل الذين يمكنهم إنشاء مثيل حساب وحذفه وبدء تشغيله وإيقافه وإعادة تشغيله. يمكن لجميع المستخدمين في دور المساهم والمالك في مساحة العمل إنشاء مثيلات الحساب وحذفها وبدء تشغيلها وإيقافها وإعادة تشغيلها عبر مساحة العمل. ومع ذلك، يسمح فقط لمنشئ مثيل حساب معين، أو المستخدم المعين إذا تم إنشاؤه نيابة عنه، بالوصول إلى Jupyter وJupyterLab وRStudio وPosit Workbench (المعروف سابقا باسم RStudio Workbench) على مثيل الحساب هذا. يتم تخصيص مثيل حساب لمستخدم واحد لديه حق الوصول الجذر. هذا المستخدم لديه حق الوصول إلى Jupyter/JupyterLab/RStudio/Posit Workbench قيد التشغيل على المثيل. سيكون لمثيل الحساب تسجيل دخول مستخدم واحد وستستخدم جميع الإجراءات هوية هذا المستخدم ل Azure RBAC وإسناد عمليات تشغيل التجربة. يتم التحكم في الوصول إلى SSH خلال آلية المفتاح العام/الخاص.

يمكن التحكم في هذه الإجراءات بواسطة Azure RBAC:

  • Microsoft.MachineLearningServices/workspaces/computes/read
  • Microsoft.MachineLearningServices/workspaces/computes/write
  • Microsoft.MachineLearningServices/workspaces/computes/delete
  • Microsoft.MachineLearningServices/workspaces/computes/start/action
  • Microsoft.MachineLearningServices/workspaces/computes/stop/action
  • Microsoft.MachineLearningServices/workspaces/computes/restart/action
  • Microsoft.MachineLearningServices/workspaces/computes/updateSchedules/action

لإنشاء مثيل حساب، ستحتاج إلى أذونات للإجراءات التالية:

  • Microsoft.MachineLearningServices/workspaces/computes/write
  • Microsoft.MachineLearningServices/workspaces/checkComputeNameAvailability/action

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