Схема YAML для сетевого развертывания Kubernetes с поддержкой Azure Arc с использованием CLI (версия 2)
ОБЛАСТЬ ПРИМЕНЕНИЯ: расширение машинного обучения Azure CLI версии 2 (текущее)
Исходную схему JSON можно найти по адресу https://azuremlschemas.azureedge.net/latest/kubernetesOnlineDeployment.schema.json.
Примечание.
Синтаксис YAML, описанный в этом документе, основан на схеме JSON для последней версии расширения ML CLI (версия 2). Этот синтаксис гарантированно работает только с последней версией расширения ML CLI (версия 2). Схемы для старых версий расширений можно найти по адресу https://azuremlschemasprod.azureedge.net/.
Синтаксис YAML
Ключ | Тип | Описание | Допустимые значения | Default value |
---|---|---|---|---|
$schema |
строка | Схема YAML. При создании файла YAML с помощью расширения VS Code Машинного обучения Azure вы можете добавить $schema в верхней части файла, чтобы вызывать завершение схемы и ресурсов. |
||
name |
строка | Обязательный. Имя развертывания. Правила именования определены здесь. |
||
description |
строка | Описание развертывания. | ||
tags |
объект | Словарь тегов для развертывания. | ||
endpoint_name |
строка | Обязательный. Имя конечной точки для создания развертывания. | ||
model |
Строка или объект | Модель, которая будет использоваться для развертывания. Это значение может быть ссылкой на существующую модель с управлением версиями в рабочей области или спецификацией встроенной модели. Чтобы сослаться на существующую модель, используйте синтаксис azureml:<model-name>:<model-version> . Чтобы внутренне определить модель, следуйте инструкциям из раздела Схема модели. В сценариях для рабочей среды рекомендуется создавать модель отдельно и ссылаться на нее здесь. Это поле является необязательным для сценариев развертывания пользовательских контейнеров. |
||
model_mount_path |
строка | Путь для подключения модели в пользовательском контейнере. Применимо только для сценариев развертывания пользовательских контейнеров. Если в поле model задано, оно подключается по этому пути в контейнере. |
||
code_configuration |
объект | Конфигурация логики кода оценки. Это поле является необязательным для сценариев развертывания пользовательских контейнеров. |
||
code_configuration.code |
строка | Локальный путь к каталогу исходного кода для оценки модели. | ||
code_configuration.scoring_script |
строка | Относительный путь к файлу оценки в каталоге исходного кода. | ||
environment_variables |
объект | Словарь пар "ключ-значение" переменных среды, которые необходимо задать в контейнере развертывания. Доступ к этим переменным среды можно получить из скриптов оценки. | ||
environment |
Строка или объект | Обязательный. Среда, используемая для развертывания. Это значение может быть ссылкой на существующую среду с управлением версиями в рабочей области или спецификацией встроенной среды. Чтобы сослаться на существующую среду, используйте синтаксис azureml:<environment-name>:<environment-version> . Чтобы определить встроенную среду, следуйте схеме среды. В сценариях для рабочей среды рекомендуется создавать среду отдельно и ссылаться на нее здесь. |
||
instance_type |
строка | Тип экземпляра, используемый для размещения рабочей нагрузки вывода. Если этот параметр опущен, рабочая нагрузка вывода будет размещена в типе экземпляра кластера Kubernetes по умолчанию для, указанном в поле конечной точки compute . Если этот параметр задан, рабочая нагрузка вывода будет размещена в выбранном типе экземпляра. Набор типов экземпляров для кластера Kubernetes настраивается с помощью определения пользовательского ресурса кластера Kubernetes( CRD), поэтому они не являются частью схемы YAML Машинное обучение Azure для присоединения вычислительных ресурсов Kubernetes. Дополнительные сведения см. в статье "Создание и выбор типов экземпляров Kubernetes". |
||
instance_count |
integer | Число экземпляров, которые будут использоваться для развертывания. Укажите значение в зависимости от предполагаемой рабочей нагрузки. Это поле требуется только при использовании типа масштабирования default (scale_settings.type: default ). instance_count можно обновить после создания развертывания с помощью команды az ml online-deployment update . |
||
app_insights_enabled |
boolean | Следует ли включить интеграцию с экземпляром Azure Application Insights, связанным с рабочей областью. | false |
|
scale_settings |
объект | Параметры масштабирования для развертывания. Поддерживаются два типа параметров масштабирования: default и target_utilization . С помощью типа масштабирования default (scale_settings.type: default ) можно вручную вертикально увеличивать и уменьшать количество экземпляров после создания развертывания, обновляя свойство instance_count . Чтобы настроить тип масштабирования target_utilization (scale_settings.type: target_utilization ), см. набор настраиваемых свойств в разделе TargetUtilizationScaleSettings. |
||
scale_settings.type |
строка | Тип масштабирования. |
default , target_utilization |
target_utilization |
data_collector |
объект | Параметры сбора данных для развертывания. См. раздел DataCollector для набора настраиваемых свойств. | ||
request_settings |
объект | Параметры запроса оценки для развертывания. Набор настраиваемых свойств см. в разделе RequestSettings. | ||
liveness_probe |
объект | Параметры проб активности для регулярного мониторинга работоспособности контейнера. Набор настраиваемых свойств см. в разделе ProbeSettings. | ||
readiness_probe |
объект | Параметры проб готовности для проверки того, готов ли контейнер к обработке трафика. Набор настраиваемых свойств см. в разделе ProbeSettings. | ||
resources |
объект | Требования к ресурсам контейнера. | ||
resources.requests |
объект | Запросы ресурсов для контейнера. Набор настраиваемых свойств см. в разделе ContainerResourceRequests. | ||
resources.limits |
объект | Ограничения ресурсов для контейнера. Набор настраиваемых свойств см. в разделе ContainerResourceLimits. |
RequestSettings
Ключ | Тип | Описание | Default value |
---|---|---|---|
request_timeout_ms |
integer | Время ожидания оценки в миллисекундах. | 5000 |
max_concurrent_requests_per_instance |
integer | Максимальное количество одновременных запросов на экземпляр, разрешенное для развертывания. Не изменяйте этот параметр со значения по умолчанию, если не указано технической поддержкой Майкрософт или членом команды Машинное обучение Azure. |
1 |
max_queue_wait_ms |
integer | Максимальное время в миллисекундах, в течение которого запрос будет оставаться в очереди. | 500 |
ProbeSettings
Ключ | Тип | Описание | Default value |
---|---|---|---|
period |
integer | Частота (в секундах) выполнения пробы. | 10 |
initial_delay |
integer | Количество секунд после запуска контейнера до инициирования проб. Минимальное значение — 1 . |
10 |
timeout |
integer | Количество секунд, после которого истекает время ожидания пробы активности. Минимальное значение — 1 . |
2 |
success_threshold |
integer | Минимальное число последовательных успешных попыток проведения пробы после сбоя, которое нужно, чтобы проба считалась успешной. Минимальное значение — 1 . |
1 |
failure_threshold |
integer | Если проба завершается сбоем, система попытается выполнить команду указанное количество раз (failure_threshold ), прежде чем прекратить попытки. Отказ при выполнении пробы активности означает, что контейнер будет перезапущен. При выполнении пробы готовности контейнер будет помечен как неготовый. Минимальное значение — 1 . |
30 |
TargetUtilizationScaleSettings
Ключ | Тип | Описание | Default value |
---|---|---|---|
type |
const | Тип масштабирования. | target_utilization |
min_instances |
integer | Минимальное количество экземпляров для использования. | 1 |
max_instances |
integer | Максимальное количество экземпляров для масштабирования. | 1 |
target_utilization_percentage |
integer | Целевая загрузка ЦП для средства автомасштабирования. | 70 |
polling_interval |
integer | Частота в секундах, с которой средство автомасштабирования должно выполнять попытки масштабирования развертывания. | 1 |
ContainerResourceRequests
Ключ | Тип | Описание: |
---|---|---|
cpu |
строка | Количество ядер ЦП, запрошенных для контейнера. |
memory |
строка | Объем памяти, запрошенный для контейнера. |
nvidia.com/gpu |
строка | Количество карт NVIDIA GPU, запрошенных для контейнера |
ContainerResourceLimits
Ключ | Тип | Описание: |
---|---|---|
cpu |
строка | Ограничение на количество ядер ЦП для контейнера. |
memory |
строка | Ограничение на объем памяти для контейнера. |
nvidia.com/gpu |
строка | Ограничение количества карт GPU NVIDIA для контейнера |
DataCollector
Ключ | Тип | Описание | Default value |
---|---|---|---|
sampling_rate |
с плавающей запятой | Процент, представленный как десятичная ставка данных для сбора. Например, значение 1.0 представляет сбор 100 % данных. | 1.0 |
rolling_rate |
строка | Частота секционирования данных в хранилище. Значение может быть: Minute, Hour, Day, Month, Year. | Hour |
collections |
объект | Набор отдельных collection_name параметров и соответствующих параметров для этого развертывания. |
|
collections.<collection_name> |
объект | Логическое группирование данных вывода рабочей среды для сбора (например: model_inputs ). Существует два зарезервированных имени: request и response , соответственно, соответствующие сбору полезных данных HTTP-запроса и ответа. Все остальные имена являются произвольными и определяемыми пользователем. Примечание. Каждое collection_name должно соответствовать имени объекта, используемого Collector в развертывании score.py для сбора данных вывода рабочей среды. Дополнительные сведения о сборе полезных данных и сборе данных с помощью предоставленного пакета SDK для Python см. в статье "Сбор данных из моделей в рабочей среде". |
|
collections.<collection_name>.enabled |
boolean | Следует ли включить сбор данных для указанного collection_name объекта. |
'False'' |
collections.<collection_name>.data.name |
строка | Имя ресурса данных для регистрации с собранными данными. | <endpoint>-<deployment>-<collection_name> |
collections.<collection_name>.data.path |
строка | Полный Машинное обучение Azure путь к хранилищу данных, в котором собранные данные должны быть зарегистрированы в качестве ресурса данных. | azureml://datastores/workspaceblobstore/paths/modelDataCollector/<endpoint_name>/<deployment_name>/<collection_name> |
collections.<collection_name>.data.version |
integer | Версия ресурса данных, зарегистрированного с собранными данными в хранилище BLOB-объектов. | 1 |
Замечания
Команды az ml online-deployment
можно использовать для управления сетевым развертываниями Kubernetes Машинного обучения Azure.
Примеры
Примеры доступны в репозитории примеров GitHub.