Implementación de un modelo de MLflow en un punto de conexión en línea administrado

Completado

La manera más fácil de implementar un modelo en un punto de conexión en línea es usar un modelo de MLflow e implementarlo en un punto de conexión en línea administrado. Azure Machine Learning generará automáticamente el script de puntuación y el entorno para los modelos de MLflow.

Para implementar un modelo de MLflow, debe haber creado un punto de conexión. A continuación, puede implementar el modelo en el punto de conexión.

Implementación de un modelo de MLflow en un punto de conexión

Al implementar un modelo de MLflow en un punto de conexión en línea administrado, no es necesario tener el script de puntuación ni el entorno.

Para implementar un modelo de MLflow, debe tener archivos de modelo almacenados en una ruta de acceso local o con un modelo registrado. Puede registrar archivos de modelo al entrenar un modelo mediante el seguimiento de MLflow.

En este ejemplo, vamos a tomar los archivos de modelo de una ruta de acceso local. Todos los archivos se almacenan en una carpeta local denominada model. La carpeta debe incluir el archivo MLmodel, que describe cómo se puede cargar y usar el modelo.

Sugerencia

Obtenga más información sobre el formato MLmodel.

Junto al modelo, también debe especificar la configuración de proceso para la implementación:

Para implementar (y registrar automáticamente) el modelo, ejecute el siguiente comando:

from azure.ai.ml.entities import Model, ManagedOnlineDeployment
from azure.ai.ml.constants import AssetTypes

# create a blue deployment
model = Model(
    path="./model",
    type=AssetTypes.MLFLOW_MODEL,
    description="my sample mlflow model",
)

blue_deployment = ManagedOnlineDeployment(
    name="blue",
    endpoint_name="endpoint-example",
    model=model,
    instance_type="Standard_F4s_v2",
    instance_count=1,
)

ml_client.online_deployments.begin_create_or_update(blue_deployment).result()

Sugerencia

Explore la documentación de referencia para crear una implementación en línea administrada con el SDK v2 de Python.

Dado que solo se implementa un modelo en el punto de conexión, quiere que este modelo tome el 100 % del tráfico. Al implementar varios modelos en el mismo punto de conexión, puede distribuir el tráfico entre los modelos implementados.

Para enrutar el tráfico a una implementación específica, use el código siguiente:

# blue deployment takes 100 traffic
endpoint.traffic = {"blue": 100}
ml_client.begin_create_or_update(endpoint).result()

Para eliminar el punto de conexión y todas las implementaciones asociadas, ejecute el comando :

ml_client.online_endpoints.begin_delete(name="endpoint-example")

Sugerencia

Obtenga más información sobre la implementación de modelos de MLflow