O que são os pontos finais do Azure Machine Learning?
APLICA-SE A:Extensão Azure CLI ml v2 (corrente)
Python SDK azure-ai-ml v2 (pré-visualização)
Utilize pontos finais de aprendizagem automática Azure para simplificar as implementações de modelos tanto para implementações de inferências em tempo real como para inferências de lote. Os pontos finais fornecem uma interface unificada para invocar e gerir implementações de modelos em todos os tipos de cálculo.
Neste artigo, aprende-se:
- Pontos Finais
- Implementações
- Pontos finais online geridos
- Pontos finais online do Kubernetes
- Pontos finais de inferência de lote
O que são pontos finais e implantações?
Depois de treinar um modelo de machine learning, precisa de implementar o modelo para que outros possam usá-lo para fazer inferenculação. No Azure Machine Learning, pode utilizar pontos finais e implementações para o fazer.
Um ponto final é um ponto final HTTPS que os clientes podem chamar para receber a produção inferencing (pontuação) de um modelo treinado. Fornece:
- Autenticação utilizando auth baseado em "símbolo & chave"
- Terminação de SSL
- Um URI de pontuação estável (endpoint-name.region.inference.ml.azure.com)
Uma implantação é um conjunto de recursos necessários para hospedar o modelo que faz a inferencing real.
Um único ponto final pode conter múltiplas implementações. Os pontos finais e as implementações são recursos independentes Resource Manager Azure que aparecem no portal do Azure.
A Azure Machine Learning utiliza o conceito de pontos finais e implementações para implementar diferentes tipos de pontos finais: pontos finais online e pontos finais de lote.
Múltiplas interfaces de desenvolvedores
Criar e gerir pontos finais em lote e online com múltiplas ferramentas de desenvolvimento:
- A CLI do Azure
- AZure Resource Manager/REST API
- portal web estúdio do Azure Machine Learning
- portal do Azure (TI/Administração)
- Suporte para gasodutos CI/CD MLOps utilizando as interfaces Azure CLI & REST/ARM
O que são pontos finais online?
Os pontos finais online são pontos finais que são usados para inferencing on-line (em tempo real). Em comparação com os pontos finais do lote, os pontos finais online contêm implementações que estão prontas para receber dados dos clientes e podem enviar respostas em tempo real.
O diagrama seguinte mostra um ponto final online que tem duas implementações, 'azul' e 'verde'. A implantação azul utiliza VMs com um CPU SKU, e executa v1 de um modelo. A implantação verde utiliza VMs com um GPU SKU, e utiliza v2 do modelo. O ponto final está configurado para encaminhar 90% do tráfego de entrada para a implantação azul, enquanto o verde recebe os restantes 10%.
Requisitos de implementações on-line
Para criar um ponto final online, tem de especificar os seguintes elementos:
- Ficheiros de modelos (ou especificar um modelo registado na área de trabalho)
- Script de classificação – código necessário para realizar a classificação/inferência
- Ambiente – uma imagem do Docker com dependências do Conda ou um dockerfile
- Definições de escala de instância & de cálculo
Saiba como implementar pontos finais online a partir do CLI e do portal web do estúdio.
Teste e implemente localmente para uma depuragem mais rápida
Implemente localmente para testar os seus pontos finais sem implantar na nuvem. Azure Machine Learning cria uma imagem local do Docker que imita a imagem Azure ML. O Azure Machine Learning irá construir e executar implementações para si localmente, e cache a imagem para iterações rápidas.
Implantação nativa azul/verde
Lembre-se, que um único ponto final pode ter múltiplas implementações. O ponto final on-line pode fazer o equilíbrio de carga para dar qualquer percentagem de tráfego a cada implantação.
A atribuição de tráfego pode ser utilizada para fazer implantações seguras de lançamento azul/verde, equilibrando pedidos entre diferentes instâncias.
Dica
Um pedido pode contornar o equilíbrio configurado da carga de tráfego, incluindo um cabeçalho HTTP de azureml-model-deployment
. Desa estada o valor do cabeçalho para o nome da implantação que pretende que o pedido de encaminhamento para.
O tráfego para uma implantação também pode ser espelhado (copiado) para outra implantação. O espelhamento é útil quando se pretende testar coisas como latência de resposta ou condições de erro sem afetar clientes vivos. Por exemplo, uma implantação azul/verde onde 100% do tráfego é encaminhado para azul e 10% é espelhado para a implantação verde. Com o espelhamento, os resultados do tráfego para a implantação verde não são devolvidos aos clientes, mas métricas e registos são recolhidos. A funcionalidade de tráfego de espelhos é uma funcionalidade de pré-visualização .
Aprenda a lançar com segurança para pontos finais online.
Integração de Insights de Aplicação
Todos os pontos finais online integram-se com a Application Insights para monitorizar SLAs e diagnosticar problemas.
No entanto , os pontos finais online geridos também incluem integração fora da caixa com Logs Azure e Azure Metrics.
Segurança
- Autenticação: Tokens ML chave e azul
- Identidade gerida: Utilizador designado e sistema atribuído
- SSL por padrão para invocação de ponto final
Dimensionamento automático
A autoescala executa automaticamente a quantidade certa de recursos para lidar com a carga na sua aplicação. Os pontos finais geridos suportam a autoescalagem através da integração com a função de autoescala do monitor Azure . Pode configurar o escalonamento baseado em métricas (por exemplo, utilização >de CPU 70%), escalamento baseado em horários (por exemplo, regras de escala para horas de trabalho de pico), ou uma combinação.
Visual Studio Code debugging (Depuração do Visual Studio Code)
O Código do Estúdio Visual permite-lhe depurar interativamente pontos finais.
Suporte privado de ponto final (pré-visualização)
Opcionalmente, pode garantir a comunicação com um ponto final gerido online utilizando pontos finais privados. Atualmente, esta funcionalidade está em pré-visualização.
Importante
Esta funcionalidade encontra-se atualmente em visualização pública. Esta versão de pré-visualização é fornecida sem um acordo de nível de serviço, e não é recomendado para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.
Pode configurar a segurança para pedidos de pontuação de entrada e comunicações de saída com o espaço de trabalho e outros serviços separadamente. As comunicações de entrada utilizam o ponto final privado do espaço de trabalho Azure Machine Learning. As comunicações de saída utilizam pontos finais privados criados por implantação.
Para mais informações, consulte os pontos finais online Secure.
Endpoints online geridos vs Kubernetes pontos finais on-line
Existem dois tipos de pontos finais online: pontos finais online geridos e pontos finais online kubernetes.
Os pontos finais online geridos ajudam a implementar os seus modelos ML de forma chave na mão. Os pontos finais online geridos funcionam com poderosas máquinas de CPU e GPU em Azure de uma forma escalável e totalmente gerida. Os pontos finais online geridos cuidam de servir, escalar, proteger e monitorizar os seus modelos, libertando-o da sobrecarga de configuração e gestão da infraestrutura subjacente. O principal exemplo neste doc utiliza pontos finais geridos online para implantação.
O ponto final online da Kubernetes permite-lhe implementar modelos e servir pontos finais online no seu cluster Kubernetes totalmente configurado e gerido em qualquer lugar, com CPUs ou GPUs.
A tabela seguinte destaca as principais diferenças entre os pontos finais online geridos e os pontos finais online da Kubernetes.
Pontos finais online geridos | Pontos finais online do Kubernetes | |
---|---|---|
Utilizadores recomendados | Utilizadores que desejam uma implementação do modelo gerido e uma experiência melhorada do MLOps | Utilizadores que preferem o Kubernetes e podem autogerir requisitos de infraestrutura |
Gestão da infraestrutura | Aprovisionamento de computação gerida, dimensionamento, atualizações de imagem do SO do anfitrião e reforço da segurança | Responsabilidade do utilizador |
Tipo de computação | Gerido (AmlCompute) | Cluster do Kubernetes (Kubernetes) |
Monitorização inicial | Monitorização do Azure (inclui métricas-chave como a latência e o débito) |
Suportado |
Registo inicial | Registos do Azure e Log Analytics ao nível do ponto final | Não suportado |
Application Insights | Suportado | Suportado |
Identidade gerida | Suportado | Suportado |
Rede Virtual (VNET) | Suportado (pré-visualização) | Suportado |
Ver custos | Nível do ponto final e de implementação | Nível do cluster |
Tráfego espelhado | Suportado | Não suportado |
Pontos finais online geridos
Os pontos finais online geridos podem ajudar a agilizar o seu processo de implementação. Os pontos finais online geridos proporcionam os seguintes benefícios sobre os pontos finais online da Kubernetes:
Infraestrutura gerida
- Fornece automaticamente o cálculo e hospeda o modelo (basta especificar as definições de tipo VM e escala)
- Atualiza e corrige automaticamente a imagem de HOSPEDEIRO subjacente
- Recuperação automática do nó se houver uma falha no sistema
Monitorização e registos
- Monitorar a disponibilidade, desempenho e SLA do modelo utilizando a integração nativa com o Azure Monitor.
- Implementações de depuração usando os registos e integração nativa com a Azure Log Analytics.
Ver custos
- Os pontos finais online geridos permitem monitorizar o custo no ponto final e nível de implantação
Nota
Os pontos finais online geridos são baseados no cálculo Azure Machine Learning. Ao utilizar um ponto final gerido online, paga-se os custos de computação e networking. Não há sobretaxa adicional.
Se utilizar uma rede virtual e proteger o tráfego de saída (saída) a partir do ponto final online gerido, há um custo adicional. Para a saída, três pontos finais privados são criados por implementação para o ponto final online gerido. Estes são usados para comunicar com a conta de armazenamento padrão, Azure Container Registry e espaço de trabalho. Podem ser aplicadas taxas adicionais de ligação em rede. Para obter mais informações sobre os preços, consulte a calculadora de preços da Azure.
Para um tutorial passo a passo, consulte Como implementar pontos finais online.
O que são pontos finais do lote?
Os pontos finais do lote são pontos finais que são usados para fazer inferenculação de lotes em grandes volumes de dados durante um período de tempo. Os pontos finais do lote recebem ponteiros para dados e gerem empregos assíncronos para processar os dados em paralelo em clusters de computação. Os pontos finais em lote armazenam as saídas num arquivo de dados para posterior análise.
Requisitos de implantação de lotes
Para criar uma implementação em lote, tem de especificar os seguintes elementos:
- Ficheiros de modelo (ou especificar um modelo registado na área de trabalho)
- Computação
- Script de classificação – código necessário para realizar a classificação/inferência
- Ambiente – uma imagem do Docker com dependências do Conda
Se estiver a implementar modelos MLFlow, não há necessidade de fornecer um script de pontuação e um ambiente de execução, uma vez que ambos são autogeridos.
Saiba como implementar e utilizar pontos finais de lote com o Azure CLI e o portal web do estúdio
Custo gerido com cálculo auto-caling
Invocar um ponto final de lote desencadeia um trabalho de inferência de lote assíncronos. Os recursos de cálculo são automaticamente a provisionados quando o trabalho começa, e automaticamente desatribuidos à medida que o trabalho termina. Então, só se paga pelo cálculo quando se usa.
Pode sobrepor as definições de recursos computacional (como a contagem de exemplos) e as definições avançadas (como o tamanho do mini lote, o limiar de erro, e assim por diante) para cada trabalho de inferência de lote individual para acelerar a execução e reduzir o custo.
Fontes de dados flexíveis e armazenamento
Pode utilizar as seguintes opções para introduzir dados ao invocar um ponto final do lote:
- Dados em nuvem - Ou um caminho na Azure Machine Learning registou datastore, uma referência a Azure Machine Learning registou um ativo de dados V2 registado, ou um URI público. Para obter mais informações, consulte Ligar os dados com o estúdio do Azure Machine Learning
- Dados armazenados localmente - será automaticamente enviado para a loja de dados registada Azure ML e passado para o ponto final do lote.
Nota
- Se estiver a utilizar o V1 FileDataset existente para o ponto final do lote, recomendamos que os emigre para os ativos de dados V2 e consulte-os diretamente ao invocar pontos finais do lote. Atualmente apenas os ativos de dados do tipo
uri_folder
ouuri_file
são suportados. Os pontos finais de lote criados com GA CLIv2 (2.4.0 e mais recente) ou GA REST API (2022-05-01 e mais recente) não suportam o Conjunto de Dados V1. - Também pode extrair o URI ou o caminho na datastore extraído do V1 FileDataset utilizando
az ml dataset show
o comando com--query
parâmetro e utilizar essa informação para invocar. - Embora os pontos finais do Batch criados com APIs anteriores continuem a suportar o V1 FileDataset, estaremos adicionando mais suporte aos ativos de dados V2 com as versões API mais recentes para ainda mais usabilidade e flexibilidade. Para obter mais informações sobre os ativos de dados V2, consulte Trabalhar com dados utilizando SDK v2 (pré-visualização). Para mais informações sobre a nova experiência V2, consulte O que é v2.
Para obter mais informações sobre as opções de entrada suportadas, consulte a pontuação do Lote com o ponto final do lote.
Especifique o local de saída de armazenamento para qualquer datastore e caminho. Por predefinição, os pontos finais do lote armazenam a sua saída na loja blob padrão do espaço de trabalho, organizada pelo Nome de Trabalho (um GUID gerado pelo sistema).
Segurança
- Autenticação: Tokens do Diretório Ativo Azure
- SSL: ativado por padrão para invocação de ponto final
- Suporte VNET: Os pontos finais do lote suportam a proteção contra a entrada. Um ponto final de lote com proteção de entrada aceitará pedidos de pontuação apenas de anfitriões dentro de uma rede virtual, mas não da internet pública. Um ponto final de lote que é criado num espaço de trabalho ativado por ligações privadas terá proteção de entrada. Para criar um espaço de trabalho com ligação privada, consulte Criar um espaço de trabalho seguro.
Nota
A criação de pontos finais de lote num espaço de trabalho ativado por ligações privadas só é suportada nas seguintes versões.
- CLI - versão 2.15.1 ou superior.
- REST API - versão 2022-05-01 ou superior.
- SDK V2 - versão 0.1.0b3 ou superior.
Passos seguintes
- Como implementar pontos finais online com o Azure CLI
- Como implantar pontos finais de lote com o Azure CLI
- Como usar pontos finais online com o estúdio
- Implementar modelos com REST
- Como monitorizar os pontos finais geridos online
- Como visualizar custos de ponto final geridos online
- Gerir e aumentar as quotas dos recursos com o Azure Machine Learning