View a markdown version of this page

Gestisci l'elaborazione accelerata per i carichi di AI/ML lavoro su Amazon EKS - Amazon EKS

Contribuisci a migliorare questa pagina

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina nel riquadro destro di ogni pagina.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Gestisci l'elaborazione accelerata per i carichi di AI/ML lavoro su Amazon EKS

Suggerimento

Registrati ai prossimi AI/ML workshop Amazon EKS.

Questa sezione spiega come acquistare e fornire istanze di calcolo accelerato EC2 per carichi di lavoro di AI/ML formazione e inferenza con Amazon EKS. Che tu stia addestrando modelli su larga scala, eseguendo inferenze in tempo reale o implementando applicazioni di intelligenza artificiale generativa, l'utilizzo della giusta GPU NVIDIA o della capacità Trainium è fondamentale per le prestazioni dei tuoi carichi di lavoro. AWS

Scegli tra i tipi di istanze EC2

Consulta le specifiche per le istanze di elaborazione accelerata Amazon EC2 per dettagli sulle istanze di calcolo accelerato Amazon EC2 disponibili. Queste includono istanze GPU NVIDIA prodotte da Rand, oltre agli acceleratori progettati da Trainium P-family e G-family Inferentia. AWS

Scopri le opzioni di acquisto di EC2

Una volta che conosci le istanze accelerate di cui hai bisogno per i tuoi carichi di lavoro, il passo successivo è comprendere le opzioni di acquisto disponibili per l'acquisizione di questi tipi di istanze accelerate. AWS offre quattro opzioni di acquisto di capacità di elaborazione: On-Demand Istanze, istanze Spot, Capacity Blocks for ML e Capacity Reservations (ODCR). On-Demand Ogni opzione soddisfa diversi modelli di carico di lavoro, profili di costo e requisiti di disponibilità. La documentazione sulle opzioni di acquisto delle istanze Amazon EC2 spiega come funziona ciascuna opzione, il relativo modello di prezzo e quando utilizzarla.

  • On-Demand Istanze: pagamento al secondo senza impegno e disponibilità immediata quando la capacità è disponibile. Ideale per lo sviluppo, la prototipazione, la scalabilità di inferenza imprevedibile e qualsiasi carico di lavoro che richieda un'elaborazione immediata senza rischi di interruzione.

  • Istanze Spot: risparmi fino al 90% rispetto all'utilizzo di capacità EC2 di riserva, con un avviso di interruzione On-Demand di 2 minuti. Ideale per carichi di lavoro con tolleranza ai guasti che puntano allo storage durevole: ottimizzazione degli iperparametri, formazione distribuita con checkpoint periodici, inferenza in batch e offline e pipeline di preelaborazione dei dati.

  • Blocchi di capacità per il machine learning: istanze Reserve P-family e Trainium per una finestra fissa (24 ore, fino a 6 mesi), prenotate fino a 8 settimane in anticipo con disponibilità garantita. Ideale per corsi di formazione pianificati su larga scala, esperimenti di perfezionamento a tempo determinato e progetti di ricerca con tempistiche note che richiedono un accesso ininterrotto a un cluster di GPU.

  • On-Demand Prenotazioni di capacità (ODCR): riserva la capacità accelerata in una zona di disponibilità specifica senza un impegno a lungo termine, fatturata a tariffe standard indipendentemente dal fatto che la capacità venga utilizzata o meno. On-Demand Ideale per l'inferenza di produzione, SLA-bound i servizi e le applicazioni aziendali critiche in cui i ritardi nella pianificazione o l'indisponibilità della capacità sono inaccettabili. A differenza dei Capacity Blocks, gli ODCR supportano entrambe le istanze. P-family G-family

Abbina le opzioni di acquisto ai requisiti del carico di lavoro

