Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ОБЛАСТЬ ПРИМЕНЕНИЯ:
Дополнение Azure CLI для машинного обучения версии 2 (текущая версия)
Python SDK azure-ai-ml версии 2 (текущая версия)
Компоненты конвейера можно развертывать на конечной точке пакета, предоставляя удобный способ их реализации в Azure Machine Learning. В этой статье вы узнаете, как создать пакетное развертывание, содержащее простой конвейер. Вы научитесь:
- Создание и регистрация компонента конвейера
- Создание пакетной конечной точки и развертывание компонента конвейера
- Тестирование развертывания
Сведения об этом примере
В этом примере вы развертываете компонент конвейера, состоящий из простой командной задачи, которая выводит на экран "hello world!". Этот компонент не требует входных или выходных данных и является самым простым сценарием развертывания конвейера.
Пример в этой статье основан на примерах кода, содержащихся в репозитории azureml-examples . Чтобы выполнять команды локально, не копируя и вставляя YAML и другие файлы, используйте следующие команды, чтобы клонировать репозиторий и перейти в папку для языка программирования:
git clone https://github.com/Azure/azureml-examples --depth 1
cd azureml-examples/cli
Файлы для этого примера находятся в следующих файлах:
cd endpoints/batch/deploy-pipelines/hello-batch
Следуйте за процессом в записных книжках Jupyter
Вы можете работать с версией SDK для Python этого примера, открыв записную книжку sdk-deploy-and-test.ipynb в клонированном репозитории.
Предварительные требования
Подписка Azure. Если у вас нет подписки Azure, создайте бесплатную учетную запись.
Рабочая область Машинного обучения Azure. Чтобы создать рабочую область, смотрите раздел Управление рабочими областями Azure Machine Learning.
Следующие разрешения в рабочей области Машинное обучение Azure:
- Для создания или управления пакетными конечными точками и развертываниями используйте роль владельца, участника или настраиваемую роль с разрешениями
Microsoft.MachineLearningServices/workspaces/batchEndpoints/*. - Для создания развертываний Azure Resource Manager в группе ресурсов рабочей области: используйте роль «владелец», «участник» или настраиваемую роль, которая имеет разрешение
Microsoft.Resources/deployments/writeв группе ресурсов, в которой развернута рабочая область.
- Для создания или управления пакетными конечными точками и развертываниями используйте роль владельца, участника или настраиваемую роль с разрешениями
Интерфейс командной строки (CLI) «Машинное обучение Azure» или пакет SDK «Машинное обучение Azure» для Python:
Выполните следующую команду, чтобы установить Azure CLI и
mlрасширение для Машинное обучение Azure:az extension add -n mlДля развертывания компонентов конвейера для пакетных конечных точек требуется расширение версии 2.7 или более поздней для Azure CLI (текущая версия: 2.37.0).
az extension update --name mlИспользуйте команду, чтобы получить последнюю версию.
Подключитесь к рабочей области
Рабочая область — это ресурс верхнего уровня для Машинного обучения Azure. Он предоставляет централизованное место для работы со всеми объектами, создаваемыми при использовании Azure Machine Learning. В этом разделе описано, как подключиться к рабочей области, в которой выполняются задачи развертывания.
В следующей команде введите идентификатор подписки, имя рабочей области, имя группы ресурсов и расположение:
az account set --subscription <subscription>
az configure --defaults workspace=<workspace> group=<resource-group> location=<location>
Создание компонента конвейера
Конечные точки пакетной службы могут развертывать модели или компоненты конвейера. Компоненты конвейера можно использовать повторно, и вы можете оптимизировать практику MLOps с помощью общих реестров для перемещения этих компонентов из одной рабочей области в другую.
Компонент конвейера в этом примере содержит один шаг, который только выводит сообщение 'hello world' в журналах. Для этого не требуются входные или выходные данные.
Файл hello-component/hello.yml содержит конфигурацию компонента конвейера:
hello-component/hello.yml
$schema: https://azuremlschemas.azureedge.net/latest/pipelineComponent.schema.json
name: hello_batch
display_name: Hello Batch component
version: 1
type: pipeline
jobs:
main_job:
type: command
component:
code: src
environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest
command: >-
python hello.py
Зарегистрируйте компонент:
Создание пакетной конечной точки
Укажите имя конечной точки. Имя пакетной конечной точки должно быть уникальным в каждом регионе, так как имя используется для создания URI вызова. Чтобы обеспечить уникальность, добавьте все конечные символы в имя, указанное в следующем коде.
Настройка конечной точки:
Создание конечной точки:
Запросите универсальный код ресурса (URI) конечной точки:
Развертывание компонента конвейера
Чтобы развернуть компонент конвейера, необходимо создать пакетное развертывание. Развертывание — это набор ресурсов, необходимых для размещения ресурса, который выполняет фактическую работу.
Создайте вычислительный кластер. Конечные точки и развертывания пакетной обработки выполняются в вычислительных кластерах. Они могут работать на любом вычислительном кластере Azure Machine Learning, который уже существует в пространстве рабочей области. Таким образом, несколько пакетных развертываний могут совместно использовать одну и ту же инфраструктуру вычислений. В этом примере используется вычислительный кластер Azure Machine Learning, называемый
batch-cluster. Убедитесь, что вычислительный узел существует в рабочей области, или создайте его в противном случае.Настройка развертывания:
Файл
deployment.ymlсодержит конфигурацию развертывания. Вы можете проверить схему YAML для полной пакетной конечной точки, чтобы получить дополнительные свойства.deployment.yml
$schema: https://azuremlschemas.azureedge.net/latest/pipelineComponentBatchDeployment.schema.json name: hello-batch-dpl endpoint_name: hello-pipeline-batch type: pipeline component: azureml:hello_batch@latest settings: default_compute: batch-clusterСоздайте развертывание
Выполните следующий код, чтобы создать пакетное развертывание в пакетной конечной точке и установить его в качестве развертывания по умолчанию.
az ml batch-deployment create --endpoint $ENDPOINT_NAME -f deployment.yml --set-defaultСовет
Обратите внимание на использование флага
--set-default, чтобы указать, что это новое развертывание теперь используется по умолчанию.Развертывание готово для использования.
Тестирование развертывания
После создания развертывания, оно готово к получению заданий. Вы можете вызвать развертывание по умолчанию следующим образом:
Совет
В этом примере конвейер не имеет входных или выходных данных. Однако если компонент конвейера требует некоторых элементов, их можно указать во время вызова. Чтобы узнать, как указывать входные и выходные данные, см. статью "Создание задач и входных данных для конечных точек пакетной обработки" или руководство по развертыванию конвейера для выполнения пакетной оценки с предварительной обработкой.
Вы можете отслеживать ход выполнения шоу и потоковую передачу журналов с помощью:
Очистка ресурсов
После завершения удалите связанные ресурсы из рабочей области:
Выполните следующий код, чтобы удалить конечную точку пакетной обработки и её базовое развертывание.
--yes используется для подтверждения удаления.
az ml batch-endpoint delete -n $ENDPOINT_NAME --yes
(Необязательно) Удалите вычислительные ресурсы, если вы не планируете повторно использовать вычислительный кластер с последующими развертываниями.
Следующие шаги
- Как развернуть конвейер обучения с пакетными конечными точками
- Развертывание конвейера для выполнения пакетной оценки с предварительной обработкой
- Создание пакетных конечных точек из заданий конвейера
- Создание заданий и входных данных для пакетных конечных точек
- Устранение неполадок с пакетными конечными точками