Разверните вашу модель MLflow на пакетном конечном пункте
Простой способ развертывания модели в пакетной конечной точке — использовать модель MLflow . Машинное обучение Azure автоматически создает скрипт оценки и среду для моделей MLflow.
Чтобы развернуть модель MLflow, необходимо создать конечную точку. Затем можно развернуть модель в конечной точке.
Регистрация модели MLflow
Чтобы избежать необходимости в скрипте оценки и среде, модель MLflow должна быть зарегистрирована в рабочей области Машинного обучения Azure, прежде чем развернуть ее в пакетной конечной точке.
Чтобы зарегистрировать модель MLflow, вы будете использовать класс Model, указав тип модели как MLFLOW_MODEL. Чтобы зарегистрировать модель в пакете SDK для Python, можно использовать следующий код:
from azure.ai.ml.entities import Model
from azure.ai.ml.constants import AssetTypes
model_name = 'mlflow-model'
model = ml_client.models.create_or_update(
Model(name=model_name, path='./model', type=AssetTypes.MLFLOW_MODEL)
)
В этом примере мы берем файлы модели из локального пути. Файлы хранятся в локальной папке с именем model. Папка должна содержать файл MLmodel, в котором описывается, как модель может быть загружена и использована.
Совет
Дополнительные сведения о формате MLmodel.
Развертывание модели MLflow в конечной точке
Чтобы развернуть модель MLflow в пакетной конечной точке, используйте класс BatchDeployment.
При развертывании модели необходимо указать, как должно выполняться задание по пакетной оценке. Преимущество использования вычислительного кластера для запуска скрипта оценки (который автоматически создается машинным обучением Azure), заключается в том, что можно параллельно запускать скрипт оценки для отдельных экземпляров.
При настройке развертывания модели можно указать следующее:
-
instance_count: количество вычислительных узлов, используемых для создания прогнозов. -
max_concurrency_per_instance: максимальное число запусков скрипта параллельной оценки на вычислительный узел. -
mini_batch_size: количество файлов, переданных для каждого запуска скрипта оценки. -
output_action: что делать с прогнозами:summary_onlyилиappend_row. -
output_file_name: файл, к которому будут добавлены прогнозы, если выбратьappend_rowдляoutput_action.
Совет
Ознакомьтесь со справочной документацией по созданию пакетного развертывания с помощью пакета SDK для Python версии 2.
Чтобы развернуть модель MLflow в пакетной конечной точке, можно использовать следующий код:
from azure.ai.ml.entities import BatchDeployment, BatchRetrySettings
from azure.ai.ml.constants import BatchDeploymentOutputAction
deployment = BatchDeployment(
name="forecast-mlflow",
description="A sales forecaster",
endpoint_name=endpoint.name,
model=model,
compute="aml-cluster",
instance_count=2,
max_concurrency_per_instance=2,
mini_batch_size=2,
output_action=BatchDeploymentOutputAction.APPEND_ROW,
output_file_name="predictions.csv",
retry_settings=BatchRetrySettings(max_retries=3, timeout=300),
logging_level="info",
)
ml_client.batch_deployments.begin_create_or_update(deployment)