Az MLflow-modell üzembe helyezése kötegelt végponton
A modellek kötegelt végpontokon való üzembe helyezésének egyszerű módja egy MLflow-modell használata. Az Azure Machine Tanulás automatikusan létrehozza a pontozási szkriptet és a környezetet az MLflow-modellekhez.
MLflow-modell üzembe helyezéséhez létre kell hoznia egy végpontot. Ezután üzembe helyezheti a modellt a végponton.
MLflow-modell regisztrálása
A pontozási szkript és a környezet elkerülése érdekében az MLflow-modellt regisztrálni kell az Azure Machine Tanulás-munkaterületen, mielőtt üzembe helyezheti azt egy kötegvégponton.
MLflow-modell regisztrálásához az Model
osztályt fogja használni, miközben megadja a modell típusát MLFLOW_MODEL
. Ha regisztrálni szeretné a modellt a Python SDK-val, használja a következő kódot:
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)
)
Ebben a példában a modellfájlokat egy helyi útvonalról vesszük át. A fájlok mindegyike egy helyi, úgynevezett model
mappában van tárolva. A mappának tartalmaznia kell a MLmodel
fájlt, amely leírja, hogyan tölthető be és használható a modell.
MLflow-modell üzembe helyezése végponton
Ha MLflow-modellt szeretne üzembe helyezni egy kötegvégponton, az osztályt BatchDeployment
fogja használni.
Modell üzembe helyezésekor meg kell adnia, hogy a kötegelt pontozási feladat hogyan viselkedjen. Annak az előnye, hogy számítási fürtöt használ a pontozási szkript futtatásához (amelyet az Azure Machine Tanulás automatikusan generál), hogy a pontozási szkriptet párhuzamosan futtathatja külön példányokon.
A modell üzembe helyezésének konfigurálásakor megadhatja a következőket:
instance_count
: Az előrejelzések létrehozásához használandó számítási csomópontok száma.max_concurrency_per_instance
: A párhuzamos pontozási szkriptek maximális száma számítási csomópontonként.mini_batch_size
: A pontozószkript-futtatásonként átadott fájlok száma.output_action
: Mi a teendő az előrejelzésekkel?summary_only
append_row
output_file_name
: A fájl, amelyhez az előrejelzések hozzá lesznek fűzve, ha eztoutput_action
választjaappend_row
.
Tipp.
A referenciadokumentációban kötegtelepítést hozhat létre a Python SDK 2-vel.
Ha MLflow-modellt szeretne üzembe helyezni egy kötegvégponton, használja a következő kódot:
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)