Implantar um modelo do 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 do MLflow e implantá-lo em um ponto de extremidade online gerenciado. O Azure Machine Learning gerará automaticamente o script e o ambiente de pontuação para modelos do MLflow.
Para implantar um modelo do MLflow, você precisa ter criado um ponto de extremidade. Em seguida, você pode implantar o modelo no ponto de extremidade.
Implantar um modelo do MLflow em um ponto de extremidade
Ao implantar um modelo do MLflow em um ponto de extremidade online gerenciado, não é preciso ter o script e o ambiente de pontuação.
Para implantar um modelo do 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 arquivo MLmodel
, 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 a implantação de modelos do MLflow