Informazioni sulle opzioni di consumo degli acceleratori per i workload AI/ML in GKE

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
  • Tempo di provisioning:immediato (con prenotazione approvata)
  • Durata:a lungo termine (per prenotazione)
  • Qualsiasi GPU (tranne A4X, A4 o A3 Ultra)
  • Qualsiasi TPU
  • Costo:ti viene addebitato il costo per l'intero periodo di prenotazione.
  • Quota:la quota viene aumentata automaticamente prima della consegna della capacità.
  • Workload a lungo termine e su larga scala, come i modelli di base di pre-addestramento o l'inferenza multi-host.
  • Workload di produzione.
Prenotazioni future
  • Tempo di provisioning:immediato (con prenotazione approvata)
  • Durata:a lungo termine (per prenotazione)
  • G2
  • A2
  • A3 High con 8 GPU
  • A3 Mega
  • A3 Edge
  • Costo:ti viene addebitato il costo per l'intero periodo di prenotazione.
  • Quota:la quota viene aumentata automaticamente prima della consegna della capacità.
  • Workload a lungo termine e su larga scala, come i modelli di base di pre-addestramento o l'inferenza multi-host.
  • Workload di produzione.
Prenotazioni future fino a 90 giorni (in modalità calendario)
  • Tempo di provisioning:immediato (con prenotazione approvata)
  • Durata:fino a 90 giorni
  • A4
  • A3 Ultra
  • A3 Mega
  • A3 High con 8 GPU
  • A3 Edge
  • Ironwood (TPU7x)
  • TPU v6e
  • TPU v5p
  • TPU v5e
  • Costo:scontato (fino al 53%). Ti viene addebitato il costo per il periodo di prenotazione.
  • Quota:non viene addebitata alcuna quota.
  • Workload distribuiti di breve durata, come la messa a punto dei modelli, le simulazioni o l'inferenza batch, in cui è necessaria un'ora di inizio precisa.
  • Workload per la valutazione della piattaforma, il benchmarking o i test di ottimizzazione.
Modalità di provisioning con avvio flessibile
  • Tempo di provisioning:on demand (in base alla disponibilità)
  • Durata:fino a 7 giorni per allocazione
  • Tutte le famiglie di GPU tranne A4X
  • Tutte le versioni di TPU
  • Workload batch come l'addestramento di modelli di piccole dimensioni, la messa a punto o l'inferenza scalabile in cui l'ora di inizio è flessibile.
  • Workload per le prove di fattibilità o i test di integrazione.
VM spot
  • Tempo di provisioning:on demand (in base alla disponibilità)
  • Durata:variabile, può essere prerilasciata con un avviso di 30 secondi
  • Tutte le famiglie di GPU tranne A4X
  • Tutte le versioni di TPU
  • Workload a bassa priorità e a tolleranza di errore, come CI/CD, analisi dei dati o computing ad alte prestazioni (HPC).
  • Workload altamente interrompibili.
On demand (GPU o TPU)
  • Tempo di provisioning:immediato (in base alla disponibilità)
  • Durata:nessun limite
  • Tutte le famiglie di GPU tranne A4X, A4 o A3 Ultra
  • Tutte le versioni di TPU
  • Costo:paghi in base al consumo.
  • Quota: viene addebitata la quota on demand per GPU o TPU.
  • Workload di uso generico che richiedono l'esecuzione immediata.

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 reservations campo 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 flexStart campo in ComputeClass e configura le durate di sostituzione dei nodi di fallback utilizzando i nodeRecycling campi.
  • VM spot: indica a GKE di utilizzare le VM spot durante il provisioning dei nodi per questa regola di priorità impostando il spot campo su true.
  • 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 location campi.

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:

  1. Utilizza prima le prenotazioni:GKE tenta di eseguire il provisioning dei nodi utilizzando la prenotazione della capacità specifica e preacquistata.
  2. 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.
  3. Esegui il fallback all'opzione on demand:come fallback finale, GKE esegue il provisioning delle risorse on demand standard.
  4. 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:

  1. Richiedi VM con avvio flessibile:GKE richiede istanze VM dalla coda di avvio flessibile (che vengono eseguite ininterrottamente per un massimo di sette giorni).
  2. Monitora la scadenza del lease:GKE tiene traccia della durata rimanente dei nodi di avvio flessibile attivi.
  3. 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.
  4. 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:

  1. Definisci le zone di destinazione:elenca più zone di backup (ad esempio us-central1-a, us-central1-b e us-central1-c) nelle regole di priorità.
  2. 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.
  3. Analizza la disponibilità zonale:durante gli eventi di scalabilità verticale, GKE esegue la scansione delle zone designate.
  4. 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