Implante seu modelo MLflow em um endpoint online gerenciado
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:
instance_type
: Tamanho da máquina virtual (VM) a ser usado. Reveja a lista de tamanhos suportados.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()
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