Comprendere e creare endpoint batch
Per ottenere un modello per generare stime batch, è possibile distribuire il modello in un endpoint batch.
Si apprenderà come usare gli endpoint batch per l'assegnazione di punteggi batch asincroni.
Previsioni batch
Per ottenere stime batch, è possibile distribuire un modello in un endpoint. Un endpoint è un endpoint HTTPS che è possibile chiamare per attivare un processo di assegnazione dei punteggi batch. Il vantaggio di un endpoint di questo tipo è che è possibile attivare il processo di assegnazione dei punteggi batch da un altro servizio, ad esempio Azure Synapse Analytics o Azure Databricks. Un endpoint batch consente di integrare l'assegnazione dei punteggi batch con una pipeline di inserimento dati e trasformazione esistente.
Ogni volta che viene richiamato l'endpoint, viene inviato un processo di assegnazione dei punteggi batch all'area di lavoro di Azure Machine Learning. Il processo usa in genere un cluster di calcolo per assegnare un punteggio a più input. I risultati possono essere archiviati in un archivio dati, connessi all'area di lavoro di Azure Machine Learning.
Creare un endpoint batch
Per distribuire un modello in un endpoint batch, è prima necessario creare l'endpoint batch.
Per creare un endpoint batch, si userà la classe BatchEndpoint. I nomi degli endpoint batch devono essere univoci all'interno di un'area di Azure.
Per creare un endpoint, usare il comando seguente:
# create a batch endpoint
endpoint = BatchEndpoint(
name="endpoint-example",
description="A batch endpoint",
)
ml_client.batch_endpoints.begin_create_or_update(endpoint)
Suggerimento
Esplora la documentazione di riferimento per creare un endpoint batch con il Python SDK v2.
Distribuire un modello in un endpoint batch
È possibile distribuire più modelli in un endpoint batch. Ogni volta che si chiama l'endpoint batch, che attiva un lavoro di valutazione batch, verrà utilizzata la distribuzione predefinita , se non diversamente specificato.
Usare i cluster di calcolo per le distribuzioni batch
Il calcolo ideale da usare per le distribuzioni batch è il cluster di calcolo di Azure Machine Learning. Se si vuole che il processo di assegnazione dei punteggi batch elabori i nuovi dati in batch paralleli, è necessario effettuare il provisioning di un cluster di calcolo con più istanze massime.
Per creare un cluster di calcolo, è possibile usare 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)