Explore endpoints online gerenciados
Para disponibilizar um modelo de aprendizado de máquina para outros aplicativos, você pode implantar o modelo em um ponto de extremidade online gerenciado.
Você aprenderá a usar endpoints online gerenciados para previsões em tempo real.
Previsões em tempo real
Para obter previsões em tempo real, você pode implantar um modelo em um ponto de extremidade. Um ponto de extremidade é um ponto de extremidade HTTPS para o qual você pode enviar dados e que retornará uma resposta (quase) imediatamente.
Todos os dados enviados para o ponto de extremidade servirão como entrada para o script de pontuação hospedado no ponto de extremidade. O script de pontuação carrega o modelo treinado para prever o rótulo para os novos dados de entrada, que também é chamado de inferência. O rótulo é então parte da saída que é retornada.
Ponto de extremidade online gerenciado
No Azure Machine Learning, existem dois tipos de pontos de extremidade online:
- Pontos de extremidade online gerenciados: o Azure Machine Learning gerencia toda a infraestrutura subjacente.
- Pontos de extremidade online do Kubernetes: os usuários gerenciam o cluster do Kubernetes que fornece a infraestrutura necessária.
Como cientista de dados, você pode preferir trabalhar com endpoints online gerenciados para testar se seu modelo funciona como esperado quando implantado. Se um endpoint online do Kubernetes for necessário para controle e escalabilidade, ele provavelmente será gerenciado por outras equipes.
Se você estiver usando um ponto de extremidade online gerenciado, só precisará especificar o tipo de máquina virtual (VM) e as configurações de dimensionamento. Todo o resto, como o provisionamento do poder de computação e a atualização do sistema operacional (SO) do host, é feito para você automaticamente.
Implementar o modelo
Depois de criar um ponto de extremidade no espaço de trabalho do Azure Machine Learning, você pode implantar um modelo nesse ponto de extremidade. Para implantar seu modelo em um ponto de extremidade online gerenciado, você precisa especificar quatro coisas:
- Modele ativos como o arquivo de seleção de modelo ou um modelo registrado no espaço de trabalho do Azure Machine Learning.
- Script de pontuação que carrega o modelo.
- Ambiente que lista todos os pacotes necessários que precisam ser instalados na computação do ponto de extremidade.
- Configuração de computação, incluindo as configurações de tamanho e escala de computação necessárias para garantir que você possa lidar com a quantidade de solicitações que o ponto de extremidade receberá.
Importante
Quando você implanta modelos MLFlow em um ponto de extremidade online, não precisa fornecer um script e um ambiente de pontuação, pois ambos são gerados automaticamente.
Todos esses elementos são definidos na implantação. A implantação é essencialmente um conjunto de recursos necessários para hospedar o modelo que executa a inferência real.
Implantação azul/verde
Um ponto de extremidade pode ter várias implantações. Uma abordagem é a implantação azul/verde.
Vamos pegar o exemplo do modelo de recomendação de restaurante. Após a experimentação, você seleciona o modelo com melhor desempenho. Você usa a implantação azul para esta primeira versão do modelo. À medida que novos dados são coletados, o modelo pode ser retreinado e uma nova versão é registrada no espaço de trabalho do Azure Machine Learning. Para testar o novo modelo, você pode usar a implantação verde para a segunda versão do modelo.
Ambas as versões do modelo são implantadas no mesmo ponto de extremidade, que é integrado ao aplicativo. Dentro do aplicativo, um usuário seleciona um restaurante, enviando uma solicitação para o endpoint para obter novas recomendações em tempo real de outros restaurantes que o usuário possa gostar.
Quando uma solicitação é enviada para o ponto de extremidade, 90% do tráfego pode ir para a implantação azul* e 10% do tráfego pode ir para a implantação verde. Com duas versões do modelo implantadas no mesmo ponto de extremidade, você pode testar facilmente o modelo.
Após o teste, você também pode fazer a transição perfeita para a nova versão do modelo redirecionando 90% do tráfego para a implantação verde. Se a nova versão não tiver um desempenho melhor, você pode facilmente reverter para a primeira versão do modelo redirecionando a maior parte do tráfego de volta para a implantação azul.
A implantação azul/verde permite que vários modelos sejam implantados em um ponto de extremidade. Você pode decidir quanto tráfego encaminhar para cada modelo implantado. Dessa forma, é possível mudar para uma nova versão do modelo sem interromper o atendimento ao consumidor.
Gorjeta
Saiba mais sobre a implementação segura para endpoints online
Criar um ponto final
Para criar um ponto de extremidade online, você usará a ManagedOnlineEndpoint
classe, que requer os seguintes parâmetros:
name
: Nome do ponto de extremidade. Deve ser exclusivo na região do Azure.auth_mode
: Usekey
para autenticação baseada em chave. Useaml_token
para autenticação baseada em token do Azure Machine Learning.
Para criar um ponto de extremidade, use o seguinte comando:
from azure.ai.ml.entities import ManagedOnlineEndpoint
# create an online endpoint
endpoint = ManagedOnlineEndpoint(
name="endpoint-example",
description="Online endpoint",
auth_mode="key",
)
ml_client.begin_create_or_update(endpoint).result()
Gorjeta
Explore a documentação de referência para criar um endpoint online gerenciado com o Python SDK v2.