Cosa sono le destinazioni di calcolo in Azure Machine Learning?

Una destinazione di calcolo è una risorsa di calcolo o un ambiente designato in cui si esegue lo script di training o l'hosting della distribuzione del servizio. Questo percorso può essere il computer locale o una risorsa di calcolo basata sul cloud. L'uso delle destinazioni di calcolo semplifica la modifica dell'ambiente di calcolo in un secondo momento senza dover modificare il codice.

Azure Machine Learning offre un supporto variabile per le diverse destinazioni di calcolo. In un tipico ciclo di vita dello sviluppo di modelli, è possibile:

  1. Iniziare sviluppando e sperimentando una piccola quantità di dati. In questa fase, usare l'ambiente locale, ad esempio un computer locale o una macchina virtuale (VM) basata sul cloud, come destinazione di calcolo.
  2. Aumentare le dimensioni dei dati o eseguire il training distribuito usando una di queste destinazioni di calcolo di training.
  3. Una volta pronto il modello, distribuirlo in un ambiente di hosting Web con una di queste destinazioni di calcolo di distribuzione.

Le risorse di calcolo usate per le destinazioni di calcolo sono collegate a un'area di lavoro. Le risorse di calcolo diverse dal computer locale vengono condivise dagli utenti dell'area di lavoro.

Destinazioni di calcolo del training

Quando il training viene eseguito su set di dati più grandi, o quando si esegue il training distribuito, è consigliabile usare l'ambiente di calcolo di Azure Machine Learning per creare un cluster a uno o più nodi che viene ridimensionato automaticamente ogni volta che viene inviato un processo. È anche possibile collegare una risorsa di calcolo personalizzata, anche se il supporto per scenari diversi può variare.

Le destinazioni di calcolo possono essere riutilizzate per più processi di training. Ad esempio, dopo aver collegato una macchina virtuale remota all'area di lavoro, è possibile riutilizzarla per più processi. Per le pipeline di Machine Learning, usare il passaggio della pipeline appropriato per ogni destinazione di calcolo.

Per la maggior parte dei processi, è possibile usare qualsiasi risorsa seguente come destinazione di calcolo. Non tutte le risorse possono essere usate per Machine Learning automatizzato, pipeline di Machine Learning o progettazione. Azure Databricks può essere usato come risorsa di training per le esecuzioni locali e le pipeline di apprendimento automatico, ma non come destinazione remota per altri training.

Destinazioni ditraining Machine Learning automatizzato Pipeline di apprendimento automatico Finestra di progettazione di Azure Machine Learning
Computer locale    
Cluster di calcolo di Azure Machine Learning
Elaborazione serverless di Azure Machine Learning
Istanza di calcolo di Azure Machine Learning Sì (tramite SDK)
Azure Machine Learning Kubernetes
Macchina virtuale remota  
Pool di Apache Spark (anteprima) Sì (solo modalità locale SDK)  
Azure Databricks Sì (solo modalità locale SDK)  
Azure Data Lake Analytics    
Azure HDInsight    
Azure Batch    

Suggerimento

L'istanza di ambiente di calcolo ha un disco del sistema operativo da 120 GB. Se si esaurisce lo spazio su disco, usare il terminale per cancellare almeno 1-2 GB prima di arrestare o riavviare l'istanza di ambiente di calcolo.

Destinazioni di calcolo per l'inferenza

Quando si esegue l'inferenza, Azure Machine Learning crea un contenitore Docker che ospita il modello e le risorse associate necessarie per usarlo. Questo contenitore viene quindi usato in una destinazione di calcolo.

La destinazione di calcolo usata per ospitare il modello influisce sul costo e sulla disponibilità dell'endpoint distribuito. Usare questa tabella per scegliere una destinazione di calcolo appropriata.

Destinazione del calcolo Utilizzo Supporto GPU Descrizione
Endpoint di Azure Machine Learning Inferenza in tempo reale

Inferenza batch
Calcoli completamente gestiti per gli endpoint online gestiti in tempo reale e l'assegnazione dei punteggi batch (endpoint batch) nell'elaborazione serverless.
Azure Machine Learning Kubernetes Inferenza in tempo reale

Inferenza batch
Eseguire carichi di lavoro di inferenza in cluster Kubernetes locali, sul cloud e perimetrali.
Destinazione del calcolo Utilizzo Supporto GPU Descrizione
Servizio Web locale Test/debug   Usare per attività limitate di test e risoluzione dei problemi. L'accelerazione hardware dipende dall'uso di librerie nel sistema locale.
Azure Machine Learning Kubernetes Inferenza in tempo reale Eseguire carichi di lavoro di inferenza nel cloud.
Istanze di Azure Container Inferenza in tempo reale

