Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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.
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.
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.
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