Использование виртуальных машин с низким приоритетом для пакетных развертываний
ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение машинного обучения 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
файл конфигурации endpoint.yml:
$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:
- Перейдите к рабочей области Машинное обучение Azure в портал Azure.
- В разделе Мониторинг щелкните Метрики.
- Выберите нужные показатели из списка Показатель.