Comprendere e creare endpoint batch

Completato

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.

screenshot della pagina dei dettagli di un endpoint batch, che mostra la distribuzione predefinita.

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)