Comprendre et créer des points de terminaison de traitement par lots
Pour obtenir un modèle pour générer des prédictions par lots, vous pouvez déployer le modèle sur un point de terminaison de traitement par lots.
Vous allez découvrir comment utiliser des points de terminaison de lot pour le scoring par lots asynchrone.
Prédictions par lots
Pour obtenir des prédictions par lots, vous pouvez déployer un modèle sur un point de terminaison. Un point de terminaison est un point de terminaison HTTPS que vous pouvez appeler pour déclencher un travail de scoring par lots. L’avantage d’un tel point de terminaison est que vous pouvez déclencher le travail de scoring par lots à partir d’un autre service, tel qu’Azure Synapse Analytics ou Azure Databricks. Un point de terminaison batch vous permet d’intégrer le scoring par lots à un pipeline d’ingestion et de transformation de données existant.
Chaque fois que le point de terminaison est appelé, une tâche de calcul par lots est soumise à l'espace de travail Azure Machine Learning. Le travail utilise généralement un cluster de calcul pour évaluer plusieurs entrées. Les résultats peuvent être stockés dans un magasin de données connecté à l’espace de travail Azure Machine Learning.
Créer un point de terminaison de traitement par lots
Pour déployer un modèle sur un point de terminaison par lot, vous devez d'abord créer ce point de terminaison.
Pour créer un point de terminaison de lot, vous allez utiliser la classe BatchEndpoint. Les noms de points de terminaison Batch doivent être uniques dans une région Azure.
Pour créer un point de terminaison, utilisez la commande suivante :
# create a batch endpoint
endpoint = BatchEndpoint(
name="endpoint-example",
description="A batch endpoint",
)
ml_client.batch_endpoints.begin_create_or_update(endpoint)
Conseil
Découvrez la documentation de référence pour créer un point de terminaison avec le kit SDK Python v2.
Déployer un modèle sur un point de terminaison de lot
Vous pouvez déployer plusieurs modèles sur un point de terminaison de traitement par lots. Chaque fois que vous appelez le point de terminaison de lot, ce qui déclenche un travail de scoring par lots, le déploiement par défaut est utilisé, sauf indication contraire.
Utiliser des clusters de calcul pour les déploiements par lots
Le calcul idéal à utiliser pour les déploiements par lots est le cluster de calcul Azure Machine Learning. Si vous souhaitez que le travail de scoring par lots traite les nouvelles données dans des lots parallèles, vous devez provisionner un cluster de calcul avec plusieurs instances maximales.
Pour créer un cluster de calcul, vous pouvez utiliser la 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)