Perché usare l'esecuzione AI invece del calcolo classico

AI Runtime è computazione GPU serverless per addestramento, fine tuning ed esecuzione di inferenze batch su modelli personalizzati di deep learning. Se esegui questi carichi di lavoro su calcolo classico con Databricks Runtime ML, Databricks consiglia di spostarli su AI Runtime per un costo totale di proprietà più basso, un'esperienza di sviluppo più flessibile e una scala multinode. Le sezioni seguenti confrontano i due per ingegneri ML e team di piattaforma, e descrivono come Genie Code può aiutarti a migrare.

Confronta AI Runtime con il calcolo tradizionale

La tabella seguente confronta AI Runtime con Databricks Runtime ML nel compute classico:

Capability Runtime di intelligenza artificiale Calcolo classico con Databricks Runtime ML
Costo totale di proprietà Riduzione del TCO grazie a un'infrastruttura GPU serverless gestita, prestazioni ad alto throughput, caricamento dei dati ottimizzato e accesso a Spark tramite Spark Connect. Paghi solo per le risorse di calcolo utilizzate dai tuoi carichi di lavoro. Azure Databricks gestisce cluster, driver e salute della GPU per te. Maggiore costo di controllo (TCO) dovuto a sovraccarico di gestione del cluster, avvio lento e caricamento e checkpoint dati non ottimizzati. Gestisci la configurazione del cluster e lo stato di salute delle GPU, il che aumenta il costo per acquisire e mantenere i cluster GPU.
Esperienza sviluppatore Sviluppare e distribuire a partire dalla CLI di Databricks, IDE e notebook. Supporto Native Ray. Scegli un ambiente Standard minimale per il pieno controllo delle dipendenze, l'ambiente AI Databricks con pacchetti AI e ML comuni, oppure un'immagine Docker personalizzata. Sviluppa in notebook o collegati da un IDE tramite il tunnel SSH. Nessuna CLI dedicata per i carichi di lavoro di training su GPU. Ray funziona con Spark. Un ampio insieme di librerie preinstallate legate alla versione runtime, inclusi pacchetti non correlati a IA e ML.
Scalabilità e prestazioni Addestramento multinodo e inferenza batch. Caricamento dei dati e salvataggio dei punti di controllo ottimizzati. Alta affidabilità della GPU per lunghe esecuzioni di addestramento. Non è ottimizzato per l'addestramento multi-nodo perché configuri autonomamente i nodi e la configurazione di rete. Ottimizzi il caricamento dei dati e i checkpoint e verifichi manualmente lo stato della GPU.

Costo totale di possesso

AI Runtime riduce il costo totale di proprietà con GPU serverless gestite e ad alte prestazioni:

  • Avvio più veloce: L'infrastruttura GPU serverless è disponibile su richiesta, quindi non devi aspettare che un cluster GPU si avvii. I cluster classici di GPU possono impiegare diversi minuti o più ad avviarsi, a seconda della dimensione del cluster e della disponibilità della GPU.
  • Prezzi pay-as-you-go: Paghi solo per la potenza di calcolo GPU serverless che i tuoi carichi di lavoro utilizzano, senza gestire o pagare cluster inattivi.
  • Maggiore utilizzo della GPU: Opzioni di calcolo flessibili, caricamento rapido dei dati, checkpoint efficiente e addestramento multinodo riducono il tempo inattivo della GPU.
  • Riduzione del carico amministrativo: AI Runtime gestisce il deployment del calcolo, il networking del cluster, la gestione dello stato della GPU e gli aggiornamenti dei driver CUDA. Con il compute classico, il tuo team si occupa dell'amministrazione dei nodi, della configurazione del cluster e della manutenzione continua dell'infrastruttura.

Esperienza sviluppatore

AI Runtime offre un'esperienza di sviluppo flessibile per carichi di lavoro di IA e deep learning:

Scalabilità e prestazioni

AI Runtime ti aiuta a scalare i carichi di lavoro di deep learning in modo efficiente:

  • Caricamento dei dati e salvataggio dei checkpoint ottimizzati: Il caricamento dei dati ad alta velocità e il salvataggio distribuito asincrono dei checkpoint accelerano le pipeline di addestramento e riducono al minimo i tempi di inattività delle GPU. Il calcolo tradizionale manca di caricatori di dati nativi ad alto throughput e di meccanismi di checkpointing distribuito. Scopri come migliorare le prestazioni e la resilienza dell'addestramento su AI Runtime.
  • Resilienza integrata della GPU: Controlli di salute automatizzati continui aiutano a rilevare e isolare i nodi GPU in guasto, riducendo così le interruzioni dovute a lunghe sessioni di addestramento. Con l'infrastruttura di calcolo tradizionale, devi occuparti personalmente dello stato di integrità dei nodi GPU e, per isolare un nodo difettoso, è necessario interrompere i carichi di lavoro attivi. Consulta come manteniamo affidabili le GPU in Databricks AI nel blog del team di ingegneria di Databricks.
  • Addestramento multinodo: Scala da una singola GPU a un addestramento distribuito multinode con rete ad alta velocità e configurazione automatica dell'ambiente. Per gli acceleratori che supportano l'addestramento multinodo, vedi opzioni hardware.
  • Inferenza batch personalizzata: Eseguire inferenza batch personalizzata su larga scala tra GPU distribuite senza gestire cluster GPU.

Migra dal compute classico con Genie Code

Genie Code può aiutare ad automatizzare il rifactoring del codice e la configurazione dell'ambiente nei notebook collegati all'AI Runtime quando si sposta un carico di lavoro da classic compute. Per l'elenco completo dei passaggi di migrazione, consulta Eseguire la migrazione dei carichi di lavoro GPU classici verso serverless.

Cosa automatizza Genie Code

Genie Code può aiutare con i seguenti compiti di migrazione:

  • Refattorizzazione: Converte i notebook di Databricks Runtime ML, come quelli che usano TorchDistributor, in notebook Runtime AI che utilizzano il decoratore @distributed da databricks.air.
  • Risoluzione delle dipendenze: Valuta le importazioni di notebook, identifica pacchetti mancanti o incompatibili e configura un ambiente serverless GPU.
  • Diagnosi di errori multi-rank: Analizza i log di output su tutti i nodi per isolare le cause radici come errori di memoria esaurita (OOM) della GPU o blocchi di comunicazione.

Esempio di prompt di migrazione del codice Genie

Di seguito sono riportati esempi di prompt che puoi fornire a Genie Code:

  • Conversione del codice: "Migra questo notebook da TorchDistributor al decoratore databricks.air @distributed."
  • Configurazione dell'ambiente: "Ispezionare i pacchetti importati, raccomandare l'AI Databricks o l'ambiente Standard e generare i comandi di installazione %pip richiesti."
  • Debug: "Analizza i log di addestramento distribuiti su tutti i ranghi per determinare perché il lavoro è fallito."

Risorse aggiuntive