I cluster di addestramento Vertex AI sono un servizio di Google Cloud progettato per semplificare e accelerare i workload AI/ML più grandi e complessi. È progettato specificamente per affrontare le sfide della formazione su larga scala, come la configurazione complessa dei cluster, l'ottimizzazione dei framework, la gestione dei guasti hardware e l'integrazione di set di strumenti diversi.
Proposta di valore e funzionalità principali
Model Development Service offre diversi vantaggi principali:
Esperienza utente Slurm open source e trasparenza del cluster: i cluster di addestramento Vertex AI forniscono strumenti familiari e flessibili per avviare e gestire i job tramite un'esperienza utente Slurm open source. Slurm è uno standard di settore noto per la pianificazione ottimizzata della GPU, la tolleranza agli errori automatizzata e l'avvio semplificato dei job paralleli.
Configurazione e configurazione automatizzate dei cluster: i cluster di addestramento Vertex AI automatizzano la configurazione e la configurazione dei cluster, con l'obiettivo di passare dalla prenotazione all'addestramento di produzione in poche ore. Gli utenti possono creare cluster utilizzando la console Google Cloud (utilizzando architetture di riferimento o la configurazione passo passo) o tramite chiamate API con file JSON.
Ricette e workflow di data science preconfigurati: i cluster di addestramento Vertex AI includono strumenti appositamente creati e ricette di addestramento ottimizzate per avviare rapidamente l'addestramento per casi d'uso comuni come i modelli Llama e Gemma, che coprono il pre-addestramento, l'SFT (Supervised Fine-Tuning) e il Reinforcement Learning (RL). Queste ricette sono preconfigurate per prestazioni all'avanguardia (SOTA) sull'infrastruttura Google Cloud, dimostrando significativi miglioramenti delle prestazioni.
Resilienza hardware e alta disponibilità: I cluster di addestramento di Vertex AI sono progettati con resilienza hardware per aumentare il tempo di attività del cluster. Risolve automaticamente i problemi hardware, rileva e classifica varie modalità di errore (ad esempio controlli di correttezza, controlli di velocità, errori del codice di correzione degli errori (ECC), controlli di NVIDIA Data Center GPU Manager (DCGM), capacità di spazio su disco), attiva azioni di correzione come il riavvio, la ricreazione dell'immagine o la sostituzione dei nodi difettosi e riprende dai checkpoint. Ciò contribuisce a mitigare l'aumento significativo dei costi e i ritardi causati da interruzioni dei job e guasti hardware nell'addestramento su larga scala.
Architettura e componenti: i cluster di addestramento Vertex AI vengono eseguiti sull'infrastruttura Compute Engine che supporta GPU e CPU. Sfrutta un orchestratore Slurm gestito per il deployment e la gestione dei nodi di calcolo, inclusi i nodi di accesso e worker. Il servizio si integra con altri servizi Google Cloud come networking e archiviazione.
MLOps e osservabilità: si integra con gli strumenti Vertex ML Ops come Vertex AI Model Registry per la registrazione, il monitoraggio e il controllo delle versioni automatici dei flussi di lavoro addestrati e Vertex AI Inference per il deployment con scalabilità automatica e metriche automatizzate. I cluster di addestramento includono anche l'integrazione automatica dell'osservabilità con Vertex AI TensorBoard per visualizzare i processi di addestramento, monitorare le metriche e identificare i problemi in anticipo.
I cluster di addestramento possono essere creati,
recuperati, elencati, aggiornati ed eliminati utilizzando l'API
Vertex AI training clusters. Dopo la creazione del cluster,
gli utenti possono convalidarne la funzionalità accedendo ai nodi, eseguendo comandi
Slurm di base (ad esempio sinfo, sbatch) ed eseguendo carichi di lavoro
correlati alla GPU (ad esempio nvidia-smi). Lo
strumento Cluster Health Scanner (CHS)
è preinstallato per l'esecuzione di diagnostica come i test DCGM e NCCL per verificare
la preparazione del cluster.
I cluster di addestramento Vertex AI forniscono un'API per l'avvio di job LLM predefiniti utilizzando ricette ottimizzate per modelli come Llama e Gemma, supportando il pre-addestramento e il pre-addestramento continuo dai checkpoint. Il monitoraggio dei job è possibile accedendo al nodo di accesso ed esaminando i file di output e i comandi Slurm come squeue.
Terminologia
Questa sezione fornisce le definizioni di termini e concetti chiave essenziali per comprendere e utilizzare in modo efficace i cluster di addestramento Vertex AI. Questi termini riguardano i componenti di base del servizio, le considerazioni architetturali, le tecnologie di archiviazione integrate e i concetti fondamentali di machine learning (ML) e MLOps che sono alla base dell'ambiente di addestramento.
Concetti sui servizi principali
node
- Una singola macchina virtuale (istanza Compute Engine) all'interno di un cluster. Nel contesto dell'addestramento gestito su cluster riservati, un nodo si riferisce a una singola macchina virtuale (VM) che funge da singola unità di calcolo all'interno del cluster. Consideralo una delle macchine worker dedicate che esegue una parte del job di addestramento complessivo. Ogni nodo è dotato di risorse specifiche come CPU, memoria e acceleratori (ad esempio GPU A3 o A4) e tutti funzionano in modo coordinato per gestire attività di addestramento distribuito su larga scala.
login node
- Un nodo di accesso è il punto di accesso principale per un utente per accedere al cluster, inviare job e gestire file. Per saperne di più, consulta Che cos'è il computing ad alte prestazioni?
partizione
- In Slurm, un raggruppamento logico di nodi, spesso utilizzato per separare i nodi con configurazioni hardware diverse.
recipe
- Nel contesto dell'addestramento gestito, una ricetta è un pacchetto completo e riutilizzabile che contiene tutto il necessario per eseguire un workload di addestramento specifico su larga scala.
Cluster Slurm
- Una raccolta di istanze Compute Engine, gestite da Slurm, che include un nodo di accesso e più nodi worker configurati per l'esecuzione di job di addestramento. Per saperne di più, consulta Slurm Workload Manager.
nodo worker
- Un nodo worker si riferisce a una singola macchina o istanza di calcolo all'interno di un cluster responsabile dell'esecuzione di attività o del lavoro. In sistemi come i cluster Kubernetes o Ray, i nodi sono le unità di calcolo fondamentali. Per saperne di più, consulta l'articolo Che cos'è il computing ad alte prestazioni (HPC)?.
Architettura e networking
Rete VPC consumer
- Una rete VPC consumer è un Virtual Private Cloud (VPC) di Google Cloud che accede privatamente a un servizio ospitato in un altro VPC (noto come VPC producer). Per saperne di più, consulta Private Service Connect.
Unità massima di trasmissione (MTU)
- La dimensione massima di un pacchetto di dati che un dispositivo connesso alla rete può trasmettere. Dimensioni MTU più grandi (frame jumbo) possono migliorare le prestazioni di rete per determinati workload. Per saperne di più, consulta Unità massima di trasmissione.
accesso privato ai servizi
- L'accesso privato ai servizi è una connessione privata tra la tua rete Virtual Private Cloud (VPC) e le reti di proprietà di Google o di fornitori di servizi di terze parti. Consente alle istanze di macchine virtuali (VM) nella tua rete VPC di comunicare con questi servizi utilizzando indirizzi IP interni, evitando l'esposizione a internet pubblico. Per saperne di più, consulta Accesso privato ai servizi.
Peering di rete VPC
- Una connessione di rete che consente a due reti VPC di comunicare privatamente. Nel contesto dell'addestramento gestito sui cluster riservati, il peering di rete VPC è un componente fondamentale per l'integrazione dei servizi essenziali. Ad esempio, è il metodo richiesto per connettere il VPC del cluster a un'istanza Filestore, che fornisce la directory condivisa `/home` necessaria per tutti i nodi del cluster.
zona
- Un'area di deployment specifica all'interno di una regione Google Cloud. Nel contesto di Managed Training sui cluster riservati, per ottenere le migliori prestazioni, tutti i componenti del servizio (il cluster, Filestore e le istanze Managed Lustre) devono essere creati nella stessa zona.
Tecnologie di archiviazione integrate
Cloud Storage FUSE
- Un adattatore FUSE open source che consente di montare i bucket Cloud Storage come file system su sistemi Linux o macOS. Per maggiori informazioni, consulta Cloud Storage FUSE.
Filestore
- Un servizio di archiviazione di file completamente gestito e ad alte prestazioni di Google Cloud, spesso utilizzato per applicazioni che richiedono un file system condiviso. Per ulteriori informazioni, consulta la panoramica di Filestore.
Managed Lustre
- Un file system parallelo e distribuito progettato per il computing ad alte prestazioni. Managed Lustre di Google Cloud offre un file system ad alta velocità effettiva per carichi di lavoro impegnativi. Per saperne di più, consulta la panoramica di Lustre gestito.
livello di rendimento
- Un'impostazione di configurazione per un'istanza Managed Lustre che definisce la velocità di throughput (in MBps per TiB) e influisce sulla capacità minima e massima.
Concetti chiave di ML e MLOps
checkpoint
- Dati che acquisiscono lo stato dei parametri di un modello durante l'addestramento o al termine dell'addestramento. Ad esempio, durante l'addestramento, puoi: 1. Interrompere l'addestramento, magari intenzionalmente o a causa di determinati errori. 2. Acquisisci il checkpoint. 3. In un secondo momento, ricarica il checkpoint, possibilmente su un hardware diverso. 4. Riavvia l'addestramento. In Gemini, un checkpoint si riferisce a una versione specifica di un modello Gemini addestrato su un set di dati specifico.
Perfezionamento supervisionato (SFT)
- Una tecnica di machine learning in cui un modello preaddestrato viene ulteriormente addestrato su un set di dati più piccolo ed etichettato per adattarlo a un'attività specifica.
Vertex AI Inference
- Un servizio Vertex AI che ti consente di utilizzare un modello di machine learning (ML) addestrato per fare inferenze da dati nuovi e mai visti. Vertex AI fornisce servizi per il deployment di modelli per l'inferenza. Per saperne di più, consulta Ottenere inferenze da un modello con addestramento personalizzato.
Vertex AI Model Registry
- Vertex AI Model Registry è un repository centrale in cui puoi gestire il ciclo di vita dei tuoi modelli ML. Da Vertex AI Model Registry, hai una panoramica dei tuoi modelli, in modo da poter organizzare, monitorare e addestrare meglio le nuove versioni. Quando hai una versione del modello di cui vuoi eseguire il deployment, puoi assegnarla a un endpoint direttamente dal registro oppure, utilizzando gli alias, eseguire il deployment dei modelli su un endpoint. Per ulteriori informazioni, consulta Introduzione a Vertex AI Model Registry.
Vertex AI TensorBoard
- Vertex AI TensorBoard è un servizio gestito e scalabile su Google Cloud che consente a data scientist e ingegneri ML di visualizzare i propri esperimenti di machine learning, eseguire il debug dell'addestramento del modello e monitorare le metriche di rendimento utilizzando la nota interfaccia open source di TensorBoard. Si integra perfettamente con Vertex AI Training e altri servizi, fornendo spazio di archiviazione permanente per i dati degli esperimenti e consentendo l'analisi collaborativa dello sviluppo dei modelli. Per ulteriori informazioni, consulta Introduzione a Vertex AI TensorBoard.