Atualizar um serviço Web implantado (v1)
APLICA-SE A:Azure CLI ml extension v1Python SDK azureml v1
Neste artigo, você aprenderá a atualizar um serviço Web que foi implantado com o Azure Machine Learning.
Pré-requisitos
Este artigo pressupõe que você já tenha implantado um serviço Web com o Azure Machine Learning. Se você precisar aprender a implantar um serviço Web, siga estas etapas.
Os trechos de código neste artigo pressupõem que a
ws
variável já foi inicializada em seu espaço de trabalho usando o construtor Workflow() ou carregando uma configuração salva com Workspace.from_config(). O trecho a seguir demonstra como usar o construtor:APLICA-SE A: Python SDK azureml v1
from azureml.core import Workspace ws = Workspace(subscription_id="mysubscriptionid", resource_group="myresourcegroup", workspace_name="myworkspace")
Importante
Alguns dos comandos da CLI do Azure neste artigo usam a extensão , ou v1, para o azure-cli-ml
Azure Machine Learning. O suporte para a extensão v1 terminará em 30 de setembro de 2025. Você poderá instalar e usar a extensão v1 até essa data.
Recomendamos que você faça a transição para a ml
extensão , ou v2, antes de 30 de setembro de 2025. Para obter mais informações sobre a extensão v2, consulte Extensão CLI do Azure ML e Python SDK v2.
Atualizar serviços Web
Para atualizar um serviço Web, use o update
método. Você pode atualizar o serviço Web para usar um novo modelo, um novo script de entrada ou novas dependências que podem ser especificadas em uma configuração de inferência. Para obter mais informações, consulte a documentação para Webservice.update.
Consulte Método de atualização do serviço AKS.
Consulte Método de atualização de serviço ACI.
Importante
Ao criar uma nova versão de um modelo, você deve atualizar manualmente cada serviço que deseja usá-lo.
Não é possível usar o SDK para atualizar um serviço Web publicado a partir do designer do Azure Machine Learning.
Importante
O Serviço Kubernetes do Azure usa o driver Blobfuse FlexVolume para as versões <=1.16 e o driver Blob CSI para as versões >=1.17.
Portanto, é importante reimplantar ou atualizar o serviço Web após a atualização do cluster para implantar o método blobfuse correto para a versão do cluster.
Nota
Quando uma operação já está em andamento, qualquer nova operação nesse mesmo serviço Web responderá com erro de conflito 409. Por exemplo, se a operação de criação ou atualização do serviço Web estiver em andamento e se você acionar uma nova operação Excluir, ela gerará um erro.
Usando o SDK
O código a seguir mostra como usar o SDK para atualizar o modelo, o ambiente e o script de entrada para um serviço Web:
APLICA-SE A: Python SDK azureml v1
from azureml.core import Environment
from azureml.core.webservice import Webservice
from azureml.core.model import Model, InferenceConfig
# Register new model.
new_model = Model.register(model_path="outputs/sklearn_mnist_model.pkl",
model_name="sklearn_mnist",
tags={"key": "0.1"},
description="test",
workspace=ws)
# Use version 3 of the environment.
deploy_env = Environment.get(workspace=ws,name="myenv",version="3")
inference_config = InferenceConfig(entry_script="score.py",
environment=deploy_env)
service_name = 'myservice'
# Retrieve existing service.
service = Webservice(name=service_name, workspace=ws)
# Update to new model(s).
service.update(models=[new_model], inference_config=inference_config)
service.wait_for_deployment(show_output=True)
print(service.state)
print(service.get_logs())
Usando a CLI
Você também pode atualizar um serviço Web usando a CLI de ML. O exemplo a seguir demonstra o registro de um novo modelo e, em seguida, a atualização de um serviço Web para usar o novo modelo:
APLICA-SE A: Azure CLI ml extension v1
az ml model register -n sklearn_mnist --asset-path outputs/sklearn_mnist_model.pkl --experiment-name myexperiment --output-metadata-file modelinfo.json
az ml service update -n myservice --model-metadata-file modelinfo.json
Gorjeta
Neste exemplo, um documento JSON é usado para passar as informações do modelo do comando registration para o comando update.
Para atualizar o serviço para usar um novo script ou ambiente de entrada, crie um arquivo de configuração de inferência e especifique-o com o ic
parâmetro.
Para obter mais informações, consulte a documentação de atualização do serviço az ml.
Próximos passos
- Resolver problemas de uma implementação com falhas
- Criar aplicativos cliente para consumir serviços Web
- Como implantar um modelo usando uma imagem personalizada do Docker
- Utilizar o TLS para proteger um serviço Web através do Azure Machine Learning
- Monitore seus modelos do Azure Machine Learning com o Application Insights
- Recolher dados para modelos em produção
- Criar alertas de eventos e gatilhos para implantações de modelo