Partilhar via


Parâmetros de avaliação para inferência na produção

APLICA-SE A:Azure CLI ml extension v2 (atual)Python SDK azure-ai-ml v2 (atual)

Depois de treinar modelos ou pipelines de aprendizado de máquina ou encontrar modelos adequados do catálogo de modelos, você precisa implantá-los na produção para que outros possam usá-los para inferência. Inferência é o processo de aplicação de novos dados de entrada a um modelo ou pipeline de aprendizado de máquina para gerar saídas. Embora essas saídas sejam normalmente chamadas de "previsões", a inferência pode gerar saídas para outras tarefas de aprendizado de máquina, como classificação e clustering. No Azure Machine Learning, você executa inferência usando pontos de extremidade.

Pontos de extremidade e implantações

Um ponto de extremidade é uma URL estável e durável que pode ser usada para solicitar ou invocar um modelo. Você fornece as entradas necessárias para o ponto de extremidade e recebe as saídas. O serviço Azure Machine Learning oferece suporte a implantações típicas, endpoints online e endpoints em lote. Um ponto de extremidade fornece:

  • Um URL estável e durável (como endpoint-name.region.inference.ml.azure.com)
  • Um mecanismo de autenticação
  • Um mecanismo de autorização

Uma implantação é um conjunto de recursos e computação necessários para hospedar o modelo ou componente que executa a inferência real. Um ponto de extremidade contém uma implantação. Para endpoints online e processos em lote, um endpoint pode conter várias implantações. As implantações podem hospedar ativos independentes e consumir diferentes recursos com base nas necessidades dos ativos. Um ponto de extremidade também tem um mecanismo de roteamento que pode direcionar solicitações para qualquer uma das suas implementações.

Alguns tipos de pontos de extremidade no Azure Machine Learning consomem recursos dedicados nas suas implantações. Para que esses pontos de extremidade sejam executados, você deve ter uma cota de computação em sua assinatura do Azure. No entanto, alguns modelos oferecem suporte a uma implantação sem servidor, o que permite que eles não consumam nenhuma cota da sua assinatura. Para implantações sem servidor, você é cobrado com base no uso.

Intuition

Suponha que você esteja trabalhando em um aplicativo que prevê o tipo e a cor de um carro a partir de uma foto. Para este aplicativo, um usuário com certas credenciais faz uma solicitação HTTP para uma URL e fornece uma imagem de um carro como parte da solicitação. Em troca, o usuário recebe uma resposta que inclui o tipo e a cor do carro como valores de string. Nesse cenário, a URL funciona como um endpoint.

Um diagrama mostrando o conceito de um ponto de extremidade.

Agora suponha que uma cientista de dados, Alice, esteja implementando o aplicativo. Alice tem uma vasta experiência no TensorFlow e decide implementar o modelo usando um classificador sequencial Keras com uma arquitetura ResNet do TensorFlow Hub. Depois de testar o modelo, Alice fica satisfeita com seus resultados e decide usar o modelo para resolver o problema de previsão do carro. O modelo é grande e requer 8 GB de memória com 4 núcleos para ser executado. Nesse cenário, o modelo de Alice e os recursos — como o código e a capacidade de processamento — necessários para executar o modelo compõem uma implementação no ponto de extremidade.

Um diagrama mostrando o conceito de uma implantação.

Após alguns meses, a organização descobre que o aplicativo funciona mal em imagens com más condições de iluminação. Bob, outro cientista de dados, tem experiência em técnicas de aumento de dados que ajudam os modelos a construir robustez para esse fator. No entanto, Bob prefere usar o PyTorch para implementar o modelo e treina um novo modelo com o PyTorch. Bob quer testar este modelo em produção gradualmente até que a organização esteja pronta para aposentar o modelo antigo. O novo modelo também tem um desempenho melhor quando implantado na GPU, portanto, a implantação precisa incluir uma GPU. Nesse cenário, o modelo de Bob e os recursos — como o código e a computação — necessários para executar o modelo compõem outra implantação sob o mesmo ponto de extremidade.

Um diagrama mostrando o conceito de um ponto de extremidade com várias implantações.

Pontos de extremidade: implantação padrão, online e por lotes

O Azure Machine Learning dá suporte a implantações padrão, pontos de extremidade online e pontos de extremidade em lote.

Implantações padrão e pontos finais online são projetados para inferência em tempo real. Quando você invoca o ponto de extremidade, os resultados são retornados na resposta do ponto de extremidade. As implantações padrão não consomem cota da sua assinatura; em vez disso, elas são cobradas com faturação padrão.

Os pontos de extremidade de lote são projetados para inferência em lotes de longa execução. Quando se invoca um endpoint em lote, gera-se um trabalho em lote que executa a tarefa necessária.

Quando usar os pontos de extremidade de implantação padrão, online e em lote

Implantação padrão:

Use implantações padrão para utilizar grandes modelos fundamentais para inferência em tempo real, prontos para uso imediato ou para afinar esses modelos. Nem todos os modelos estão disponíveis para implantação em implantações padrão. Recomendamos o uso desse modo de implantação quando:

  • Seu modelo é um modelo fundamental ou uma versão ajustada de um modelo fundamental que está disponível para implantações padrão.
  • Você pode se beneficiar de uma implantação sem cota.
  • Não é necessário personalizar a pilha de inferência usada para executar o modelo.

Pontos finais online:

Use endpoints online para implementar modelos para inferência em tempo real em pedidos síncronos de baixa latência. Recomendamos usá-los quando:

  • Seu modelo é um modelo fundamental ou uma versão ajustada de um modelo fundamental, mas não é suportado na implantação padrão.
  • Você tem requisitos de baixa latência.
  • O seu modelo pode responder ao pedido num período de tempo relativamente curto.
  • As entradas do seu modelo cabem na carga HTTP da solicitação.
  • Você precisa aumentar a escala em termos de número de solicitações.

