Поделиться через


Использование виртуальных машин с низким приоритетом в пакетных развертываниях

ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение машинного обучения Azure CLI версии 2 (current)Python SDK azure-ai-ml версии 2 (current)

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

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

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

Как пакетное развертывание работает с виртуальными машинами с низким приоритетом

Машинное обучение Azure пакетные развертывания предоставляют несколько возможностей, которые упрощают использование и преимущества виртуальных машин с низким приоритетом:

  • Задания пакетного развертывания используют виртуальные машины с низким приоритетом, выполняя Машинное обучение Azure вычислительные кластеры, созданные с низкоприоритетными виртуальными машинами. После того как развертывание связано с кластером виртуальных машин с низким приоритетом, все задания, созданные таким развертыванием, будут использовать виртуальные машины с низким приоритетом. Конфигурация для каждого задания невозможна.
  • Задания пакетного развертывания автоматически ищут целевое число виртуальных машин в доступном вычислительном кластере на основе количества задач для отправки. Если виртуальные машины предварительно или недоступны, задания пакетного развертывания пытаются заменить потерянную емкость путем очереди неудачных задач в кластер.
  • Низкоприоритетные виртуальные машины имеют отдельную квоту виртуального ЦП, которая отличается от одной для выделенных виртуальных машин. Квота ядер с низким приоритетом на регион по умолчанию составляет от 100 до 3000, в зависимости от типа предложения подписки. Количество ядер с низким приоритетом для каждой подписки можно увеличить, и оно является одним значением в разных семействах виртуальных машин. См. Машинное обучение Azure квоты вычислений.

Рекомендации и варианты использования

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

При развертывании моделей в конечных точках пакетной службы можно выполнить перепланирование на мини-уровне пакетной службы. Это имеет дополнительное преимущество, что распределение сделки влияет только на эти мини-пакеты, которые в настоящее время обрабатываются и не завершены на затронутом узле. Каждый завершенный ход сохраняется.

Создание пакетных развертываний с низкоприоритетными виртуальными машинами

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

Примечание.

После того как развертывание связано с кластером виртуальных машин с низким приоритетом, все задания, созданные таким развертыванием, будут использовать виртуальные машины с низким приоритетом. Конфигурация для каждого задания невозможна.

Вы можете создать низкоприоритетный Машинное обучение Azure вычислительный кластер следующим образом:

Создайте определение YAML вычислений, например следующее:

low-pri-cluster.yml

$schema: https://azuremlschemas.azureedge.net/latest/amlCompute.schema.json 
name: low-pri-cluster
type: amlcompute
size: STANDARD_DS3_v2
min_instances: 0
max_instances: 2
idle_time_before_scale_down: 120
tier: low_priority

Создайте вычислительные ресурсы с помощью следующей команды:

az ml compute create -f low-pri-cluster.yml

После создания новых вычислительных ресурсов можно создать или обновить развертывание, чтобы использовать новый кластер:

Чтобы создать или обновить развертывание в новом вычислительном кластере, создайте YAML конфигурацию следующим образом:

$schema: https://azuremlschemas.azureedge.net/latest/batchDeployment.schema.json
endpoint_name: heart-classifier-batch
name: classifier-xgboost
description: A heart condition classifier based on XGBoost
type: model
model: azureml:heart-classifier@latest
compute: azureml:low-pri-cluster
resources:
  instance_count: 2
settings:
  max_concurrency_per_instance: 2
  mini_batch_size: 2
  output_action: append_row
  output_file_name: predictions.csv
  retry_settings:
    max_retries: 3
    timeout: 300

Затем создайте развертывание с помощью следующей команды:

az ml batch-endpoint create -f endpoint.yml

Просмотр и мониторинг размещения сделки узлов

Новые метрики доступны в портал Azure для виртуальных машин с низким приоритетом для мониторинга виртуальных машин с низким приоритетом. Эти метрики перечислены ниже.

  • Замещенные узлы
  • Предварительно подготовленные ядра

Для просмотра метрик на портале Azure

  1. Перейдите к рабочей области Машинное обучение Azure в портал Azure.
  2. В разделе Мониторинг щелкните Метрики.
  3. Выберите нужные показатели из списка Показатель.

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

Ограничения

  • После того как развертывание связано с кластером виртуальных машин с низким приоритетом, все задания, созданные таким развертыванием, будут использовать виртуальные машины с низким приоритетом. Конфигурация для каждого задания невозможна.
  • Перепланирование выполняется на мини-пакетном уровне независимо от хода выполнения. Возможность контрольных точек не предоставляется.

Предупреждение

В случаях, когда весь кластер преумножен (или запущен в кластере с одним узлом), задание будет отменено, так как для него не будет доступной емкости. Повторная отправка потребуется в этом случае.