Implantar seu modelo de MLflow em um ponto de extremidade online gerenciado
A maneira mais fácil de implantar um modelo em um ponto de extremidade online é usar um modelo de 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 do MLflow.
Para implantar um modelo de MLflow, você precisa ter criado um endpoint. Em seguida, você pode implantar o modelo no endpoint.
Implantar um modelo do MLflow em um ponto de extremidade
Ao implantar um modelo do MLflow em um endpoint online gerenciado, você não precisa ter o script e o ambiente de pontuação.
Para implantar um modelo de 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 acompanhamento do 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.
Dica
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:
instance_type
: tamanho da VM (máquina virtual) a ser usado. Examine a lista de tamanhos com suporte.instance_count
: número de instâncias a serem usadas.
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()
Dica
Explore a documentação de referência para criar uma implantação online gerenciada com o SDK do Python v2.
Como apenas um modelo é implantado no ponto de extremidade, você deseja que esse modelo use 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")
Dica
Saiba mais sobre como implantar modelos do MLflow