Comprendre et créer des points de terminaison de lot

Effectué

Vous pouvez déployer le modèle sur un point de terminaison de lot afin d’obtenir un modèle pour générer des prédictions par lots.

Vous allez découvrir comment utiliser des points de terminaison de lot pour le scoring par lots asynchrone.

Prédictions par lot

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. Ce point de terminaison présente l’avantage que vous pouvez déclencher le travail de scoring par lots à partir d’un autre service, comme Azure Synapse Analytics ou Azure Databricks. Un point de terminaison de lot vous permet d’intégrer le scoring par lots à un pipeline d’ingestion et de transformation des données existant.

Chaque fois que le point de terminaison est appelé, un travail de scoring par lots est envoyé à l’espace de travail Azure Machine Learning. Le travail utilise généralement un cluster de calcul pour déterminer le score de 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 de lots

Pour déployer un modèle sur un point de terminaison de lot, vous devez d’abord créer le point de terminaison de lot.

Pour créer un point de terminaison de lot, vous utilisez la classe BatchEndpoint. Les noms de point de terminaison de lot doivent être uniques au sein d’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 lot. 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.

Screenshot of details page of a batch endpoint, showing the default deployment.

Utiliser des clusters de calcul pour les déploiements par lots

La solution de calcul idéale 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)