Questo documento riassume come creare un cluster per i tuoi workload di AI su AI Hypercomputer. Nello specifico, questo documento ti guida nella procedura e nelle scelte da fare quando avvii un cluster.
Prima di iniziare
Devi avere un carico di lavoro preesistente che vuoi supportare.
Devi avere familiarità con la terminologia di uso comune per i carichi di lavoro di AI e ML, come l'addestramento e l'inferenza dei modelli.
Avvia un cluster
L'avvio di un cluster prevede i seguenti passaggi:
- Determina il carico di lavoro e scegli un tipo di macchina
- Scegliere un'opzione di consumo e ottenere la capacità
- Scegliere un'opzione di deployment
- Scegliere un agente di orchestrazione
- Scegliere il sistema operativo e l'immagine del cluster
- Crea il tuo cluster
Determina il tuo workload e scegli un tipo di macchina
Seleziona un tipo di macchina per il tuo workload AI. AI Hypercomputer supporta la creazione di cluster utilizzando le serie di macchine A4X Max, A4X, A4 e A3. Considera i seguenti suggerimenti per l'utilizzo della macchina:
Per l'addestramento e l'inferenza dei foundation model: A4X Max o A4X
Per l'addestramento, l'ottimizzazione e l'inferenza di modelli di grandi dimensioni: A4 o A3 Ultra
Per l'inferenza e l'ottimizzazione dei modelli mainstream: A3 Mega o A3 High (8 GPU)
Per l'inferenza di pubblicazione: A3 Edge
Per informazioni dettagliate su ogni serie di macchine, vedi Tipi di macchine GPU. Per informazioni dettagliate sui suggerimenti relativi ai workload per ogni macchina, consulta Configurazioni consigliate.
Scegli un'opzione di consumo e ottieni la capacità
Seleziona un'opzione di consumo per le risorse GPU in base alla disponibilità del workload e al tipo di macchina scelto. Ad esempio, per utilizzare i tipi di macchine A4X Max o A4X, devi prenotare la capacità per una data e un'ora specifiche utilizzando il modello di consumo delle prenotazioni future. Le seguenti opzioni riepilogano i modelli di consumo:
Prenotazioni future: disponibili per i tipi di macchine A4X Max, A4X, A4 e A3 Ultra, con allocazione densa delle risorse e sconti fino al 53% per vCPU e GPU. Le prenotazioni future sono ideali per i workload che richiedono stabilità per un periodo di tempo prolungato, ad esempio i modelli di base pre-addestrati o l'inferenza di modelli di base multihost. Per utilizzare questa opzione di consumo, devi richiedere la capacità tramite il team dedicato all'account per una data e un'ora di inizio future.
Prenotazioni future in modalità calendario: disponibili per i tipi di macchine A4, A3 Ultra, A3 Mega e A3 High (solo VM con 8 GPU), con allocazione densa delle risorse e sconti fino al 53% per vCPU e GPU. Le prenotazioni future in modalità calendario ti aiutano a prenotare risorse per carichi di lavoro che vengono eseguiti per un massimo di 90 giorni e richiedono stabilità, ad esempio modelli di pre-training o perfezionamento. Tuttavia, per utilizzare questa opzione di consumo, devi creare una richiesta di prenotazione per riservare le risorse in una data e un'ora future e Google Cloud deve approvare la tua richiesta.
Avvio flessibile: disponibile per tutti i tipi di macchine GPU, ad eccezione di A4X Max e A4X. L'avvio flessibile consente di creare cluster densi di breve durata che durano fino a sette giorni e offrono sconti fino al 53% per vCPU e GPU per i tipi di macchine A2 e versioni successive. Puoi creare cluster Flex-start direttamente tramite Compute Engine, Cluster Director, Cluster Toolkit o GKE. Tuttavia, i cluster non sono disponibili immediatamente; Google li crea non appena le risorse sono disponibili.
Spot: disponibile per tutti i tipi di macchine GPU, ad eccezione di A4X Max e A4X. Le VM spot ti consentono di creare risorse di calcolo immediatamente in base alla disponibilità; tuttavia, Compute Engine può prerilasciare le istanze di macchine virtuali (VM) in qualsiasi momento. Le VM spot hanno il prezzo più basso possibile su Compute Engine (tra il 61% e il 90%).
Per ulteriori informazioni sulle opzioni di consumo, consulta Confronto tra le opzioni di consumo.
Scegliere un'opzione di deployment
A seconda del livello di controllo necessario per il deployment del cluster, scegli tra un deployment altamente gestito o meno gestito che ti offre un maggiore controllo sull'infrastruttura.
Altamente gestito
Se vuoi che Google esegua il deployment e la configurazione della tua infrastruttura, utilizza Cluster Director, Cluster Toolkit o GKE.
Cluster Director: un prodottoGoogle Cloud che automatizza la configurazione complessa dei cluster, aiutandoti a configurare le risorse di calcolo, networking e archiviazione per i tuoi cluster in modo da massimizzare le prestazioni e ridurre al minimo i tempi di inattività. Cluster Director è progettato per amministratori IT e ricercatori di AI che vogliono evitare l'overhead della gestione di un cluster e concentrarsi invece sull'esecuzione dei carichi di lavoro.
Cluster Toolkit: uno strumento open source offerto da Google che semplifica la configurazione e il deployment dei cluster per GKE o Compute Engine. Utilizzi progetti predefiniti per eseguire il deployment di configurazioni comuni, ad esempio tipi di macchina A4 con Slurm. Puoi modificare i progetti per personalizzare i deployment e il tuo stack software.
GKE: un servizio Kubernetes gestito e una piattaforma di orchestrazione dei container open source. GKE offre funzionalità come la scalabilità automatica e l'alta affidabilità. È anche in grado di orchestrare applicazioni containerizzate, supporta hardware specializzato ed è compatibile con l'ecosistema Google Cloud, il che lo rende ideale per il deployment e la gestione dei carichi di lavoro di AI o ML. Puoi eseguire il deployment dei cluster GKE utilizzando GKE direttamente o utilizzando Cluster Toolkit. Puoi scegliere tra la modalità GKE Standard o Autopilot.
Meno gestito, più controllo
Per un controllo più granulare dei cluster e del software installato, crea un cluster Compute Engine utilizzando i gruppi di istanze gestite (MIG) di Compute Engine o creando istanze collettivamente. Quindi, installa manualmente il software chiave necessario sulle istanze.
Scegliere un agente di orchestrazione
Un orchestratore automatizza la gestione dei cluster. Con un orchestratore, non devi gestire ogni istanza di computing nel cluster. Un orchestratore, come Slurm o GKE, gestisce attività come la creazione di code di job, l'allocazione delle risorse, la scalabilità automatica (nel caso di GKE) e altre attività di gestione quotidiana del cluster.
Slurm: Slurm è un orchestratore open source comunemente utilizzato per i carichi di lavoro HPC, AI o ML. Per utilizzare Slurm, puoi utilizzare Cluster Toolkit (che offre progetti di cluster che installano automaticamente Slurm sui tuoi cluster) oppure puoi installare manualmente Slurm su un cluster Compute Engine.
GKE: GKE è un servizio gestito basato su Kubernetes, una piattaforma di orchestrazione dei container open source. GKE è ideale per il deployment e la gestione di carichi di lavoro AI o ML, grazie alla sua capacità di orchestrare applicazioni containerizzate, al supporto di hardware specializzato e al suo posto nell'ecosistema Google Cloud. Puoi eseguire il deployment dei cluster GKE utilizzando GKE direttamente o utilizzando Cluster Toolkit.
Porta il tuo orchestratore: se vuoi utilizzare altri orchestratori, devi utilizzarli sui tuoi cluster Compute Engine. Tuttavia, la creazione di un cluster Compute Engine è l'opzione meno gestita offerta su Google Cloud. Questa scelta significa che sei responsabile della configurazione, della manutenzione e dell'aggiornamento delle tue istanze.
Scegli l'immagine del sistema operativo
A seconda che utilizzi GKE o Compute Engine, seleziona un'immagine che contenga il sistema operativo selezionato, ad esempio Container-Optimized OS per i cluster GKE o un'immagine del sistema operativo dell'acceleratore per i cluster Compute Engine. Inoltre, puoi selezionare anche un'immagine del livello software di deep learning (DSLS) per i tuoi container.
Per informazioni dettagliate, consulta le immagini di AI Hypercomputer.
Immagini per i cluster GKE
Per creare cluster GKE, ti consigliamo di utilizzare le immagini del sistema operativo container predefinite per le modalità Standard e Autopilot. Tuttavia, in modalità Standard, puoi anche scegliere di utilizzare altre immagini disponibili, come Ubuntu.
Se utilizzi Cluster Toolkit per eseguire il deployment del cluster, puoi utilizzare solo immagini del sistema operativo container, in quanto sono le immagini integrate nei progetti del cluster. Per saperne di più su ciascuna immagine del nodo, consulta Immagini del nodo nella documentazione di GKE.
GKE offre anche immagini container Deep Learning Software Layer (DLSL) che installano pacchetti come NVIDIA CUDA e NCCL, nonché framework ML come PyTorch, fornendo un ambiente pronto all'uso per i workload di deep learning. Queste immagini container DLSL predefinite sono testate e verificate per funzionare senza problemi sui cluster GKE.
Immagini del sistema operativo per i cluster Compute Engine
AI Hypercomputer offre immagini ottimizzate per l'esecuzione di workload di AI e ML utilizzando Compute Engine. Scegli il sistema operativo che conosci meglio:
- Rocky Linux 9 accelerator
- Acceleratore Rocky Linux 8
- Acceleratore Ubuntu 24.04 LTS
- Acceleratore Ubuntu 22.04 LTS
Se utilizzi Cluster Toolkit, queste immagini dell'acceleratore sono già incluse nei progetti di Cluster Toolkit, perché Cluster Toolkit crea immagini personalizzate che estendono le immagini del sistema operativo dell'acceleratore Ubuntu LTS.
Per ulteriori informazioni su ciascuna immagine del sistema operativo, consulta la sezione Dettagli del sistema operativo nella documentazione di Compute Engine.
Crea il cluster
Dopo aver esaminato il processo di creazione del cluster e preso decisioni preliminari per il tuo carico di lavoro, crea il cluster utilizzando una delle seguenti opzioni:
- Crea un cluster GKE:
- Crea un cluster Slurm utilizzando Cluster Toolkit
- Crea un cluster con Compute Engine: