Az MLflow-modell üzembe helyezése kötegelt végponton

Befejeződött

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 modelmappá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.

Tipp.

További információ az MLmodel formátumról.

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_onlyappend_row
  • output_file_name: A fájl, amelyhez az előrejelzések hozzá lesznek fűzve, ha ezt output_actionvá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)