Ora che hai compreso i tipi di istanze accelerate e le opzioni di acquisto, il passaggio successivo consiste nell'abbinare l'opzione di acquisto giusta ai requisiti specifici del tuo carico di lavoro. I carichi di lavoro con maggiore flessibilità tra tipi di istanze, aree geografiche e tempistiche si qualificano per più opzioni di acquisto e prezzi più bassi.

Basa la tua decisione su fattori quali:

  • Importanza strategica e impegni SLA

  • Richiedete prevedibilità e flessibilità di pianificazione

  • Disponibilità a impegnarsi in anticipo a riservare la capacità

  • Flessibilità tra tipi di istanze, regioni e tempistiche

  • Tolleranza per le interruzioni rispetto al risparmio sui costi

In pratica, i team adottano un approccio ibrido che combina diverse opzioni di acquisto per bilanciare costi, disponibilità e affidabilità nell'intero portafoglio di carichi di lavoro. L'articolo How to Get GPU Capacity on AWS fornisce un albero decisionale, confronti dei prezzi ed esempi reali per selezionare l'opzione di acquisto giusta per diversi tipi di carichi di lavoro.

Verifica le quote di servizio EC2

Prima di implementare qualsiasi opzione di acquisto di capacità sul tuo cluster EKS, verifica che il tuo AWS account disponga di una quota di vCPU sufficiente per le famiglie di istanze GPU che intendi utilizzare. Senza quote adeguate, Karpenter NodePools, EKS Auto Mode Provisioning e i gruppi di nodi EKS non riusciranno ad avviare nodi di elaborazione accelerati indipendentemente dall'opzione di acquisto selezionata.

AWS impone quote vCPU separate per famiglia di istanze e modello di acquisto. Esamina le quote dei tipi di istanza Amazon EC2 per comprendere le quote predefinite per le istanze di calcolo accelerato.

Queste quote si basano sul conteggio delle vCPU, non sul conteggio delle istanze. Ad esempio, il lancio di 10 istanze p6-b300,48xlarge richiede 1.920 vCPU (10 × 192). Le quote GPU predefinite sono spesso impostate su 0 per i nuovi account, quindi richiedi un aumento prima di tentare di implementare le istanze.

Se riscontri limitazioni di quota durante la creazione di prenotazioni Capacity Block, il lancio di On-Demand istanze o l'invio di richieste Spot, contatta il AWS Supporto o il team del tuo AWS account per discutere dei tuoi requisiti ed esplorare le opzioni per proteggere la capacità di elaborazione accelerata più adatta alle tue esigenze.

Usa le opzioni di acquisto EC2 con Amazon EKS

Dopo aver selezionato un'opzione di acquisto di elaborazione accelerata EC2, configura il tuo cluster Amazon EKS per utilizzare la capacità. Amazon EKS offre tre metodi di provisioning, ciascuno con un diverso equilibrio tra controllo e automazione:

  • Amazon EKS Auto Mode: elaborazione AWS gestita che esegue automaticamente il provisioning, ridimensiona e applica patch ai nodi. Utilizza Karpenter integrato per il provisioning e il sistema operativo Bottlerocket con driver NVIDIA e plug-in per dispositivi inclusi. Ideale quando si desidera un'infrastruttura gestita con un sovraccarico operativo minimo. Supporta il provisioning statico e dinamico della capacità.

  • Karpenter (autogestito): progetto upstream open source che installi e gestisci nel tuo cluster Amazon EKS. Fornisce lo stesso modello di provisioning di EKS Auto Mode e hai il pieno controllo su sistema operativo, AMI, ottimizzazione del kernel e ciclo di vita dei nodi. Ideale per i team di piattaforma con requisiti che EKS Auto Mode non fornisce immediatamente.

  • Gruppi di nodi (gestiti e autogestiti): supportata da EC2 Auto Scaling Groups (ASG), la capacità viene definita in anticipo tramite un modello di lancio EC2. Ideale per i team di piattaforma con gruppi di nodi gestiti o autogestiti da EKS esistenti e carichi di lavoro di formazione con dimensionamento prevedibile con un footprint di elaborazione accelerato statico noto.

