Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Azure Machine Learning permite implementar endpoints e implantações do tipo batch para realizar inferências assíncronas de longa duração com modelos e pipelines de aprendizagem automática. Quando treinas um modelo ou pipeline de aprendizagem automática, precisas de o implementar para que outros possam usá-lo com novos dados de entrada para gerar previsões. Este processo, que consiste em gerar previsões com o modelo ou pipeline, chama-se inferência.
Os endpoints em lote recebem referências para dados e executam tarefas assíncronas para processar os dados em paralelo em clusters de computação paralela. Os endpoints de processamento em lote armazenam as saídas em um repositório de dados para análise adicional. Utilize pontas de serviço batch quando:
- Tens modelos ou pipelines caros que demoram mais tempo a funcionar.
- Queres operacionalizar pipelines de aprendizagem automática e reutilizar componentes.
- É necessário fazer inferência sobre grandes quantidades de dados, distribuídas em múltiplos ficheiros.
- Não tens requisitos de latência baixos.
- As entradas do seu modelo são armazenadas numa conta de armazenamento ou num ativo de dados do Azure Machine Learning.
- Podes tirar partido da paralelização.
Implantações em lote
Uma implementação é um conjunto de recursos e computações necessários para implementar a funcionalidade que o endpoint fornece. Um endpoint pode alojar múltiplos desdobramentos, cada um com a sua própria configuração, desacoplando a interface do endpoint dos detalhes da implementação. Quando um endpoint batch é invocado, ele encaminha automaticamente o cliente para a sua implementação predefinida. Esta implementação por defeito pode ser configurada e alterada a qualquer momento.
Dois tipos de implementações são possíveis nos endpoints batch do Azure Machine Learning:
Implementação do modelo
A implementação de modelos permite a operacionalização da inferência de modelos em escala, permitindo processar grandes quantidades de dados de forma baixa latência e assíncrona. O Azure Machine Learning instrumenta automaticamente a escalabilidade ao fornecer paralelização dos processos de inferência entre múltiplos nós num cluster de computação.
Use Implantação do modelo quando:
- Existem modelos caros que exigem mais tempo para executar inferências.
- É necessário fazer inferência sobre grandes quantidades de dados, distribuídas em múltiplos ficheiros.
- Não tens requisitos de latência baixos.
- Podes tirar partido da paralelização.
O principal benefício dos desdobramentos de modelos é que pode usar os mesmos recursos usados para inferência em tempo real em endpoints online, mas agora pode executá-los em larga escala por lotes. Se o seu modelo requer pré-processamento ou pós-processamento simples, pode criar um script de pontuação que realize as transformações de dados necessárias.
Para criar uma implementação de modelo num endpoint batch, é necessário especificar os seguintes elementos:
- Modelo
- Cluster de computação
- Script de pontuação (opcional para modelos MLflow)
- Ambiente (opcional para modelos MLflow)
Implementação de componentes de pipeline
A implementação de componentes de pipeline permite a operacionalização de grafos de processamento inteiros (ou pipelines) para realizar inferência em lote de forma de baixa latência e assíncrona.
Use a implementação de componentes do Pipeline quando:
- É necessário operacionalizar grafos de computação completos que possam ser decompostos em vários passos.
- Você precisa de reutilizar componentes dos pipelines de treino nos seus pipelines de inferência.
- Não tens requisitos de latência baixos.
O principal benefício das implementações de componentes de pipeline é a reutilização de componentes que já existem na sua plataforma e a capacidade de operacionalizar rotinas complexas de inferência.
Para criar uma implementação de componente pipeline num endpoint batch, precisa de especificar os seguintes elementos:
- Componente de pipeline
- Configuração do cluster de cálculo
Os endpoints batch também permitem criar implementações de componentes de pipeline a partir de um job de pipeline existente. Ao fazer isso, o Azure Machine Learning cria automaticamente um componente pipeline a partir da tarefa. Isto simplifica a utilização deste tipo de implementações. No entanto, é uma boa prática criar sempre componentes de pipeline explicitamente para simplificar a sua prática de MLOps.
Gestão de custos
Invocar um endpoint de lote desencadeia uma tarefa de inferência em lote assíncrona. O Azure Machine Learning fornece automaticamente recursos de computação quando o trabalho começa e distribui-os automaticamente à medida que o trabalho é concluído. Desta forma, só paga pela computação quando a utiliza.
Dica
Ao implementar modelos, pode sobrescrever as definições de recursos de computação (como o número de instâncias) e as definições avançadas (como tamanho do mini lote, limiar de erro, etc.) para cada trabalho individual de inferência em lote. Ao tirar partido destas configurações específicas, poderá acelerar a execução e reduzir custos.
Os endpoints batch também podem correr em VMs de baixa prioridade. Os endpoints em lote podem recuperar automaticamente de VMs desalocadas e retomar o trabalho no ponto onde foi deixado ao executar modelos para inferência. Para mais informações sobre como usar VMs de baixa prioridade para reduzir o custo das cargas de trabalho de inferência em lote, consulte Usar VMs de baixa prioridade em endpoints em lote.
Por fim, o Azure Machine Learning não cobra por endpoints batch ou implementações em lote, por isso pode organizar os seus endpoints e implementações da melhor forma que se adequa ao seu cenário. Endpoints e implementações podem usar clusters independentes ou partilhados, de modo a poder obter um controlo refinado sobre quais os recursos de computação que os jobs consomem. Use scale-to-zero em clusters para garantir que nenhum recurso é consumido quando estão inativos.
Simplificar a prática do MLOps
Os endpoints batch podem gerir múltiplas implementações sob o mesmo endpoint, permitindo-lhe alterar a implementação do endpoint sem alterar a URL que os seus consumidores usam para o invocar.
Pode adicionar, remover e atualizar implementações sem afetar o próprio endpoint.
Fontes de dados flexíveis e armazenamento
Os endpoints em lote leem e escrevem dados diretamente do armazenamento. Pode especificar Azure Machine Learning datastores, Azure Machine Learning data assets ou contas de armazenamento como entradas. Para mais informações sobre as opções de entrada suportadas e a forma de as especificar, consulte Criar trabalhos e dados de entrada para endpoints em lote.
Segurança
Os batch endpoints fornecem todas as capacidades necessárias para operar trabalho de nível de produção num ambiente empresarial. Suportam rede privada em espaços de trabalho seguros e a autenticação Microsoft Entra, utilizando um princípio de utilizador (como uma conta de utilizador) ou um princípio de serviço (como uma identidade gerida ou não gerida). Trabalhos gerados por um endpoint batch executam sob a identidade do invocador, o que lhe dá flexibilidade para implementar qualquer cenário. Para mais informações sobre autorização ao utilizar endpoints batch, veja Como autenticar em endpoints batch.