Compreender e criar endpoints de lote
Para obter um modelo a gerar previsões em lote, pode-se implantar o modelo num endpoint de lotes.
Você aprenderá a usar pontos de extremidade em lote para pontuação em lote assíncrona.
Previsões em lote
Para obter previsões em lote, pode-se implantar um modelo num endpoint. Um ponto de extremidade é um ponto de extremidade HTTPS que pode ser chamado para iniciar um trabalho de pontuação em lote. A vantagem de tal endpoint é que pode-se acionar o trabalho de pontuação em lote a partir de outro serviço, como o Azure Synapse Analytics ou o Azure Databricks. Um endpoint em lote permite integrar a pontuação em lote com um pipeline de ingestão e transformação de dados existente.
Sempre que o endpoint é invocado, um trabalho de avaliação em lote é submetido ao espaço de trabalho do Azure Machine Learning. O trabalho normalmente usa um cluster de computação para avaliar múltiplas entradas. Os resultados podem ser armazenados em um armazenamento de dados, conectado ao espaço de trabalho do Azure Machine Learning.
Criar um ponto de extremidade em lote
Para implantar um modelo em um ponto de extremidade em lote, primeiro você terá que criar o ponto de extremidade em lote.
Para criar um ponto de extremidade em lote, você usará a classe BatchEndpoint. Os nomes dos pontos finais do lote precisam ser exclusivos dentro de uma região do Azure.
Para criar um ponto de extremidade, use o seguinte comando:
# create a batch endpoint
endpoint = BatchEndpoint(
name="endpoint-example",
description="A batch endpoint",
)
ml_client.batch_endpoints.begin_create_or_update(endpoint)
Dica
Explore a documentação de referência para criar um endpoint em lote com o Python SDK v2.
Implantar um modelo num endpoint de processamento em lote
Você pode implantar vários modelos num endpoint de lote. Sempre que se chama o endpoint de lote, que dispara um trabalho de pontuação em lote, o de implantação padrão será usado, a menos que especificado de outra forma.
Usar clusters de computação para implantações em lote
A computação ideal a ser usada para implantações em lote é o cluster de computação do Azure Machine Learning. Se desejar que o trabalho de pontuação em lote processe os novos dados em lotes paralelos, será necessário provisionar um cluster de computação com mais de uma instância máxima.
Para criar um cluster de computação, você pode usar a classe AMLCompute.
from azure.ai.ml.entities import AmlCompute
cpu_cluster = AmlCompute(
name="aml-cluster",
type="amlcompute",
size="STANDARD_DS11_V2",
min_instances=0,
max_instances=4,
idle_time_before_scale_down=120,
tier="Dedicated",
)
cpu_cluster = ml_client.compute.begin_create_or_update(cpu_cluster)