Atualizar um serviço Web implantado (v1)
APLICA-SE A:Extensão de ML da CLI do Azure v1SDK do Python azureml v1
Neste artigo, você aprenderá como 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 como implantar um serviço Web, siga estas etapas.
Os snippets de código neste artigo presumem que a variável
ws
já foi inicializada no workspace usando o construtor Workflow() ou carregando uma configuração salva com Workspace.from_config(). O seguinte snippet demonstra como usar o construtor:APLICA-SE A: SDK azureml para Pythonv1
from azureml.core import Workspace ws = Workspace(subscription_id="mysubscriptionid", resource_group="myresourcegroup", workspace_name="myworkspace")
Importante
Alguns comandos da CLI do Azure neste artigo usam a extensão azure-cli-ml
ou v1 do Azure Machine Learning. O suporte à 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 extensão ml
ou v2, antes de 30 de setembro de 2025. Para obter mais informações sobre a extensão v2, confira Extensão da CLI do Azure ML e SDK do Python v2.
Atualizar serviço Web
Para atualizar o serviço Web, use o método update
. 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 do serviço ACI.
Importante
Quando você cria uma nova versão de um modelo, deve atualizar manualmente cada serviço que deverá usá-la.
Você não pode usar o SDK para atualizar um serviço Web publicado no designer do Azure Machine Learning.
Importante
O Serviço de Kubernetes do Azure usa o Driver Blobfuse FlexVolume para as versões <= 1,16 e o Driver CSI do Blob 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.
Observação
Quando uma operação já estiver em andamento, uma operação nova no mesmo serviço Web causará o erro de conflito 409. Por exemplo, se a criação ou atualização da operação de serviço Web estiver em andamento e você disparar uma nova operação de exclusão, ela gerará um erro.
Usar 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: SDK azureml para Pythonv1
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 do ML. O exemplo a seguir demonstra como registrar um novo modelo e, em seguida, atualizar um serviço Web para usar o novo modelo:
APLICA-SE A:Extensão de ML da CLI do Azure 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
Dica
Neste exemplo, um documento JSON é usado para passar as informações do modelo do comando de registro para o comando de atualização.
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 parâmetro ic
.
Para obter mais informações, confira a documentação de az ml workspace update.
Próximas etapas
- Solucionar problemas de uma implantação com falha
- Criar aplicativos cliente para consumir serviços Web
- Como implantar um modelo usando uma imagem personalizada do Docker
- Use o TLS para proteger um serviço Web por meio do Azure Machine Learning
- Monitorar seus modelos do Azure Machine Learning com o Application Insights
- Coletar dados para modelos em produção
- Criar gatilhos e alertas de eventos para implantações de modelo