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

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

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

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

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

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

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

Примечание.

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

Необходимые компоненты

Создание

Внимание

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

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

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

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

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

ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 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 версии 1

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

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

    # 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

Следующие шаги