Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Внимание
В некоторых командах Azure CLI в этой статье используется расширение azure-cli-ml или v1 для Azure Machine Learning. Поддержка CLI версии 1 закончилась 30 сентября 2025 г. Корпорация Майкрософт больше не будет предоставлять техническую поддержку или обновления для этой службы. Существующие рабочие процессы, использующие CLI версии 1, будут продолжать работать после даты окончания поддержки. Однако они могут быть подвержены рискам безопасности или критическим изменениям в случае изменений архитектуры в продукте.
Рекомендуется как можно скорее перейти к расширению mlили версии 2. Дополнительные сведения о расширении версии 2 см. в разделе Azure Machine Learning расширение CLI и пакет SDK Python версии 2.
Внимание
В этой статье содержатся сведения об использовании пакета SDK Azure Machine Learning версии 1. Пакет SDK версии 1 устарел с 31 марта 2025 г. Поддержка будет завершена 30 июня 2026 г. Вы можете установить и использовать пакет SDK версии 1 до этой даты. Существующие рабочие процессы, использующие пакет SDK версии 1, будут продолжать работать после даты окончания поддержки. Однако они могут быть подвержены рискам безопасности или критическим изменениям в случае изменений архитектуры в продукте.
Рекомендуется перейти на пакет SDK версии 2 до 30 июня 2026 г. Дополнительные сведения о пакете SDK версии 2 см. в разделе Что такое Azure Machine Learning CLI и пакет Python SDK версии 2? и справочник по SDK версии 2.
Внимание
В этой статье приводятся сведения об использовании CLI и пакета SDK версии 1 для развертывания модели. Рекомендуемый подход для версии 2 см. в статье Развертывание и оценка модели машинного обучения с помощью сетевой конечной точки.
Узнайте, как использовать Azure Machine Learning для развертывания модели в качестве веб-службы на Azure Container Instances (ACI). Используйте Azure Container Instances, если вы:
- вы предпочитаете не управлять собственным кластером Kubernetes;
- Если вас устроит наличие только одной реплики службы, это может повлиять на время безотказной работы.
Сведения о доступности квот и регионов для ACI см. в статье Квоты и доступность регионов для Azure Container Instances.
Внимание
Выполните локальную отладку перед развертыванием в веб-службе. Дополнительные сведения см. в разделе "Отладка локально".
Вы также можете обратиться к Azure Machine Learning — Развертывание на локальный ноутбук.
Предварительные условия
Рабочая область Azure Machine Learning. Дополнительные сведения см. в разделе Создание рабочей области Azure Machine Learning.
Модель машинного обучения, зарегистрированная в вашей рабочей области. Если у вас нет зарегистрированной модели, см. раздел Как и где развертываются модели.
Расширение Azure CLI (версия 1) для службы Machine Learning, пакет SDK Azure Machine Learning Python или Azure Machine Learning Visual Studio Code extension.
Фрагменты кода Python в этой статье предполагают, что заданы следующие переменные:
-
ws— Установлено в вашей рабочей области; -
model— устанавливается для вашей зарегистрированной модели; -
inference_config— установить конфигурацию вывода для модели.
Дополнительные сведения об установке этих переменных см. в разделе Как и где развертываются модели.
-
Фрагменты командной строки в этой статье предполагают, что вы создали файл
inferenceconfig.json. Дополнительные сведения о создании этого файла см. в разделе "Как и где развертывать модели".
Ограничения
Примечание.
- Развертывание Azure Container Instances в виртуальной сети не поддерживается. Вместо этого для сетевой изоляции рекомендуется использовать управляемые сетевые конечные точки.
- Чтобы обеспечить эффективную поддержку, необходимо предоставить необходимые журналы для контейнеров ACI. Без этих журналов техническая поддержка не может быть гарантирована. Используйте средства log analytics, указывая
enable_app_insights=Trueв конфигурации развертывания для эффективного управления журналами контейнеров ACI и анализа их.
Развертывание в ACI
Чтобы развернуть модель для Azure Container Instances, создайте конфигурацию deployment, описывающую необходимые вычислительные ресурсы, такие как количество ядер и памяти. Вам также потребуется конфигурация вывода, описывающая среду, необходимую для размещения модели и веб-службы. Дополнительные сведения о создании конфигурации вывода см. в разделе Как и где развертываются модели.
Примечание.
- ACI подходит только для небольших моделей, размер которых меньше 1 ГБ.
- Используйте AKS с одним узлом для разработки больших моделей.
- Вы можете развернуть до 1000 моделей на развертывание (на контейнер).
Использование пакета SDK
ПРИМЕНИМО К:
Azure Machine Learning SDK версии 1 для Python
from azureml.core.webservice import AciWebservice, Webservice
from azureml.core.model import Model
deployment_config = AciWebservice.deploy_configuration(cpu_cores = 1, memory_gb = 1)
service = Model.deploy(ws, "aciservice", [model], inference_config, deployment_config)
service.wait_for_deployment(show_output = True)
print(service.state)
Дополнительные сведения о классах, методах и параметрах, используемых в этом примере, см. в следующих справочных статьях:
- AciWebservice.deploy_configuration
- Model.deploy
- Webservice.wait_for_deployment # ожидание развертывания
Использование Azure CLI
ПРИМЕНИМО К:
Azure CLI расширение ml v1
Чтобы развернуть с помощью интерфейса командной строки, выполните следующую команду. Замените mymodel:1 на имя и версию зарегистрированной модели. Замените myservice именем для предоставления этой службы:
az ml model deploy -n myservice -m mymodel:1 --ic inferenceconfig.json --dc deploymentconfig.json
Записи в deploymentconfig.json файле соответствуют параметрам для AciWebservice.deploy_configuration. В следующей таблице описывается сопоставление сущностей в JSON-файле и параметрах метода:
| Сущность JSON | Параметр метода | Описание |
|---|---|---|
computeType |
Неприменимо | Целевой объект вычислений. Для ACI нужно задать значение ACI. |
containerResourceRequirements |
Неприменимо | Контейнер для сущностей ЦП и памяти. |
cpu |
cpu_cores |
Количество ядер ЦП для выделения. Значение по умолчанию — 0.1. |
memoryInGB |
memory_gb |
Объем памяти (в ГБ), выделяемой для этой веб-службы. Значение по умолчанию — 0.5. |
location |
location |
Регион Azure для развертывания этой веб-службы. Если это значение не указано, используется расположение рабочей области. Дополнительные сведения о доступных регионах см. в разделе "Регионы ACI". |
authEnabled |
auth_enabled |
Следует ли включить проверку подлинности для этой веб-службы. Значение по умолчанию — False. |
sslEnabled |
ssl_enabled |
Следует ли включить TLS для этой веб-службы. Значение по умолчанию — False. |
appInsightsEnabled |
enable_app_insights |
Следует ли включить AppInsights для этой веб-службы. Значение по умолчанию — False. |
sslCertificate |
ssl_cert_pem_file |
Файл сертификата, необходимый для включения TLS |
sslKey |
ssl_key_pem_file |
Файл ключа, необходимый для включения TLS |
cname |
ssl_cname |
CNAME в случае, если TLS включен |
dnsNameLabel |
dns_name_label |
Метка DNS-имени для конечной точки оценки. Если это значение не указано, для конечной точки оценки создается уникальная метка DNS-имени. |
Следующий код JSON — это пример конфигурации развертывания для использования с CLI:
{
"computeType": "aci",
"containerResourceRequirements":
{
"cpu": 0.5,
"memoryInGB": 1.0
},
"authEnabled": true,
"sslEnabled": false,
"appInsightsEnabled": false
}
Дополнительные сведения можно найти в справочнике az ml model deploy.
Использование VS Code
См. статью об управлении ресурсами в VS Code.
Внимание
Создавать контейнер ACI для тестирования заранее не нужно. Решение создает контейнеры ACI по мере необходимости.
Внимание
Решение добавляет хэшированные идентификаторы рабочей области ко всем базовым ресурсам ACI, которые он создает. Все имена ACI из одной рабочей области имеют одинаковый суффикс. Имя службы Azure Machine Learning остается таким же, как и предоставленное клиентом service_name. API пакета SDK Azure Machine Learning, которые пользователи видят, не требуют каких-либо изменений. Решение не дает никаких гарантий относительно имен основных ресурсов, создаваемых им.
Следующие шаги
- Развертывание модели с помощью пользовательского образа Docker
- Устранение неполадок при развертывании
- Обновление веб-службы
- Использовать TLS для защиты веб-службы с помощью Azure Machine Learning
- Использовать модель машинного обучения, развернутую в качестве веб-службы
- Отслеживайте модели Machine Learning в Azure с помощью Application Insights