Pontos finais de lote:

Utilize pontos de extremidade em lote para operacionalizar modelos ou pipelines para inferência assíncrona prolongada. Recomendamos usá-los quando:

  • Você tem modelos ou pipelines caros que exigem mais tempo para serem executados.
  • Você deseja operacionalizar pipelines de aprendizado de máquina e reutilizar componentes.
  • Você precisa executar inferência sobre grandes quantidades de dados que são distribuídos em vários arquivos.
  • Você não tem requisitos de baixa latência.
  • As entradas do seu modelo são armazenadas em uma conta de armazenamento ou em um ativo de dados do Azure Machine Learning.
  • Você pode tirar proveito da paralelização.

Comparação de endpoints de implantação padrão, on-line e em lote

Todas as implantações padrão, endpoints online e endpoints em lote são baseadas na ideia de endpoints, portanto, pode-se fazer a transição facilmente de um para o outro. Os endpoints online e em lote também são capazes de gerenciar várias implantações para o mesmo endpoint.

Endpoints

A tabela a seguir mostra um resumo dos diferentes recursos disponíveis para implantações padrão, pontos de extremidade online e pontos de extremidade em lote no nível do ponto de extremidade.

Feature Implantações padrão Pontos finais online Endpoints de Batch
URL de invocação estável Yes Yes Yes
Suporte para várias implantações No Yes Yes
Roteamento da implantação None Divisão de tráfego Mudar para o padrão
Tráfego espelhado para uma implementação segura No Yes No
Suporte para Swagger Yes Yes No
Authentication Key Chave e ID do Microsoft Entra (pré-visualização) Microsoft Entra ID
Suporte de rede privada (legado) No Yes Yes
Isolamento de rede gerenciado Yes Yes Sim (consulte a configuração adicional necessária)
Chaves gerenciadas pelo cliente NA Yes Yes
Base de custos Por terminal, por minuto1 None None

1Uma pequena fração é cobrada por minuto para a implantação padrão. Consulte a seção de implementações para obter informações sobre os encargos relacionados ao consumo, que são cobrados por token.

Deployments

A tabela a seguir mostra um resumo dos diferentes recursos disponíveis para implantações padrão, pontos de extremidade online e pontos de extremidade em lote no nível de implantação. Esses conceitos aplicam-se a cada implementação sob o ponto final (para pontos finais online e em lote) e também a implementações padrão (onde o conceito de implementação está incorporado ao ponto final).

Feature Implantações padrão Pontos finais online Pontos finais de lote
Tipos de implementação Models Models Modelos e componentes de pipeline
Implantação do modelo MLflow Não, apenas modelos específicos no catálogo Yes Yes
Implantação de modelo personalizado Não, apenas modelos específicos no catálogo Sim, com roteiro de pontuação Sim, com roteiro de pontuação
Servidor de inferência 3 API de Inferência de Modelos do Azure AI - Servidor de Inferência do Azure Machine Learning
- Tritão
- Personalizado (usando BYOC)
Inferência em lote
Recursos de computação consumidos Nenhum (sem servidor) Instâncias ou recursos granulares Instâncias de cluster
Tipo de computação Nenhum (sem servidor) Computação gerenciada e Kubernetes Computação gerenciada e Kubernetes
Computação de baixa prioridade NA No Yes
Dimensionamento da computação para zero Built-in No Yes
Computação de dimensionamento automático4 Built-in Sim, com base na utilização de recursos Sim, com base na contagem de empregos
Gestão da capacidade excedentária Throttling Throttling Queuing
Base de custos5 Por token Por implantação: instâncias de computação em execução Por trabalho: instâncias de computação consumidas no trabalho (limitadas ao número máximo de instâncias do cluster)
Testes locais de implantações No Yes No

2Servidor de inferência refere-se à tecnologia de serviço que recebe solicitações, processa-as e cria respostas. O servidor de inferência também dita o formato da entrada e as saídas esperadas.

3O dimensionamento automático é a capacidade de aumentar ou reduzir dinamicamente os recursos alocados da implantação com base em sua carga. As implantações on-line e em lote usam diferentes estratégias para dimensionamento automático. Enquanto as implantações on-line aumentam e diminuem a escala com base na utilização de recursos (como CPU, memória, solicitações, etc.), os pontos de extremidade em lote aumentam ou diminuem com base no número de trabalhos criados.

4 Tanto as implantações on-line quanto as implantações em lote são cobradas pelos recursos consumidos. Em implantações online, os recursos são provisionados no momento da implantação. Em implantações em lote, os recursos não são consumidos no momento da implantação, mas no momento em que o trabalho é executado. Portanto, não há custo associado à implantação em lote em si. Da mesma forma, os trabalhos em fila também não consomem recursos.

Interfaces de desenvolvimento

Os pontos de extremidade são projetados para ajudar as organizações a operacionalizar cargas de trabalho no nível de produção no Aprendizado de Máquina do Azure. Os endpoints são recursos robustos e escaláveis e fornecem os melhores recursos para implementar fluxos de trabalho MLOps.

Você pode criar e gerenciar endpoints em lote e online com várias ferramentas de desenvolvedor:

  • CLI do Azure e SDK do Python
  • Azure Resource Manager/API REST
  • Portal Web do estúdio do Azure Machine Learning
  • Portal do Azure (IT/Admin)
  • Suporte para pipelines de CI/CD MLOps usando a interface CLI do Azure & interfaces REST/ARM