Le pagine seguenti illustrano in dettaglio ciascuna opzione di provisioning.

Strategia mista: combina le opzioni di acquisto

È comune combinare più opzioni di acquisto di capacità all'interno di un singolo cluster Amazon EKS. Questo approccio ottimizza costi, disponibilità e affidabilità contemporaneamente indirizzando carichi di lavoro diversi alla fonte di capacità più appropriata. I clienti implementano questa strategia ibrida utilizzando uno dei tre approcci di gestione dell'elaborazione EKS (EKS Auto Mode, Karpenter o Node Groups) o li combinano all'interno dello stesso cluster.

EKS Auto Mode e Karpenter forniscono sempre prima la capacità riservata (ODCR e Capacity Blocks), seguita da Spot o. On-Demand È possibile abbinare questa priorità di provisioning delle istanze alla pianificazione dei carichi di lavoro critici in base alla capacità garantita, pianificando al contempo carichi di lavoro flessibili su Spot o istanze. On-Demand Puoi controllare il routing dei carichi di lavoro tramite primitive di Kubernetes-native pianificazione: nodeSelector mira a un tipo di capacità specifico, limiti e tolleranze, isola la GPU NVIDIA o i nodi Trainium e distribuisci i carichi di lavoro tra le zone di disponibilità per un'elevata disponibilità. AWS topologySpreadConstraints

Un cluster Amazon EKS ben progettato organizza gruppi di calcolo NodePools o nodi accelerati in due categorie, Reserved e Burst, ciascuna allineata ai modelli di carico di lavoro più adatti alla strategia di capacità. Di seguito viene descritto un esempio.

Riservato (capacità garantita)

Un gpu-reserved NodePool gruppo di nodi esegue l'inferenza della produzione e la formazione programmata su larga scala sulla capacità riservata (ODCR e Capacity Blocks), garantendo la disponibilità garantita SLA-bound dei servizi e dei lavori pianificati con uso intensivo di calcolo. Questo NodePool o gruppo di nodi serve endpoint di inferenza in tempo reale, servizi per modelli di produzione, applicazioni aziendali critiche che richiedono una disponibilità di GPU sempre attiva con prestazioni prevedibili, formazione distribuita pianificata, esperimenti di ottimizzazione su larga scala, progetti di ricerca con vincoli di tempo e qualsiasi carico di lavoro in cui si conoscano in anticipo l'ora e la durata di inizio.

Burst (capacità elastica)

Un gruppo gpu-burst NodePool o un gruppo di nodi esegue la sperimentazione, i carichi di lavoro ad hoc e l'elaborazione in batch utilizzando le istanze Spot come tipo di capacità principale con On-Demand riserva, massimizzando i risparmi sui costi per i carichi di lavoro con tolleranza ai guasti e garantendo al contempo la capacità quando Spot non è disponibile. Questo NodePool o il gruppo di nodi serve inferenza offline in batch, pipeline di preelaborazione dei dati, lavori di valutazione dei modelli, sviluppo e prototipazione, scalabilità di inferenza imprevedibile, sessioni di debug di breve durata e qualsiasi carico di lavoro che implementa il checkpoint e sia in grado di gestire le interruzioni Spot o che non giustifichi una prenotazione ma non possa attendere finestre riservate. I carichi di lavoro su questo NodePool o su questo gruppo di nodi implementano il checkpoint e lo spegnimento graduale per gestire la perdita di nodi entro la finestra di interruzione Spot di 2 minuti.

Il tipo di capacità desiderato per i carichi di lavoro viene specificato utilizzando NodeSelector: karpenter.sh/capacity-type: spot (o on-demand, riservato) e il provisioning basato sul peso garantisce la scalabilità efficiente del cluster in tutti i pool di capacità. Questa architettura offre ai team la flessibilità necessaria per eseguire AI/ML carichi di lavoro diversi, dai notebook sperimentali all'inferenza di produzione, all'interno di un singolo cluster EKS ottimizzando al contempo i costi.