Neste artigo, você aprenderá a implantar seu modelo em um ponto de extremidade online para uso em inferência em tempo real. Você começa implantando um modelo em sua máquina local para depurar quaisquer erros. Em seguida, você implanta e testa o modelo no Azure, exibe os logs de implantação e monitora o contrato de nível de serviço (SLA). No final deste artigo, você terá um ponto de extremidade HTTPS/REST escalável que poderá ser usado para inferência em tempo real.
Pontos de extremidade online são pontos de extremidade que são usados para inferência em tempo real. Existem dois tipos de pontos finais online: pontos finais online geridos e pontos finais online do Kubernetes. Para obter mais informações sobre pontos de extremidade e diferenças entre pontos de extremidade online gerenciados e pontos de extremidade online do Kubernetes, consulte O que são pontos de extremidade do Azure Machine Learning?
Os pontos finais online geridos ajudam a implementar os modelos de machine learning de forma chave na mão. Os pontos finais online geridos funcionam com computadores GPU e CPU avançados no Azure de forma dimensionável e totalmente gerida. Os pontos finais online geridos tratam de servir, dimensionar, proteger e monitorizar os modelos, ao libertá-lo da sobrecarga de configuração e gestão da infraestrutura subjacente.
O exemplo principal neste documento usa pontos de extremidade online gerenciados para implantação. Para usar o Kubernetes em vez disso, consulte as notas neste documento que estão alinhadas com a discussão do endpoint online gerenciado.
Os exemplos de CLI neste artigo pressupõem que você esteja usando o shell Bash (ou compatível). Por exemplo, de um sistema Linux ou Subsistema Windows para Linux.
Os controlos de acesso baseado em funções (RBAC do Azure) são utilizados para conceder acesso às operações no Azure Machine Learning. Para executar as etapas neste artigo, sua conta de usuário deve receber a função de proprietário ou colaborador para o espaço de trabalho do Azure Machine Learning ou uma função personalizada que permita Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*. Se você usar o estúdio para criar/gerenciar pontos de extremidade/implantações online, precisará de uma permissão extra "Microsoft.Resources/deployments/write" do proprietário do grupo de recursos. Para obter mais informações, consulte Gerenciar o acesso a um espaço de trabalho do Azure Machine Learning.
(Opcional) Para implantar localmente, você deve instalar o Docker Engine em seu computador local. É altamente recomendável essa opção, para que seja mais fácil depurar problemas.
Os controlos de acesso baseado em funções (RBAC do Azure) são utilizados para conceder acesso às operações no Azure Machine Learning. Para executar as etapas neste artigo, sua conta de usuário deve receber a função de proprietário ou colaborador para o espaço de trabalho do Azure Machine Learning ou uma função personalizada que permita Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*. Para obter mais informações, consulte Gerenciar o acesso a um espaço de trabalho do Azure Machine Learning.
(Opcional) Para implantar localmente, você deve instalar o Docker Engine em seu computador local. É altamente recomendável essa opção, para que seja mais fácil depurar problemas.
Antes de seguir as etapas neste artigo, verifique se você tem os seguintes pré-requisitos:
Um espaço de trabalho do Azure Machine Learning e uma instância de computação. Se você não tiver esses recursos e quiser criá-los, use as etapas no artigo Guia de início rápido: criar recursos do espaço de trabalho.
Os controlos de acesso baseado em funções (RBAC do Azure) são utilizados para conceder acesso às operações no Azure Machine Learning. Para executar as etapas neste artigo, sua conta de usuário deve receber a função de proprietário ou colaborador para o espaço de trabalho do Azure Machine Learning ou uma função personalizada que permita Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*. Para obter mais informações, consulte Gerenciar o acesso a um espaço de trabalho do Azure Machine Learning.
Nota
Embora a CLI do Azure e a extensão da CLI para aprendizado de máquina sejam usadas nessas etapas, elas não são o foco principal. eles são usados mais como utilitários, passando modelos para o Azure e verificando o status das implantações de modelos.
Antes de seguir as etapas neste artigo, verifique se você tem os seguintes pré-requisitos:
Os exemplos de CLI neste artigo pressupõem que você esteja usando o shell Bash (ou compatível). Por exemplo, de um sistema Linux ou Subsistema Windows para Linux.
Os controlos de acesso baseado em funções (RBAC do Azure) são utilizados para conceder acesso às operações no Azure Machine Learning. Para executar as etapas neste artigo, sua conta de usuário deve receber a função de proprietário ou colaborador para o espaço de trabalho do Azure Machine Learning ou uma função personalizada que permita Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*. Para obter mais informações, consulte Gerenciar o acesso a um espaço de trabalho do Azure Machine Learning.
Verifique se você tem cota de máquina virtual (VM) suficiente alocada para implantação. O Azure Machine Learning reserva 20% dos seus recursos de computação para executar atualizações em algumas SKUs de VM. Por exemplo, se você solicitar 10 instâncias em uma implantação, deverá ter uma cota para 12 para cada número de núcleos para a SKU da VM. A falha na contabilização dos recursos de computação extras resulta em um erro. Existem alguns SKUs VM que estão isentos da reserva de cota extra. Para obter mais informações sobre alocação de cota, consulte Alocação de cota de máquina virtual para implantação.
Como alternativa, você pode usar a cota do pool de cotas compartilhadas do Azure Machine Learning por um tempo limitado. O Azure Machine Learning fornece um pool de cotas compartilhadas a partir do qual os usuários em várias regiões podem acessar a cota para executar testes por um tempo limitado, dependendo da disponibilidade.
Quando você usa o estúdio para implantar modelos Llama-2, Phi, Nemotron, Mistral, Dolly e Deci-DeciLM do catálogo de modelos para um ponto de extremidade online gerenciado, o Aprendizado de Máquina do Azure permite que você acesse seu pool de cotas compartilhadas por um curto período de tempo para que você possa executar testes. Para obter mais informações sobre o pool de cotas compartilhadas, consulte Cota compartilhada do Azure Machine Learning.
Se você ainda não definiu os padrões para a CLI do Azure, salve suas configurações padrão. Para evitar passar os valores da sua assinatura, espaço de trabalho e grupo de recursos várias vezes, execute este código:
az account set --subscription <subscription ID>
az configure --defaults workspace=<Azure Machine Learning workspace name> group=<resource group>
Clone o repositório de exemplos
Para acompanhar este artigo, primeiro clone o repositório de exemplos (azureml-examples). Em seguida, execute o seguinte código para ir para o diretório do cli/ repositório:
git clone --depth 1 https://github.com/Azure/azureml-examples
cd azureml-examples
cd cli
Gorjeta
Use --depth 1 para clonar apenas a confirmação mais recente para o repositório, o que reduz o tempo para concluir a operação.
Os comandos neste tutorial estão nos arquivos deploy-local-endpoint.sh e deploy-managed-online-endpoint.sh no diretório, e os cli arquivos de configuração YAML estão no endpoints/online/managed/sample/ subdiretório.
Nota
Os arquivos de configuração YAML para pontos de extremidade online do Kubernetes estão no endpoints/online/kubernetes/ subdiretório.
Clone o repositório de exemplos
Para executar os exemplos de treinamento, primeiro clone o repositório de exemplos (azureml-examples) e altere para o azureml-examples/sdk/python/endpoints/online/managed diretório:
git clone --depth 1 https://github.com/Azure/azureml-examples
cd azureml-examples/sdk/python/endpoints/online/managed
Gorjeta
Use --depth 1 para clonar apenas a confirmação mais recente para o repositório, o que reduz o tempo para concluir a operação.
Conectar-se ao espaço de trabalho do Azure Machine Learning
O espaço de trabalho é o recurso de nível superior para o Azure Machine Learning, fornecendo um local centralizado para trabalhar com todos os artefatos que você cria quando usa o Azure Machine Learning. Nesta seção, você se conecta ao espaço de trabalho no qual executará tarefas de implantação. Para acompanhar, abra o seu online-endpoints-simple-deployment.ipynb bloco de notas.
Importe as bibliotecas necessárias:
# import required libraries
from azure.ai.ml import MLClient
from azure.ai.ml.entities import (
ManagedOnlineEndpoint,
ManagedOnlineDeployment,
Model,
Environment,
CodeConfiguration
)
from azure.identity import DefaultAzureCredential
Nota
Se você estiver usando o ponto de extremidade online do Kubernetes, importe a KubernetesOnlineEndpoint classe e KubernetesOnlineDeployment da azure.ai.ml.entities biblioteca.
Configure os detalhes do espaço de trabalho e obtenha um identificador para o espaço de trabalho:
Para se conectar a um espaço de trabalho, você precisa de parâmetros de identificador - uma assinatura, um grupo de recursos e um nome de espaço de trabalho. Você usa esses detalhes no MLClient de para obter um identificador para o espaço de azure.ai.ml trabalho do Azure Machine Learning necessário. Este exemplo usa a autenticação padrão do Azure.
# enter details of your Azure Machine Learning workspace
subscription_id = "<SUBSCRIPTION_ID>"
resource_group = "<RESOURCE_GROUP>"
workspace = "<AZUREML_WORKSPACE_NAME>"
# get a handle to the workspace
ml_client = MLClient(
DefaultAzureCredential(), subscription_id, resource_group, workspace
)
Se você tiver o Git instalado em sua máquina local, poderá seguir as instruções para clonar o repositório de exemplos. Caso contrário, siga as instruções para baixar arquivos do repositório de exemplos.
Clone o repositório de exemplos
Para acompanhar este artigo, primeiro clone o repositório de exemplos (azureml-examples) e, em seguida, altere para o azureml-examples/cli/endpoints/online/model-1 diretório.
git clone --depth 1 https://github.com/Azure/azureml-examples
cd azureml-examples/cli/endpoints/online/model-1
Gorjeta
Use --depth 1 para clonar apenas a confirmação mais recente para o repositório, o que reduz o tempo para concluir a operação.
Baixar arquivos do repositório de exemplos
Se você clonou o repositório de exemplos, sua máquina local já tem cópias dos arquivos para este exemplo, e você pode pular para a próxima seção. Se você não clonou o repositório, você pode baixá-lo para sua máquina local.
Vá para o <> botão Código na página e selecione Baixar ZIP na guia Local .
Localize a pasta /cli/endpoints/online/model-1/model e o arquivo /cli/endpoints/online/model-1/onlinescoring/score.py.
Definir variáveis de ambiente
Defina as seguintes variáveis de ambiente, conforme elas são usadas nos exemplos deste artigo. Substitua os valores pela sua ID de assinatura do Azure, a região do Azure onde seu espaço de trabalho está localizado, o grupo de recursos que contém o espaço de trabalho e o nome do espaço de trabalho:
export SUBSCRIPTION_ID="your Azure subscription ID"
export LOCATION="Azure region where your workspace is located"
export RESOURCE_GROUP="Azure resource group that contains your workspace"
export WORKSPACE="Azure Machine Learning workspace name"
Alguns exemplos de modelo exigem que você carregue arquivos no repositório de Blobs do Azure para seu espaço de trabalho. As etapas a seguir consultam o espaço de trabalho e armazenam essas informações em variáveis de ambiente usadas nos exemplos:
git clone --depth 1 https://github.com/Azure/azureml-examples
cd azureml-examples
Gorjeta
Use --depth 1 para clonar apenas a confirmação mais recente para o repositório, o que reduz o tempo para concluir a operação.
Definir o ponto de extremidade
Para definir um ponto de extremidade online, especifique o nome do ponto de extremidade e o modo de autenticação. Para obter mais informações sobre pontos de extremidade online gerenciados, consulte Pontos de extremidade online.
Para definir o nome do ponto de extremidade, execute o seguinte comando. Substitua YOUR_ENDPOINT_NAME por um nome exclusivo na região do Azure. Para obter mais informações sobre as regras de nomenclatura, consulte Limites de pontos finais.
Para Linux, execute este comando:
export ENDPOINT_NAME="<YOUR_ENDPOINT_NAME>"
Configurar o ponto de extremidade
O trecho a seguir mostra o arquivo endpoints /online/managed/sample/endpoint.yml :
A referência para o formato YAML do ponto de extremidade é descrita na tabela a seguir. Para saber como especificar esses atributos, consulte a referência YAML do ponto de extremidade online. Para obter informações sobre limites relacionados a pontos de extremidade gerenciados, consulte limites para pontos de extremidade online.
Chave
Description
$schema
(Opcional) O esquema YAML. Para ver todas as opções disponíveis no arquivo YAML, você pode exibir o esquema no trecho de código anterior em um navegador.
name
O nome do ponto de extremidade.
auth_mode
Use key para autenticação baseada em chave. Use aml_token para autenticação baseada em token do Azure Machine Learning. Use aad_token para autenticação baseada em token do Microsoft Entra (visualização). Para obter mais informações sobre autenticação, consulte Autenticar clientes para pontos de extremidade online.
Configurar um ponto de extremidade
Primeiro, defina o nome do ponto de extremidade online e, em seguida, configure o ponto de extremidade.
Seu nome de ponto de extremidade deve ser exclusivo na região do Azure. Para obter mais informações sobre as regras de nomenclatura, consulte Limites de pontos finais.
# Define an endpoint name
endpoint_name = "my-endpoint"
# Example way to define a random name
import datetime
endpoint_name = "endpt-" + datetime.datetime.now().strftime("%m%d%H%M%f")
# create an online endpoint
endpoint = ManagedOnlineEndpoint(
name = endpoint_name,
description="this is a sample endpoint",
auth_mode="key"
)
O código anterior usa key para autenticação baseada em chave. Para usar a autenticação baseada em token do Azure Machine Learning, use aml_token. Para usar a autenticação baseada em token do Microsoft Entra (visualização), use aad_token. Para obter mais informações sobre autenticação, consulte Autenticar clientes para pontos de extremidade online.
Configurar um ponto de extremidade
Ao implantar no Azure a partir do estúdio, você criará um ponto de extremidade e uma implantação para adicionar a ele. Nesse momento, você será solicitado a fornecer nomes para o ponto de extremidade e a implantação.
Definir um nome de ponto de extremidade
Para definir o nome do ponto de extremidade, execute o seguinte comando. Substitua YOUR_ENDPOINT_NAME por um nome exclusivo na região do Azure. Para obter mais informações sobre as regras de nomenclatura, consulte Limites de pontos finais.
Uma implantação é um conjunto de recursos necessários para hospedar o modelo que faz a inferência real. Neste exemplo, você implanta um modelo scikit-learn que faz regressão e usa um script de pontuação score.py para executar o modelo em uma determinada solicitação de entrada.
Para saber mais sobre os principais atributos de uma implantação, consulte Implantações online.
Configurar uma implantação
Sua configuração de implantação usa o local do modelo que você deseja implantar.
O trecho a seguir mostra o arquivo endpoints/online/managed/sample/blue-deployment.yml , com todas as entradas necessárias para configurar uma implantação:
O arquivo blue-deployment.yml especifica os seguintes atributos de implantação:
model - especifica as propriedades do modelo em linha, usando o path (de onde carregar arquivos). A CLI carrega automaticamente os arquivos de modelo e registra o modelo com um nome gerado automaticamente.
environment - usando definições inline que incluem de onde fazer upload de arquivos, a CLI carrega automaticamente o conda.yaml arquivo e registra o ambiente. Mais tarde, para criar o ambiente, a implantação usa o image (neste exemplo, é ) para a imagem base, e as conda_file dependências são instaladas mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latestsobre a imagem base.
code_configuration - durante a implantação, os arquivos locais, como a fonte Python para o modelo de pontuação, são carregados do ambiente de desenvolvimento.
Para obter mais informações sobre o esquema YAML, consulte a referência YAML do ponto de extremidade online.
Nota
Para usar endpoints do Kubernetes em vez de endpoints online gerenciados como um destino de computação:
Crie e anexe seu cluster Kubernetes como um destino de computação ao seu espaço de trabalho do Azure Machine Learning usando o estúdio do Azure Machine Learning.
Use o endpoint YAML para direcionar o Kubernetes, em vez do endpoint gerenciado YAML. Você precisa editar o YAML para alterar o valor de compute para o nome do seu destino de computação registrado. Você pode usar este deployment.yaml que tem propriedades adicionais aplicáveis a uma implantação do Kubernetes.
Todos os comandos usados neste artigo para endpoints online gerenciados também se aplicam aos endpoints do Kubernetes, exceto aos seguintes recursos que não se aplicam aos endpoints do Kubernetes:
Model - especifica as propriedades do modelo em linha, usando o path (de onde carregar arquivos). O SDK carrega automaticamente os arquivos de modelo e registra o modelo com um nome gerado automaticamente.
Environment - usando definições embutidas que incluem de onde fazer upload de arquivos, o SDK carrega automaticamente o conda.yaml arquivo e registra o ambiente. Mais tarde, para criar o ambiente, a implantação usa o image (neste exemplo, é ) para a imagem base, e as conda_file dependências são instaladas mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latestsobre a imagem base.
CodeConfiguration - durante a implantação, os arquivos locais, como a fonte Python para o modelo de pontuação, são carregados do ambiente de desenvolvimento.
Para obter mais informações sobre a definição de implantação online, consulte Classe OnlineDeployment.
Configurar uma implantação
Ao implantar no Azure, você criará um ponto de extremidade e uma implantação para adicionar a ele. Nesse momento, você será solicitado a fornecer nomes para o ponto de extremidade e a implantação.
O script de pontuação especificado em code_configuration.scoring_script deve ter uma init() função e uma run() função.
O script de pontuação deve ter uma init() função e uma run() função.
O script de pontuação deve ter uma init() função e uma run() função.
O script de pontuação deve ter uma init() função e uma run() função. Este artigo usa o arquivo score.py.
Ao usar um modelo para implantação, você deve primeiro carregar o(s) arquivo(s) de pontuação em um repositório de Blob do Azure e, em seguida, registrá-lo:
O código a seguir usa o comando az storage blob upload-batch da CLI do Azure para carregar o(s) arquivo(s) de pontuação:
az storage blob upload-batch -d $AZUREML_DEFAULT_CONTAINER/score -s cli/endpoints/online/model-1/onlinescoring --account-name $AZURE_STORAGE_ACCOUNT
O código a seguir registra o código, usando um modelo:
az deployment group create -g $RESOURCE_GROUP \
--template-file arm-templates/code-version.json \
--parameters \
workspaceName=$WORKSPACE \
codeAssetName="score-sklearn" \
codeUri="https://$AZURE_STORAGE_ACCOUNT.blob.core.windows.net/$AZUREML_DEFAULT_CONTAINER/score"
import os
import logging
import json
import numpy
import joblib
def init():
"""
This function is called when the container is initialized/started, typically after create/update of the deployment.
You can write the logic here to perform init operations like caching the model in memory
"""
global model
# AZUREML_MODEL_DIR is an environment variable created during deployment.
# It is the path to the model folder (./azureml-models/$MODEL_NAME/$VERSION)
# Please provide your model's folder name if there is one
model_path = os.path.join(
os.getenv("AZUREML_MODEL_DIR"), "model/sklearn_regression_model.pkl"
)
# deserialize the model file back into a sklearn model
model = joblib.load(model_path)
logging.info("Init complete")
def run(raw_data):
"""
This function is called for every invocation of the endpoint to perform the actual scoring/prediction.
In the example we extract the data from the json input and call the scikit-learn model's predict()
method and return the result back
"""
logging.info("model 1: request received")
data = json.loads(raw_data)["data"]
data = numpy.array(data)
result = model.predict(data)
logging.info("Request processed")
return result.tolist()
A init() função é chamada quando o contêiner é inicializado ou iniciado. A inicialização normalmente ocorre logo após a implantação ser criada ou atualizada. A init função é o local para escrever lógica para operações de inicialização global, como armazenar em cache o modelo na memória (como mostrado neste arquivo score.py ).
A run() função é chamada toda vez que o ponto de extremidade é invocado, e faz a pontuação e previsão reais. Nesse arquivo score.py, a run() função extrai dados de uma entrada JSON, chama o método do predict() modelo scikit-learn e retorna o resultado da previsão.
Implantar e depurar localmente usando um ponto de extremidade local
É altamente recomendável que você teste e execute seu ponto de extremidade localmente para validar e depurar seu código e configuração antes de implantar no Azure. A CLI do Azure e o SDK do Python dão suporte a pontos de extremidade e implantações locais, enquanto o estúdio do Azure Machine Learning e o modelo ARM não.
Para implantar localmente, o Docker Engine deve estar instalado e em execução. O mecanismo do Docker normalmente é iniciado quando o computador é iniciado. Se isso não acontecer, você poderá solucionar problemas do Docker Engine.
Gorjeta
Você pode usar o pacote Python do servidor HTTP de inferência do Azure Machine Learning para depurar seu script de pontuação localmente sem o Docker Engine. A depuração com o servidor de inferência ajuda você a depurar o script de pontuação antes de implantar em pontos de extremidade locais para que você possa depurar sem ser afetado pelas configurações do contêiner de implantação.
Para obter mais informações sobre como depurar pontos de extremidade online localmente antes de implantar no Azure, consulte Depuração de ponto de extremidade online.
Implantar o modelo localmente
Primeiro, crie um ponto de extremidade. Opcionalmente, para um ponto de extremidade local, você pode ignorar esta etapa e criar diretamente a implantação (próxima etapa), que, por sua vez, criará os metadados necessários. A implantação de modelos localmente é útil para fins de desenvolvimento e teste.
O estúdio não suporta endpoints locais. Consulte as guias CLI ou Python do Azure para conhecer as etapas para testar o ponto de extremidade localmente.
O modelo não suporta pontos de extremidade locais. Consulte as guias CLI ou Python do Azure para conhecer as etapas para testar o ponto de extremidade localmente.
Agora, crie uma implantação nomeada blue sob o ponto de extremidade.
O local=True sinalizador direciona o SDK para implantar o ponto de extremidade no ambiente do Docker.
O estúdio não suporta endpoints locais. Consulte as guias CLI ou Python do Azure para conhecer as etapas para testar o ponto de extremidade localmente.
O modelo não suporta pontos de extremidade locais. Consulte as guias CLI ou Python do Azure para conhecer as etapas para testar o ponto de extremidade localmente.
O estúdio não suporta endpoints locais. Consulte as guias CLI ou Python do Azure para conhecer as etapas para testar o ponto de extremidade localmente.
O modelo não suporta pontos de extremidade locais. Consulte as guias CLI ou Python do Azure para conhecer as etapas para testar o ponto de extremidade localmente.
A tabela a seguir contém os valores possíveis para provisioning_state:
valor
Description
Criação
O recurso está sendo criado.
Atualização
O recurso está sendo atualizado.
Exclusão
O recurso está sendo excluído.
Bem sucedido
A operação de criação/atualização foi bem-sucedida.
Falhado
A operação create/update/delete falhou.
Invoque o ponto de extremidade local para pontuar dados usando seu modelo
Invoque o ponto de extremidade para pontuar o modelo usando o invoke comando e passando parâmetros de consulta armazenados em um arquivo JSON:
az ml online-endpoint invoke --local --name $ENDPOINT_NAME --request-file endpoints/online/model-1/sample-request.json
Se você quiser usar um cliente REST (como curl), você deve ter o URI de pontuação. Para obter o URI de pontuação, execute az ml online-endpoint show --local -n $ENDPOINT_NAME. Nos dados retornados, localize o scoring_uri atributo.
Invoque o ponto de extremidade para pontuar o modelo usando o invoke comando e passando parâmetros de consulta armazenados em um arquivo JSON.
Se você quiser usar um cliente REST (como curl), você deve ter o URI de pontuação. Para obter o URI de pontuação, execute o código a seguir. Nos dados retornados, localize o scoring_uri atributo.
O estúdio não suporta endpoints locais. Consulte as guias CLI ou Python do Azure para conhecer as etapas para testar o ponto de extremidade localmente.
O modelo não suporta pontos de extremidade locais. Consulte as guias CLI ou Python do Azure para conhecer as etapas para testar o ponto de extremidade localmente.
Revise os logs para obter a saída da operação de invocação
No exemplo score.py arquivo, o run() método registra alguma saída para o console.
O estúdio não suporta endpoints locais. Consulte as guias CLI ou Python do Azure para conhecer as etapas para testar o ponto de extremidade localmente.
O modelo não suporta pontos de extremidade locais. Consulte as guias CLI ou Python do Azure para conhecer as etapas para testar o ponto de extremidade localmente.
Implantar seu ponto de extremidade online no Azure
Em seguida, implante seu ponto de extremidade online no Azure. Como prática recomendada para produção, recomendamos que você registre o modelo e o ambiente que usará em sua implantação.
Registe o seu modelo e ambiente
Recomendamos que você registre seu modelo e ambiente antes da implantação no Azure para que possa especificar seus nomes registrados e versões durante a implantação. Registrar seus ativos permite reutilizá-los sem a necessidade de carregá-los toda vez que você cria implantações, aumentando assim a reprodutibilidade e rastreabilidade.
Nota
Ao contrário da implantação no Azure, a implantação local não oferece suporte ao uso de modelos e ambientes registrados. Em vez disso, a implantação local usa arquivos de modelo local e usa ambientes apenas com arquivos locais.
Para implantação no Azure, você pode usar ativos locais ou registrados (modelos e ambientes). Nesta seção do artigo, a implantação no Azure usa ativos registrados, mas você tem a opção de usar ativos locais. Para obter um exemplo de uma configuração de implantação que carrega arquivos locais para usar na implantação local, consulte Configurar uma implantação.
Para registrar o modelo e o ambiente, use o formulário model: azureml:my-model:1 ou environment: azureml:my-env:1.
Para o registro, você pode extrair as definições de YAML de model e environment em arquivos YAML separados e usar os comandos az ml model create e az ml environment create. Para saber mais sobre esses comandos, execute az ml model create -h e az ml environment create -h.
from azure.ai.ml.entities import Model
from azure.ai.ml.constants import AssetTypes
file_model = Model(
path="../../model-1/model/",
type=AssetTypes.CUSTOM_MODEL,
name="my-model",
description="Model created from local file.",
)
ml_client.models.create_or_update(file_model)
Registe o ambiente:
from azure.ai.ml.entities import Environment
env_docker_conda = Environment(
image="mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04",
conda_file="../../model-1/environment/conda.yaml",
name="my-env",
description="Environment created from a Docker image plus Conda environment.",
)
ml_client.environments.create_or_update(env_docker_conda)
Um registro de modelo é uma entidade lógica no espaço de trabalho que pode conter um único arquivo de modelo ou um diretório de vários arquivos. Como prática recomendada para a produção, você deve registrar o modelo e o ambiente. Antes de criar o ponto de extremidade e a implantação neste artigo, você deve registrar a pasta modelo que contém o modelo.
Para registar o modelo de exemplo, siga estes passos:
Na barra de navegação esquerda, selecione a página Modelos .
Selecione Registrar e, em seguida, escolha De arquivos locais.
Selecione Tipo não especificado para o Tipo de modelo.
Selecione Procurar e escolha Procurar pasta.
Selecione a \azureml-examples\cli\endpoints\online\model-1\model pasta na cópia local do repositório que você clonou ou baixou anteriormente. Quando solicitado, selecione Carregar e aguarde a conclusão do carregamento.
Selecione Avançar após a conclusão do carregamento da pasta.
Insira um Nome amigável para o modelo. As etapas neste artigo pressupõem que o modelo é chamado model-1.
Selecione Avançar e, em seguida , Registrar para concluir o registro.
Na barra de navegação esquerda, selecione a página Ambientes .
Selecione Criar.
Na página "Configurações", forneça um nome, como my-env para o ambiente.
Em "Selecionar fonte do ambiente", escolha Usar imagem docker existente com fonte conda opcional.
Selecione Avançar para ir para a página "Personalizar".
Copie o \azureml-examples\cli\endpoints\online\model-1\environment\conda.yaml conteúdo do arquivo da cópia local do repositório clonado ou baixado anteriormente.
Cole o conteúdo na caixa de texto.
Selecione Avançar até chegar à página "Revisão".
selecione Criar.
Para obter mais informações sobre como criar um ambiente no estúdio, consulte Criar um ambiente.
Para registrar o modelo usando um modelo, você deve primeiro carregar o arquivo de modelo em um repositório de Blob do Azure. O exemplo a seguir usa o az storage blob upload-batch comando para carregar um arquivo para o armazenamento padrão do seu espaço de trabalho:
az storage blob upload-batch -d $AZUREML_DEFAULT_CONTAINER/model -s cli/endpoints/online/model-1/model --account-name $AZURE_STORAGE_ACCOUNT
Depois de carregar o arquivo, use o modelo para criar um registro de modelo. No exemplo a seguir, o modelUri parâmetro contém o caminho para o modelo:
az deployment group create -g $RESOURCE_GROUP \
--template-file arm-templates/model-version.json \
--parameters \
workspaceName=$WORKSPACE \
modelAssetName="sklearn" \
modelUri="azureml://subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/workspaces/$WORKSPACE/datastores/$AZUREML_DEFAULT_DATASTORE/paths/model/sklearn_regression_model.pkl"
Parte do ambiente é um arquivo conda que especifica as dependências do modelo necessárias para hospedar o modelo. O exemplo a seguir demonstra como ler o conteúdo do arquivo conda em variáveis de ambiente:
O exemplo a seguir demonstra como usar o modelo para registrar o ambiente. O conteúdo do arquivo conda da etapa anterior é passado para o modelo usando o condaFile parâmetro:
Use os ativos registrados (modelo e ambiente) em sua definição de implantação. O trecho a seguir mostra o endpoints/online/managed/sample/blue-deployment-with-registered-assets.yml arquivo, com todas as entradas necessárias para configurar uma implantação:
Ao implantar a partir do estúdio, você criará um ponto de extremidade e uma implantação para adicionar a ele. Nesse momento, você será solicitado a fornecer nomes para o ponto de extremidade e a implantação.
Você pode especificar os tipos de instância de CPU ou GPU e imagens em sua definição de implantação para implantação local e implantação no Azure.
Sua definição de implantação no arquivo blue-deployment-with-registered-assets.yml usou uma instância de tipo Standard_DS3_v2 de uso geral e uma imagem mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latestdo Docker que não é GPU. Para computação GPU, escolha um tipo de computação GPU SKU e uma imagem GPU Docker.
Para tipos de instância de uso geral e GPU suportados, consulte Pontos de extremidade online gerenciados suportados SKUs de VM. Para obter uma lista de imagens base de CPU e GPU do Azure Machine Learning, consulte Imagens base do Azure Machine Learning.
Nota
Para usar o Kubernetes, em vez de pontos de extremidade gerenciados, como um destino de computação, consulte Introdução ao destino de computação do Kubernetes.
Você pode especificar os tipos e imagens de instância de CPU ou GPU em sua configuração de implantação para implantação local e implantação no Azure.
Anteriormente, você configurou uma implantação que usava uma instância de tipo de uso Standard_DS3_v2 geral e uma imagem mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latestdo Docker que não é GPU. Para computação GPU, escolha um tipo de computação GPU SKU e uma imagem GPU Docker.
Para tipos de instância de uso geral e GPU suportados, consulte Pontos de extremidade online gerenciados suportados SKUs de VM. Para obter uma lista de imagens base de CPU e GPU do Azure Machine Learning, consulte Imagens base do Azure Machine Learning.
Nota
Para usar o Kubernetes, em vez de pontos de extremidade gerenciados, como um destino de computação, consulte Introdução ao destino de computação do Kubernetes.
Ao usar o estúdio para implantar no Azure, você será solicitado a especificar as propriedades de computação (tipo de instância e contagem de instâncias) e o ambiente a ser usado para sua implantação.
O registro anterior do ambiente especifica uma imagem mcr.microsoft.com/azureml/openmpi3.1.2-ubuntu18.04 docker não GPU passando o valor para o environment-version.json modelo usando o dockerImage parâmetro. Para uma computação de GPU, forneça um valor para uma imagem docker de GPU para o modelo (usando o dockerImage parâmetro) e forneça um tipo de computação de GPU SKU para o online-endpoint-deployment.json modelo (usando o skuName parâmetro).
Para tipos de instância de uso geral e GPU suportados, consulte Pontos de extremidade online gerenciados suportados SKUs de VM. Para obter uma lista de imagens base de CPU e GPU do Azure Machine Learning, consulte Imagens base do Azure Machine Learning.
Em seguida, implante seu ponto de extremidade online no Azure.
az ml online-endpoint create --name $ENDPOINT_NAME -f endpoints/online/managed/sample/endpoint.yml
Crie a implantação nomeada blue sob o ponto de extremidade.
az ml online-deployment create --name blue --endpoint $ENDPOINT_NAME -f endpoints/online/managed/sample/blue-deployment-with-registered-assets.yml --all-traffic
A criação da implantação pode levar até 15 minutos, dependendo se o ambiente subjacente ou a imagem está sendo criada pela primeira vez. As implantações subsequentes que usam o mesmo ambiente são processadas mais rapidamente.
Gorjeta
Se preferir não bloquear o console da CLI, você pode adicionar o sinalizador --no-wait ao comando. No entanto, essa opção interromperá a exibição interativa do status da implantação.
Importante
O --all-traffic sinalizador no código az ml online-deployment create usado para criar a implantação aloca 100% do tráfego do ponto de extremidade para a implantação azul recém-criada. Embora isso seja útil para fins de desenvolvimento e teste, para produção, convém rotear o tráfego para a nova implantação por meio de um comando explícito. Por exemplo, az ml online-endpoint update -n $ENDPOINT_NAME --traffic "blue=100".
Crie o ponto de extremidade:
Usando o endpoint que você definiu anteriormente e o MLClient que você criou anteriormente, agora você pode criar o ponto de extremidade no espaço de trabalho. Este comando inicia a criação do ponto de extremidade e retorna uma resposta de confirmação enquanto a criação do ponto de extremidade continua.
Usando o blue_deployment_with_registered_assets que você definiu anteriormente e o MLClient que você criou anteriormente, agora você pode criar a implantação no espaço de trabalho. Este comando inicia a criação da implantação e retorna uma resposta de confirmação enquanto a criação da implantação continua.
Se preferir não bloquear o console do Python, você pode adicionar o sinalizador no_wait=True aos parâmetros. No entanto, essa opção interromperá a exibição interativa do status da implantação.
Use o estúdio para criar um endpoint online gerenciado diretamente em seu navegador. Ao criar um ponto de extremidade online gerenciado no estúdio, você deve definir uma implantação inicial. Não é possível criar um ponto de extremidade online gerenciado vazio.
Uma maneira de criar um endpoint online gerenciado no estúdio é a partir da página Modelos . Esse método também fornece uma maneira fácil de adicionar um modelo a uma implantação online gerenciada existente. Para implantar o modelo nomeado model-1 que você registrou anteriormente na seção Registrar seu modelo e ambiente :
Na barra de navegação esquerda, selecione a página Modelos .
Selecione o modelo nomeado model-1 marcando o círculo ao lado de seu nome.
Selecione Implantar>ponto de extremidade em tempo real.
Esta ação abre uma janela onde você pode especificar detalhes sobre seu ponto de extremidade.
Insira um nome de Ponto de Extremidade exclusivo na região do Azure. Para obter mais informações sobre as regras de nomenclatura, consulte Limites de pontos finais.
Manter a seleção padrão: Gerenciado para o tipo de computação.
Mantenha a seleção padrão: autenticação baseada em chave para o tipo de autenticação. Para obter mais informações sobre autenticação, consulte Autenticar clientes para pontos de extremidade online.
Selecione Avançar, até chegar à página "Implantação". Aqui, alterne o diagnóstico do Application Insights para Habilitado para permitir que você visualize gráficos das atividades do seu endpoint no estúdio mais tarde e analise métricas e logs usando o Application Insights.
Selecione Avançar para ir para a página "Código + ambiente". Aqui, selecione as seguintes opções:
Selecione um script de pontuação para inferir: Procure e selecione o \azureml-examples\cli\endpoints\online\model-1\onlinescoring\score.py arquivo do repositório que você clonou ou baixou anteriormente.
Seção Selecionar ambiente : Selecione Ambientes personalizados e, em seguida, selecione o ambiente my-env:1 que você criou anteriormente.
Selecione Avançar, aceitando padrões, até que você seja solicitado a criar a implantação.
Revise suas configurações de implantação e selecione o botão Criar .
Como alternativa, você pode criar um ponto de extremidade online gerenciado na página Pontos de extremidade no estúdio.
Na barra de navegação esquerda, selecione a página Pontos de extremidade .
Selecione + Criar.
Essa ação abre uma janela para você selecionar seu modelo e especificar detalhes sobre seu ponto de extremidade e implantação. Insira as configurações para seu ponto de extremidade e implantação conforme descrito anteriormente e, em seguida , crie a implantação.
Use o modelo para criar um ponto de extremidade online:
Liste todos os pontos de extremidade no espaço de trabalho em um formato de tabela usando o list método:
for endpoint in ml_client.online_endpoints.list():
print(endpoint.name)
O método retorna uma lista (iterador) de ManagedOnlineEndpoint entidades.
Você pode obter mais informações especificando mais parâmetros. Por exemplo, produza a lista de pontos de extremidade como uma tabela:
print("Kind\tLocation\tName")
print("-------\t----------\t------------------------")
for endpoint in ml_client.online_endpoints.list():
print(f"{endpoint.kind}\t{endpoint.location}\t{endpoint.name}")
Exibir endpoints online gerenciados
Você pode visualizar todos os seus endpoints online gerenciados na página Endpoints . Vá para a página Detalhes do ponto de extremidade para encontrar informações críticas, incluindo o URI do ponto de extremidade, status, ferramentas de teste, monitores de atividade, logs de implantação e código de consumo de exemplo:
Na barra de navegação esquerda, selecione Pontos de extremidade. Aqui, você pode ver uma lista de todos os pontos de extremidade no espaço de trabalho.
(Opcional) Crie um filtro no tipo de computação para mostrar apenas os tipos de computação gerenciados.
Selecione um nome de ponto de extremidade para exibir a página Detalhes do ponto de extremidade.
Gorjeta
Embora os modelos sejam úteis para implantar recursos, eles não podem ser usados para listar, mostrar ou invocar recursos. Use a CLI do Azure, o SDK do Python ou o estúdio para executar essas operações. O código a seguir usa a CLI do Azure.
Use o show comando para exibir informações no provisioning_state para o ponto de extremidade e implantação:
az ml online-endpoint show -n $ENDPOINT_NAME
Liste todos os pontos de extremidade no espaço de trabalho em um formato de tabela usando o list comando:
az ml online-endpoint list --output table
Verificar o status da implantação on-line
Verifique os logs para ver se o modelo foi implantado sem erros.
Para ver a saída de log de um contêiner, use o seguinte comando da CLI:
az ml online-deployment get-logs --name blue --endpoint $ENDPOINT_NAME
Por padrão, os logs são extraídos do contêiner do servidor de inferência. Para ver os logs do contêiner do inicializador de armazenamento, adicione o --container storage-initializer sinalizador. Para obter mais informações sobre logs de implantação, consulte Obter logs de contêiner.
Você pode exibir a saída do log usando o get_logs método:
Por padrão, os logs são extraídos do contêiner do servidor de inferência. Para ver os logs do contêiner do inicializador de armazenamento, adicione a container_type="storage-initializer" opção. Para obter mais informações sobre logs de implantação, consulte Obter logs de contêiner.
Para exibir a saída do log, selecione a guia Logs na página do ponto de extremidade. Se você tiver várias implantações em seu ponto de extremidade, use a lista suspensa para selecionar a implantação cujo log você deseja ver.
Por padrão, os logs são extraídos do servidor de inferência. Para ver os logs do contêiner do inicializador de armazenamento, use a CLI do Azure ou o SDK do Python (consulte cada guia para obter detalhes). Os logs do contêiner do inicializador de armazenamento fornecem informações sobre se o código e os dados do modelo foram baixados com êxito para o contêiner. Para obter mais informações sobre logs de implantação, consulte Obter logs de contêiner.
Gorjeta
Embora os modelos sejam úteis para implantar recursos, eles não podem ser usados para listar, mostrar ou invocar recursos. Use a CLI do Azure, o SDK do Python ou o estúdio para executar essas operações. O código a seguir usa a CLI do Azure.
Para ver a saída de log de um contêiner, use o seguinte comando da CLI:
az ml online-deployment get-logs --name blue --endpoint $ENDPOINT_NAME
Por padrão, os logs são extraídos do contêiner do servidor de inferência. Para ver os logs do contêiner do inicializador de armazenamento, adicione o --container storage-initializer sinalizador. Para obter mais informações sobre logs de implantação, consulte Obter logs de contêiner.
Invoque o ponto de extremidade para pontuar dados usando seu modelo
Use o invoke comando ou um cliente REST de sua escolha para invocar o ponto de extremidade e pontuar alguns dados:
az ml online-endpoint invoke --name $ENDPOINT_NAME --request-file endpoints/online/model-1/sample-request.json
Obtenha a chave usada para autenticar no ponto de extremidade:
Gorjeta
Você pode controlar quais entidades de segurança do Microsoft Entra podem obter a chave de autenticação atribuindo-as a uma função personalizada que permite Microsoft.MachineLearningServices/workspaces/onlineEndpoints/token/action e Microsoft.MachineLearningServices/workspaces/onlineEndpoints/listkeys/action. Para obter mais informações sobre como gerenciar a autorização para espaços de trabalho, consulte Gerenciar o acesso a um espaço de trabalho do Azure Machine Learning.
ENDPOINT_KEY=$(az ml online-endpoint get-credentials -n $ENDPOINT_NAME -o tsv --query primaryKey)
Use curl para pontuar dados.
SCORING_URI=$(az ml online-endpoint show -n $ENDPOINT_NAME -o tsv --query scoring_uri)
curl --request POST "$SCORING_URI" --header "Authorization: Bearer $ENDPOINT_KEY" --header 'Content-Type: application/json' --data @endpoints/online/model-1/sample-request.json
Observe que você usa show e get-credentials comandos para obter as credenciais de autenticação. Observe também que você está usando o --query sinalizador para filtrar apenas os atributos necessários. Para saber mais sobre o sinalizador, consulte Consultar saída de --query comando da CLI do Azure.
Para ver os logs de invocação, execute get-logs novamente.
Usando o MLClient criado anteriormente, obtenha um identificador para o ponto de extremidade. O ponto de extremidade pode então ser invocado usando o invoke comando com os seguintes parâmetros:
endpoint_name - Nome do ponto final
request_file - Arquivo com dados de solicitação
deployment_name - Nome da implantação específica a ser testada em um endpoint
Envie uma solicitação de exemplo usando um arquivo json .
# test the blue deployment with some sample data
ml_client.online_endpoints.invoke(
endpoint_name=endpoint_name,
deployment_name="blue",
request_file="../model-1/sample-request.json",
)
Use a guia Teste na página de detalhes do ponto de extremidade para testar sua implantação online gerenciada. Insira a entrada de amostra e visualize os resultados.
Selecione a guia Teste na página de detalhes do ponto de extremidade.
Use a lista suspensa para selecionar a implantação que você deseja testar.
Embora os modelos sejam úteis para implantar recursos, eles não podem ser usados para listar, mostrar ou invocar recursos. Use a CLI do Azure, o SDK do Python ou o estúdio para executar essas operações. O código a seguir usa a CLI do Azure.
Use o invoke comando ou um cliente REST de sua escolha para invocar o ponto de extremidade e pontuar alguns dados:
az ml online-endpoint invoke --name $ENDPOINT_NAME --request-file cli/endpoints/online/model-1/sample-request.json
Se desejar atualizar o código, modelo ou ambiente, atualize o arquivo YAML e execute o az ml online-endpoint update comando.
Nota
Se você atualizar a contagem de instâncias (para dimensionar sua implantação) juntamente com outras configurações de modelo (como código, modelo ou ambiente) em um único update comando, a operação de dimensionamento será executada primeiro e, em seguida, as outras atualizações serão aplicadas. É uma boa prática executar essas operações separadamente em um ambiente de produção.
Para entender como update funciona:
Abra o arquivo online/model-1/onlinescoring/score.py.
Altere a última linha da função: Depois logging.info("Init complete"), init() adicione logging.info("Updated successfully").
Guarde o ficheiro.
Execute este comando:
az ml online-deployment update -n blue --endpoint $ENDPOINT_NAME -f endpoints/online/managed/sample/blue-deployment-with-registered-assets.yml
Nota
A atualização usando YAML é declarativa. Ou seja, as alterações no YAML são refletidas nos recursos subjacentes do Azure Resource Manager (pontos de extremidade e implantações). Uma abordagem declarativa facilita o GitOps: todas as alterações em endpoints e implantações (até instance_countmesmo) passam pelo YAML.
Gorjeta
Você pode usar parâmetros de atualização genéricos, como o --set parâmetro, com o comando CLI update para substituir atributos em seu YAML ou para definir atributos específicos sem passá-los no arquivo YAML. O uso --set para atributos únicos é especialmente valioso em cenários de desenvolvimento e teste. Por exemplo, para aumentar o instance_count valor da primeira implantação, você pode usar o --set instance_count=2 sinalizador. No entanto, como o YAML não é atualizado, essa técnica não facilita o GitOps.
Especificar o arquivo YAML NÃO é obrigatório. Por exemplo, se você quiser testar uma configuração de simultaneidade diferente para uma determinada implantação, poderá tentar algo como az ml online-deployment update -n blue -e my-endpoint --set request_settings.max_concurrent_requests_per_instance=4 environment_variables.WORKER_COUNT=4. Isso manterá todas as configurações existentes, mas atualizará apenas os parâmetros especificados.
Como você modificou a função, que é executada init() quando o ponto de extremidade é criado ou atualizado, a mensagem Updated successfully estará nos logs. Recupere os logs executando:
az ml online-deployment get-logs --name blue --endpoint $ENDPOINT_NAME
O update comando também funciona com implantações locais. Use o mesmo az ml online-deployment update comando com o --local sinalizador.
Se você quiser atualizar o código, modelo ou ambiente, atualize a configuração e, em seguida, execute o MLClientmétodo do online_deployments.begin_create_or_update para criar ou atualizar uma implantação.
Nota
Se você atualizar a contagem de instâncias (para dimensionar sua implantação) juntamente com outras configurações de modelo (como código, modelo ou ambiente) em um único begin_create_or_update método, a operação de dimensionamento será executada primeiro e, em seguida, as outras atualizações serão aplicadas. É uma boa prática executar essas operações separadamente em um ambiente de produção.
Para entender como begin_create_or_update funciona:
Abra o arquivo online/model-1/onlinescoring/score.py.
Altere a última linha da função: Depois logging.info("Init complete"), init() adicione logging.info("Updated successfully").
Como você modificou a função, que é executada init() quando o ponto de extremidade é criado ou atualizado, a mensagem Updated successfully estará nos logs. Recupere os logs executando:
O begin_create_or_update método também funciona com implantações locais. Use o mesmo método com o local=True sinalizador.
Atualmente, o estúdio permite que você faça atualizações apenas para a contagem de instâncias de uma implantação. Use as instruções a seguir para dimensionar uma implantação individual para cima ou para baixo, ajustando o número de instâncias:
Abra a página Detalhes do ponto de extremidade e localize o cartão para a implantação que você deseja atualizar.
Selecione o ícone de edição (ícone de lápis) ao lado do nome da implantação.
Atualize a contagem de instâncias associada à implantação. Você pode escolher entre Utilização padrão ou de destino para "Tipo de escala de implantação".
Se você selecionar Padrão, poderá também especificar um valor numérico para a contagem de instâncias.
Se você selecionar Utilização de destino, poderá especificar valores a serem usados para parâmetros ao dimensionar automaticamente a implantação.
Selecione Atualizar para concluir a atualização das contagens de instâncias para sua implantação.
Atualmente, não há uma opção para atualizar a implantação usando um modelo ARM.
Nota
A atualização para a implantação nesta seção é um exemplo de uma atualização contínua in-loco.
Para um ponto de extremidade online gerenciado, a implantação é atualizada para a nova configuração com 20% de nós de cada vez. Ou seja, se a implantação tiver 10 nós, 2 nós de cada vez serão atualizados.
Para um ponto de extremidade online do Kubernetes, o sistema cria iterativamente uma nova instância de implantação com a nova configuração e exclui a antiga.
Para uso em produção, você deve considerar a implantação azul-verde, que oferece uma alternativa mais segura para atualizar um serviço Web.
(Opcional) Configurar o dimensionamento automático
O dimensionamento automático executa a quantidade certa de recursos para processar a carga da aplicação. Os pontos de extremidade online gerenciados dão suporte ao dimensionamento automático por meio da integração com o recurso de dimensionamento automático do monitor do Azure. Para configurar o dimensionamento automático, consulte Como dimensionar automaticamente pontos de extremidade online.
(Opcional) Monitorar SLA usando o Azure Monitor
Para exibir métricas e definir alertas com base em seu SLA, conclua as etapas descritas em Monitorar pontos de extremidade online.
(Opcional) Integração com o Log Analytics
O get-logs comando para CLI ou o get_logs método para SDK fornece apenas as últimas centenas de linhas de logs de uma instância selecionada automaticamente. No entanto, o Log Analytics fornece uma maneira de armazenar e analisar logs de forma durável. Para obter mais informações sobre como usar o registro em log, consulte Monitorar pontos de extremidade online.
Se você não vai usar o ponto de extremidade e a implantação, exclua-os. Ao excluir o ponto de extremidade, você também exclui todas as suas implantações subjacentes.
Na barra de navegação esquerda, selecione a página Pontos de extremidade .
Selecione um ponto de extremidade marcando o círculo ao lado do nome do modelo.
Selecione Eliminar.
Como alternativa, você pode excluir um ponto de extremidade online gerenciado diretamente selecionando o ícone Excluir na página de detalhes do ponto final.
Exclua o ponto de extremidade e todas as suas implantações subjacentes:
az ml online-endpoint delete --name $ENDPOINT_NAME --yes --no-wait