Questa pagina descrive le tecniche disponibili che puoi utilizzare per ottenere acceleratori di computing, come GPU o TPU, in base ai requisiti dei tuoi workload AI/ML. Queste tecniche sono chiamate opzioni di consumo degli acceleratori in GKE. Comprendere le diverse opzioni di consumo ti aiuta a ottimizzare l'utilizzo delle risorse per evitare di sottoutilizzarle, aumentare la probabilità di ottenere risorse e bilanciare costi e prestazioni.
Questa pagina è destinata agli amministratori e agli operatori della piattaforma che si coordinano con gli ingegneri di machine learning (ML) per ottenere le risorse necessarie per eseguire il deployment dei workload AI/ML.
Per scoprire di più sui ruoli comuni e sulle attività di esempio a cui facciamo riferimento nei Google Cloud contenuti, consulta Ruoli e attività comuni degli utenti GKE.
Comprendere le opzioni di consumo
Puoi scegliere tra le seguenti opzioni per utilizzare gli acceleratori su GKE:
- On demand:utilizzi TPU o GPU su GKE senza organizzare la capacità in anticipo. Prima di richiedere le risorse, devi disporre di una quota on demand sufficiente per il tipo e la quantità specifici di acceleratori. L'opzione on demand è la più flessibile, ma non è garantito che siano disponibili risorse on demand sufficienti per soddisfare la tua richiesta.
- Prenotazioni:prenoti le risorse per un periodo di tempo prestabilito. Una prenotazione può essere una delle seguenti:
- Prenotazioni future:prenoti le risorse per periodi di tempo in genere più lunghi per un momento specifico in futuro. Hai accesso esclusivo alle risorse prenotate per quel periodo di tempo. Le prenotazioni future richiedono il coinvolgimento di un Technical Account Manager (TAM). Per ulteriori informazioni, consulta le linee guida per TPU e GPU.
- Prenotazioni future fino a 90 giorni (in modalità calendario) : richiedi la capacità per un periodo di tempo specificato, con un consulente del calendario che suggerisce le date disponibili. Le prenotazioni future fino a 90 giorni (in modalità calendario) offrono maggiore flessibilità per durate più brevi e ricerca di capacità self-service. Per ulteriori informazioni, consulta Richieste di prenotazioni future in modalità calendario.
- Prenotazioni on demand:puoi richiedere il provisioning di una prenotazione on demand non appena la capacità è disponibile, in modo simile all'opzione on demand. Mentre la prenotazione è attiva, paghi le risorse indipendentemente dal fatto che le utilizzi o meno.
- Avvio flessibile:proteggi le risorse allocate in modo denso per i workload di breve durata senza una prenotazione. Richiedi un numero specifico di GPU o TPU e Compute Engine ne esegue il provisioning quando la capacità diventa disponibile. Le GPU o le TPU vengono eseguite ininterrottamente per un massimo di sette giorni. Per ulteriori informazioni, consulta Provisioning con avvio flessibile.
- Spot:esegui il provisioning delle VM spot, che ti consentono di ottenere sconti significativi, ma le VM spot possono essere prerilasciate in qualsiasi momento, con un avviso di 30 secondi. Per ulteriori informazioni, consulta VM spot.
Per ottimizzare la riuscita del provisioning in caso di vincoli sulle risorse di calcolo, puoi orchestrare queste opzioni utilizzando ComputeClasses.
Comprendere la quota per gli acceleratori in GKE
Le quote e i limiti di sistema limitano l'utilizzo delle Google Cloud risorse per supportare la disponibilità delle risorse per tutti gli Google Cloud utenti. Le quote hanno valori predefiniti, ma in genere puoi richiedere degli adeguamenti. I limiti di sistema sono valori fissi che non possono essere modificati. Per impostazione predefinita, i progetti in genere non includono una quota significativa per gli acceleratori. Devi richiedere e ricevere l'approvazione della quota per tipi e regioni specifici di acceleratori.
Quando gestisci le quote necessarie per i tuoi workload, tieni presente le seguenti caratteristiche:
Devi richiedere la quota necessaria per ogni opzione di consumo. Per identificare la quota richiesta per ogni opzione di consumo, consulta i parametri "Quota" corrispondenti elencati nella tabella Scegli un'opzione di consumo. Se la quota non è sufficiente, i tentativi di creare cluster, node pool o eseguire il deployment di workload che richiedono acceleratori non andranno a buon fine e verrà visualizzato un errore
Quota exceeded.Devi richiedere la quota quando utilizzi ComputeClasses personalizzate in Autopilot. I nodi di cui è stato eseguito il provisioning per soddisfare i requisiti di ComputeClass consumano comunque la quota del progetto per gli acceleratori specificati.
Google Cloud Gli account di prova senza costi hanno limitazioni per la richiesta di aumenti di quota per risorse di alto valore come GPU e TPU. Per avere accesso alla quota per gli acceleratori, esegui l'upgrade a un account a pagamento.
Per controllare e richiedere la quota, vai alla pagina Quote nella Google Cloud console. Puoi filtrare le quote per gli acceleratori e richiedere aumenti.
Identificare un'opzione di consumo
Utilizza le seguenti considerazioni per scegliere l'opzione di consumo migliore per il tuo workload AI/ML:
- Tipo di workload:considera il tipo di workload che vuoi implementare.
I requisiti di GKE variano a seconda che tu stia eseguendo un workload di addestramento o di inferenza:
- Addestramento:richiede risorse ad alte prestazioni con una quantità di memoria significativa. I workload di addestramento in genere hanno una durata ben definita. Questi workload sono in genere più facili da pianificare perché sono meno soggetti a picchi improvvisi nel consumo di risorse.
- Inferenza:in genere richiede acceleratori ottimizzati per la scalabilità e costi inferiori. I workload di inferenza possono richiedere una quantità significativa di memoria dell'acceleratore durante i picchi improvvisi nel consumo di risorse.
- Durata in base alla fase di implementazione:considera il tuo obiettivo commerciale se stai eseguendo una prova di fattibilità (POC), una valutazione della piattaforma, uno sviluppo o un test dell'applicazione, una produzione o un'ottimizzazione.
- Tempo di provisioning:determina se il tuo workload richiede l'esecuzione immediata o se può essere eseguito in futuro. Se è possibile l'esecuzione futura, determina la flessibilità dell'ora di inizio.
- Equilibrio tra costi e prestazioni:valuta i requisiti di prestazioni del workload e i vincoli di budget per selezionare l'acceleratore più conveniente. Considera il compromesso tra il costo degli acceleratori e le loro caratteristiche di prestazioni. Tieni presente che i nuovi acceleratori potrebbero migliorare i rapporti costo-prestazioni.
Scegli un'opzione di consumo
Utilizza la seguente tabella per scegliere un'opzione di consumo:
| Opzione di consumo | Parametri di provisioning | Acceleratori supportati | Dettagli | Workload di esempio |
|---|---|---|---|---|
| Prenotazioni on demand |
|
|
|
|
| Prenotazioni future |
|
|
|
|
| Prenotazioni future fino a 90 giorni (in modalità calendario) |
|
|
|
|
| Modalità di provisioning con avvio flessibile |
|
|
|
|
| VM spot |
|
|
|
|
| On demand (GPU o TPU) |
|
|
|
Ottimizzare i costi e il provisioning dei workload con ComputeClasses
Puoi utilizzare ComputeClasses per gestire dinamicamente e automatizzare la strategia di consumo degli acceleratori definendo un elenco di configurazioni di fallback basate sulla priorità. Durante le operazioni di scalabilità verticale, GKE tenta di eseguire il provisioning dei nodi in base alla gerarchia delle priorità impostata.
L'elenco seguente descrive le opzioni di consumo disponibili con ComputeClasses e come configurarle. Per i manifest YAML completi, consulta Esempi di opzioni di consumo con ComputeClasses.
- Prenotazioni: puoi definire il nome della prenotazione nel
reservationscampo in ComputeClass. In questo modo, GKE tenta prima di utilizzare la capacità prenotata prima di eseguire il fallback. - Modalità di provisioning con avvio flessibile: abilita la coda flessibile utilizzando il
flexStartcampo in ComputeClass e configura le durate di sostituzione dei nodi di fallback utilizzando inodeRecyclingcampi. - VM spot: indica a GKE di utilizzare le VM spot durante il
provisioning dei nodi per questa regola di priorità impostando il
spotcampo sutrue. - Capacità on demand combinata con una policy di località multizona:
dichiara le configurazioni standard delle macchine nell'elenco delle priorità e
configura una strategia di località di fallback utilizzando i
locationcampi.
ComputeClasses non supporta le prenotazioni future o le prenotazioni future fino a 90 giorni (in modalità calendario).
Esempi di opzioni di consumo con ComputeClasses
Le sezioni seguenti forniscono esempi di configurazione per queste strategie.
Prenotazioni con configurazione di fallback
Questa configurazione è ideale per i workload che possono tollerare interruzioni, anziché per i workload che dipendono da dati permanenti o che devono essere eseguiti fino al completamento.
Questa configurazione stabilisce una strategia di fallback resiliente seguendo questi passaggi:
- Utilizza prima le prenotazioni:GKE tenta di eseguire il provisioning dei nodi utilizzando la prenotazione della capacità specifica e preacquistata.
- Esegui il fallback all'avvio flessibile:se la capacità di prenotazione è completamente utilizzata, GKE esegue il fallback alle risorse di avvio flessibile di breve durata e scontate.
- Esegui il fallback all'opzione on demand:come fallback finale, GKE esegue il provisioning delle risorse on demand standard.
Esegui la migrazione di nuovo alle prenotazioni:l'abilitazione della migrazione attiva indica a GKE di consolidare ed eseguire automaticamente la migrazione dei workload ai nodi di prenotazione con priorità più alta non appena la capacità diventa disponibile. Questa migrazione può essere interruttiva.
apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: ha-gpu-fallback spec: activeMigration: optimizeRulePriority: true # Migrate workloads back to reservation when capacity releases priorities: # Priority 1: Consume specific corporate reservation first - gpu: type: nvidia-l4 count: 1 reservations: affinity: Specific specific: - name: reserved-l4-pool project: my-project zones: [us-central1-a] # Priority 2: Fallback to Flex Start (short-duration allocation) - gpu: type: nvidia-l4 count: 1 flexStart: enabled: true # Priority 3: Fallback to On-demand resources - gpu: type: nvidia-l4 count: 1
Modalità di provisioning con avvio flessibile con configurazione di riciclo dei nodi
Questa configurazione gestisce la capacità scontata di breve durata con un uptime continuo seguendo questi passaggi:
- Richiedi VM con avvio flessibile:GKE richiede istanze VM dalla coda di avvio flessibile (che vengono eseguite ininterrottamente per un massimo di sette giorni).
- Monitora la scadenza del lease:GKE tiene traccia della durata rimanente dei nodi di avvio flessibile attivi.
- Attiva il riciclo dei nodi:venti minuti (1200 secondi) prima della scadenza del lease della VM, GKE esegue automaticamente il provisioning di un nodo di sostituzione.
Ripianifica i workload:i workload vengono migrati sul nuovo nodo, riprendendo l'esecuzione senza interruzioni del servizio.
apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: flex-node-recycling spec: priorities: - gpu: type: nvidia-l4 count: 1 flexStart: enabled: true nodeRecycling: leadTimeSeconds: 1200 # Automatically launch replacement node before VM lease expires
Configurazione della policy di allocazione multizona
Questa configurazione ignora le restrizioni di fornitura di una singola zona seguendo questi passaggi:
- Definisci le zone di destinazione:elenca più zone di backup (ad esempio
us-central1-a,us-central1-beus-central1-c) nelle regole di priorità. - Amplia i parametri di destinazione:imposta la policy di località su
ANY. Questa impostazione indica al gestore della scalabilità automatica dei cluster di cercare la capacità richiesta in tutte le zone specificate. - Analizza la disponibilità zonale:durante gli eventi di scalabilità verticale, GKE esegue la scansione delle zone designate.
Esegui il provisioning nelle zone disponibili:GKE esegue immediatamente il provisioning dei nodi del workload richiesto in qualsiasi zona di destinazione con capacità corrispondente. Questa strategia impedisce i blocchi nelle code di allocazione.
apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: broad-zonal-serving spec: priorities: - gpu: type: nvidia-l4 count: 1 location: zones: [us-central1-a, us-central1-b, us-central1-c] locationPolicy: ANY # Provision accelerator in any target zone with supply
Passaggi successivi
- Scopri di più sulle GPU in GKE.
- Scopri di più sulle TPU in GKE.
- Scopri di più sull'inferenza AI/ML su GKE.