Создание вычислительного экземпляра Машинного обучения Azure и управление им с помощью CLI версии 1

ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение ml для Azure CLI версии 1пакет SDK для Python azureml версии 1

Узнайте, как создавать вычислительные экземпляры и управлять ими в рабочей области Машинного обучения Azure с помощью CLI версии 1.

Используйте вычислительный экземпляр в качестве полностью настроенной и управляемой среды разработки в облаке. Для разработки и тестирования можно также использовать экземпляр в качестве обучения целевого объекта вычислений или для целевого объекта вывода. Вычислительный экземпляр может параллельно запускать несколько заданий и иметь очередь заданий. В качестве среды разработки вычислительный экземпляр нельзя использовать совместно с другими пользователями в рабочей области.

Вычислительные экземпляры безопасно запускают задания в среде виртуальной сети, что не требует от предприятий открывать порт SSH. Задание выполняется в контейнерной среде и упаковывает зависимости модели в контейнер Docker.

Вы узнаете, как выполнять следующие задачи:

  • Создание экземпляра вычислений
  • Управление (запуск, останов, перезапуск и удаление) вычислительным экземпляром

Примечание

В этой статье описывается только выполнение этих задач с помощью интерфейса командной строки версии 1. Сведения о дополнительных способах управления вычислительным экземпляром см. в статье Создание вычислительного кластера Машинного обучения Azure.

Предварительные требования

Создать

Важно!

Элементы, отмеченные ниже (предварительная версия), сейчас предлагаются в режиме общедоступной предварительной версии. Предварительная версия предоставляется без соглашения об уровне обслуживания и не рекомендована для производственных рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования предварительных выпусков Microsoft Azure.

Примерное время: приблизительно 5 минут.

Создание вычислительного экземпляра — это однократный процесс для вашей рабочей области. Можно повторно использовать вычисления как рабочую станцию разработки или как целевой объект вычислений для обучения. К рабочей области можно присоединить несколько вычислительных экземпляров.

Квота выделенных ядер на регион на семейство ВМ и суммарная региональная квота, применяемая при создании вычислительного экземпляра, объединяется и используется совместно с квотой вычислительных кластеров Машинного обучения Azure. При остановке вычислительного экземпляра квота не освобождается, чтобы была обеспечена возможность перезапустить вычислительный экземпляр. После создания вычислительного экземпляра размер его виртуальной машины невозможно изменить.

В следующем примере показано создание вычислительного экземпляра:

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

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.

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

В приведенных ниже примерах имя вычислительного экземпляра — instance.

  • Получение состояния

    # get_status() gets the latest status of the ComputeInstance target
    instance.get_status()
    
  • Stop

    # 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

Дальнейшие действия