Consigliato solo a scopo di sviluppo/test.
  Usare per carichi di lavoro basati su CPU su scala ridotta che richiedono meno di 48 GB di RAM. Non richiede la gestione di un cluster.

Adatto solo per i modelli di dimensioni inferiori a 1 GB.

Supportato nella finestra di progettazione.

Nota

Per la scelta dello SKU di un cluster, aumentare prima le risorse dei sistemi esistenti e poi il numero di sistemi. Iniziare con un computer dotato del 150% della RAM richiesta dal modello, profilare il risultato e trovare un computer con le prestazioni necessarie. Dopo aver appreso questo, aumentare il numero di computer in base all'esigenza di inferenza simultanea.

Calcolo di Azure Machine Learning (gestito)

Azure Machine Learning crea e gestisce le risorse di calcolo gestite. Questo tipo di calcolo è ottimizzato per i carichi di lavoro di apprendimento automatico. I cluster di calcolo di Azure Machine Learning, l'elaborazione serverless e le istanze di ambiente di calcolo sono gli unici calcoli gestiti.

Non è necessario creare un'elaborazione serverless. È possibile creare istanze di ambiente di calcolo o cluster di elaborazione di Azure Machine Learning da:

Nota

Invece di creare un cluster di elaborazione, usare l'elaborazione serverless per eseguire l'offload della gestione del ciclo di vita di calcolo in Azure Machine Learning.

Al momento della creazione, queste risorse di calcolo fanno automaticamente parte dell'area di lavoro, a differenza di altri tipi di destinazioni di calcolo.

Funzionalità Cluster di elaborazione Istanza di calcolo
Cluster a nodo singolo o multinodo Cluster a nodo singolo
Si ridimensiona automaticamente ogni volta che si invia un processo
Gestione automatica dei cluster e pianificazione dei processi
Include il supporto per le risorse di CPU e GPU

Nota

Per evitare addebiti quando il calcolo è inattivo:

  • Per un cluster di elaborazione, assicurarsi che il numero minimo di nodi sia impostato su 0 o usare l'elaborazione serverless.
  • Per un'istanza di ambiente di calcolo, abilitare l'arresto per inattività. Durante l'arresto dell'istanza di calcolo si arresta la fatturazione per le ore di calcolo; verrà comunque addebitata la fatturazione per il disco, l'indirizzo IP pubblico e il servizio di bilanciamento del carico standard.

Serie e dimensioni di macchine virtuali supportate

Importante

Se l'istanza di calcolo o i cluster di calcolo si basano su una di queste serie, ricreare con un'altra dimensione della macchina virtuale.

Questa serie è stata ritirata il 31 agosto 2023:

Questa serie è stata ritirata il 31 agosto 2024:

Quando si seleziona una dimensione del nodo per una risorsa di calcolo gestita in Azure Machine Learning, è possibile scegliere tra le dimensioni di VM selezionate disponibili in Azure. Azure offre un'ampia gamma di dimensioni per Linux e Windows per carichi di lavoro diversi. Per altre informazioni, vedere Tipi e dimensioni delle macchine virtuali.

Esistono alcune eccezioni e limitazioni nella scelta delle dimensioni delle macchine virtuali:

  • Alcune serie di macchine virtuali non sono supportate in Azure Machine Learning.
  • Alcune serie di macchine virtuali, ad esempio GPU e altri SKU speciali, potrebbero non essere inizialmente visualizzate nell'elenco di macchine virtuali disponibili. Possono comunque essere usate, dopo aver richiesto una modifica della quota. Per altre informazioni sulla richiesta di quote, vedere Richiedere aumenti di quota e limite.

Per altre informazioni sulle serie supportate, vedere la tabella seguente.

