Implante seu modelo MLflow em um endpoint online gerenciado

Concluído

A maneira mais fácil de implantar um modelo em um ponto de extremidade online é usar um modelo MLflow e implantá-lo em um ponto de extremidade online gerenciado . O Azure Machine Learning gerará automaticamente o script de pontuação e o ambiente para modelos MLflow.

Para implantar um modelo MLflow, você precisa ter criado um ponto de extremidade. Em seguida, você pode implantar o modelo no ponto de extremidade.

Implantar um modelo MLflow em um ponto de extremidade

Quando você implanta um modelo MLflow em um ponto de extremidade online gerenciado, não precisa ter o script e o ambiente de pontuação.

Para implantar um modelo MLflow, você deve ter arquivos de modelo armazenados em um caminho local ou com um modelo registrado. Você pode registrar arquivos de modelo ao treinar um modelo usando o rastreamento MLflow.

Neste exemplo, estamos pegando os arquivos de modelo de um caminho local. Os arquivos são todos armazenados em uma pasta local chamada model. A pasta deve incluir o MLmodel arquivo, que descreve como o modelo pode ser carregado e usado.

Gorjeta

Saiba mais sobre o formato MLmodel.

Ao lado do modelo, você também precisa especificar a configuração de computação para a implantação:

Para implantar (e registrar automaticamente) o modelo, execute o seguinte 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()

Gorjeta

Explore a documentação de referência para criar uma implantação online gerenciada com o Python SDK v2.

Como apenas um modelo é implantado no ponto de extremidade, você deseja que esse modelo absorva 100% do tráfego. Ao implantar vários modelos no mesmo ponto de extremidade, você pode distribuir o tráfego entre os modelos implantados.

Para rotear o tráfego para uma implantação específica, use o seguinte código:

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

Para excluir o ponto de extremidade e todas as implantações associadas, execute o comando:

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

Gorjeta

Saiba mais sobre como implantar modelos MLflow