I cluster di addestramento Vertex AI supportano una varietà di tipi di macchine per adattarsi a diversi carichi di lavoro. Puoi scegliere tra le seguenti opzioni quando configuri i node pool del cluster:
- a4-highgpu-8g
- a4x-highgpu-4g
- a3-ultragpu-8g
- a3-megagpu-8g
- Famiglia di CPU n2
Tipo di macchina A4X
I cluster di addestramento Vertex AI supportano il tipo di macchina A4X ottimizzato per l'acceleratore (a4x-highgpu-4g), una piattaforma exascale basata sull'architettura NVIDIA GB200 NVL72 a livello di rack.
Confronto architettonico
La seguente tabella illustra le differenze hardware fondamentali tra la famiglia A4X e le altre famiglie ottimizzate per l'acceleratore.
| Funzionalità | A4X (a4x-highgpu-4g) | A3 / A4H |
|---|---|---|
| Architettura della CPU | ARM | X86 |
| Conteggio GPU | 4 GPU per nodo | 8 GPU per nodo |
| Tipo di prenotazione | Modalità Tutta la capacità | Modalità gestita |
| Criterio di posizionamento | Rigoroso (compatto) | Flessibile |
Linee guida specifiche per A4X
- Il conteggio delle VM del pool di nodi A4X deve essere un multiplo di 18 (ad esempio 18, 36, 54). Questo è necessario perché la capacità A4X viene provisioning in blocchi fissi e non condivisibili di 18 nodi chiamati domini NVLink. Questi domini sono vincolati da una rigida norma di posizionamento compatto e tutti i blocchi allocati parzialmente non possono essere utilizzati da altri cluster.
- A causa dell'architettura basata su ARM dei nodi A4X, devi apportare due modifiche chiave
ai carichi di lavoro di addestramento:
- Utilizza immagini compatibili con ARM: tutti i job di addestramento devono utilizzare un'immagine container creata per l'architettura ARM.
- Adattamento per 4 GPU: la logica di addestramento distribuito deve essere aggiornata per riconoscere e utilizzare correttamente le 4 GPU disponibili su ogni nodo A4X.
- Procedura di segnalazione di guasto dell'host e tempi di inattività
Quando segnali un host come difettoso, tieni presente la seguente procedura di ripristino:
- Nessuna capacità di standby: il sistema non utilizza un pool di riserva di standby per la sostituzione istantanea dei nodi.
- Recupero basato sulla riparazione: il nodo rimane non disponibile finché l'host fisico sottostante non viene riparato.
- Tempo di inattività prolungato: questa procedura di riparazione richiede in genere da 3 a 14 giorni.
Provisioning della capacità
Scegliere il modello di provisioning giusto è fondamentale per bilanciare costi, velocità e disponibilità delle risorse. Vedi le seguenti opzioni di provisioning:
RESERVATION: alloca i nodi da una prenotazione Compute Engine specifica che hai creato in anticipo. Questo modello garantisce la capacità ed è la scelta consigliata per le risorse ad alta domanda.FLEX_START: utilizza Dynamic Workload Scheduler per mettere in coda il job. Il job inizia automaticamente non appena le risorse di calcolo richieste diventano disponibili, offrendo un orario di inizio flessibile senza richiedere una prenotazione.SPOT: esegue il provisioning del pool di nodi utilizzando le VM spot. Questa è l'opzione più economica, ma deve essere utilizzata solo per i carichi di lavoro a tolleranza di errore e in grado di gestire le interruzioni, poiché le VM potrebbero essere prerilasciate in qualsiasi momento.ON_DEMAND: questa è l'opzione predefinita per i node pool solo CPU ed è più adatta ai tipi di macchina non scarsi. Fornisce istanze VM standard con prezzi prevedibili e pay-as-you-go.
Segui queste indicazioni per effettuare la selezione:
Per le risorse GPU ad alta richiesta (come A3 e A4): il modello
RESERVATIONè fortemente consigliato. Ti garantisce l'accesso dedicato alla capacità necessaria per i job di addestramento critici.Per i workload bursty o flessibili: valuta la possibilità di utilizzare
FLEX_STARToSPOT.FLEX_STARTmette in coda il job finché le risorse non sono disponibili, mentreSPOToffre un risparmio significativo sui costi per i job a tolleranza di errore in grado di gestire il prerilascio.Per i tipi di macchina abbondanti: il modello
ON_DEMANDè la scelta preferita. Utilizzalo per i tipi di macchine non scarsi e per i quali la disponibilità immediata non è un problema.
Utilizzo di una prenotazione condivisa (facoltativo)
Se vuoi utilizzare una prenotazione condivisa anziché una prenotazione locale, devi eseguire altri passaggi prima di poter creare un cluster.
Prima di utilizzare una prenotazione condivisa con i cluster di addestramento Vertex AI, assicurati che la prenotazione condivisa funzioni creando manualmente una VM che la utilizzi.
Se la creazione della VM funziona, vai al passaggio successivo.
Nella configurazione di creazione del cluster, utilizza il nome della prenotazione nel seguente
formato:
projects/RESERVATION_HOST_PROJECT_ID/zones/RESERVATION_ZONE/reservations/RESERVATION_NAME.
Passaggi successivi
Dopo aver selezionato le opzioni di calcolo e provisioning per il cluster di addestramento, puoi creare il cluster ed eseguire un workload.
- Crea una prenotazione Compute Engine: il modello
RESERVATIONviene utilizzato per allocare risorse ad alta richiesta come le GPU. Scopri come creare una nuova prenotazione in Compute Engine per ottenere l'accesso dedicato alle risorse richieste. - Crea il cluster di addestramento: applica le configurazioni che hai appreso
seguendo la guida passo passo per creare il tuo primo cluster di addestramento
permanente utilizzando l'API Vertex AI o
gcloud. - Invia un job di addestramento al cluster: una volta che il cluster è attivo, il passaggio successivo consiste nell'eseguire un carico di lavoro. Invia un
CustomJobche ha come target il tuo cluster persistente per l'esecuzione. - Adatta il codice per l'addestramento distribuito: per sfruttare al meglio un cluster multinodo, adatta il codice di addestramento a un ambiente distribuito.