Serie di macchine virtuali supportate Categoria Supportata da:
DDSv4 Utilizzo generico Cluster di elaborazione e istanze di ambiente di calcolo
Dv2 Utilizzo generico Cluster di elaborazione e istanze di ambiente di calcolo
Dv3 Utilizzo generico Cluster di elaborazione e istanze di ambiente di calcolo
DSv2 Utilizzo generico Cluster di elaborazione e istanze di ambiente di calcolo
DSv3 Utilizzo generico Cluster di elaborazione e istanze di ambiente di calcolo
EAv4 Ottimizzato per la memoria Cluster di elaborazione e istanze di ambiente di calcolo
Ev3 Ottimizzato per la memoria Cluster di elaborazione e istanze di ambiente di calcolo
ESv3 Ottimizzato per la memoria Cluster di elaborazione e istanze di ambiente di calcolo
FSv2 Con ottimizzazione per il calcolo Cluster di elaborazione e istanze di ambiente di calcolo
FX Con ottimizzazione per il calcolo Cluster di elaborazione
H High Performance Computing (HPC) Cluster di elaborazione e istanze di ambiente di calcolo
HB High Performance Computing (HPC) Cluster di elaborazione e istanze di ambiente di calcolo
HBv2 High Performance Computing (HPC) Cluster di elaborazione e istanze di ambiente di calcolo
HBv3 High Performance Computing (HPC) Cluster di elaborazione e istanze di ambiente di calcolo
HC High Performance Computing (HPC) Cluster di elaborazione e istanze di ambiente di calcolo
LSv2 Con ottimizzazione per l'archiviazione Cluster di elaborazione e istanze di ambiente di calcolo
M Ottimizzato per la memoria Cluster di elaborazione e istanze di ambiente di calcolo
NC GPU Cluster di elaborazione e istanze di ambiente di calcolo
NC Promo GPU Cluster di elaborazione e istanze di ambiente di calcolo
NCv2 GPU Cluster di elaborazione e istanze di ambiente di calcolo
NCv3 GPU Cluster di elaborazione e istanze di ambiente di calcolo
ND GPU Cluster di elaborazione e istanze di ambiente di calcolo
NDv2 GPU Cluster di elaborazione e istanze di ambiente di calcolo
NV GPU Cluster di elaborazione e istanze di ambiente di calcolo
NVv3 GPU Cluster di elaborazione e istanze di ambiente di calcolo
NCasT4_v3 GPU Cluster di elaborazione e istanze di ambiente di calcolo
NDasrA100_v4 GPU Cluster di elaborazione e istanze di ambiente di calcolo

Anche se Azure Machine Learning supporta queste serie di macchine virtuali, potrebbero non essere disponibili in tutte le aree di Azure. Per verificare se sono disponibili serie di macchine virtuali, vedere Prodotti disponibili in base all'area.

Nota

Azure Machine Learning non supporta tutte le dimensioni delle macchine virtuali supportate da Calcolo di Azure. Per elencare le dimensioni delle macchine virtuali disponibili, usare il metodo seguente:

Nota

Azure Machine Learning non supporta tutte le dimensioni delle macchine virtuali supportate da Calcolo di Azure. Per elencare le dimensioni delle macchine virtuali supportate da tipi di macchine virtuali di calcolo specifici, usare uno dei metodi seguenti:

Se si usano le destinazioni di calcolo abilitate per la GPU, è importante assicurarsi che i driver CUDA corretti siano installati nell'ambiente di training. Usare la tabella seguente per determinare la versione CUDA corretta da usare:

Architettura GPU Serie di VM di Azure Versioni CUDA supportate
Ampere NDA100_v4 11.0+
Turing NCT4_v3 10.0+
Volta NCv3, NDv2 9.0+
Pascal NCv2, ND 9.0+
Maxwell NV, NVv3 9.0+
Kepler NC, NC Promo 9.0+

Oltre a garantire che la versione CUDA e l'hardware siano compatibili, assicurarsi anche che la versione CUDA sia compatibile con la versione del framework di apprendimento automatico in uso:

Isolamento del calcolo

Azure Machine Learning offre dimensioni delle macchine virtuali isolate per uno specifico tipo di hardware e dedicate a un singolo cliente. Le dimensioni delle macchine virtuali isolate sono più adatte per i carichi di lavoro che richiedono un elevato grado di isolamento dai carichi di lavoro di altri clienti per motivi che includono requisiti normativi e di conformità. L'utilizzo di dimensioni con isolate garantisce che la macchina virtuale sia l'unica in esecuzione in una specifica istanza del server.

Le offerte correnti di macchine virtuali isolate includono:

  • Standard_M128ms
  • Standard_F72s_v2
  • Standard_NC24s_v3
  • Standard_NC24rs_v3 (con supporto RDMA)

Per altre informazioni sull'isolamento, vedere Isolamento nel cloud pubblico di Azure.

Calcolo non gestito

Azure Machine Learning non gestisce una destinazione di calcolo non gestita. Questo tipo di destinazione di calcolo viene creato all'esterno di Azure Machine Learning e quindi collegato all'area di lavoro. Le risorse di calcolo non gestite possono richiedere passaggi aggiuntivi per mantenere o migliorare le prestazioni per i carichi di lavoro di apprendimento automatico.

Azure Machine Learning supporta i tipi di risorse di calcolo non gestite seguenti:

  • Macchine virtuali remote
  • Azure HDInsight
  • Azure Databricks
  • Azure Data Lake Analytics.

Per altre informazioni, vedere Gestire le risorse di calcolo.