View a markdown version of this page

Gestisci l'elaborazione accelerata per i AI/ML carichi di 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 su che si trova 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 AI/ML carichi di lavoro su Amazon EKS

Suggerimento

Registrati per i prossimi workshop Amazon EKS. AI/ML

Questa sezione spiega come acquistare e fornire istanze di calcolo accelerate 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à di 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 di Amazon EC2 per i dettagli sulle istanze di calcolo accelerate di Amazon EC2 disponibili. Queste includono le istanze GPU NVIDIA prodotte da e gli 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 passaggio 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 Instances, Spot Instances, 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 di 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à imprevedibile delle inferenze e qualsiasi carico di lavoro che richieda un calcolo immediato senza rischi di interruzione.

  • Istanze Spot: fino al 90% di risparmio rispetto all'utilizzo di capacità EC2 inutilizzata, con un preavviso di interruzione On-Demand di 2 minuti. Ideale per carichi di lavoro tolleranti ai guasti che richiedono uno storage duraturo: ottimizzazione degli iperparametri, formazione distribuita con checkpoint periodici, inferenza batch e offline e pipeline di preelaborazione dei dati.

  • Capacity Blocks for ML: istanze Reserve P-family e Trainium per una finestra fissa (24 ore, fino a 6 mesi), prenotate fino a 8 settimane di anticipo. Utilizza i Capacity Blocks per sessioni di formazione pianificate su larga scala, esperimenti di ottimizzazione limitati nel tempo e progetti di ricerca con scadenze note che richiedono un accesso prevedibile a un cluster di GPU.

  • On-Demand Prenotazioni di capacità (ODCR): riserva capacità accelerata in una specifica zona di disponibilità senza un impegno a lungo termine, fatturata a tariffe standard indipendentemente dal fatto che la capacità venga utilizzata o meno. On-Demand Ideale per inferenze di produzione, SLA-bound servizi e applicazioni aziendali critiche in cui ritardi nella pianificazione o 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 carico di lavoro. I carichi di lavoro con maggiore flessibilità tra tipi di istanze, regioni e tempistiche consentono di ottenere più opzioni di acquisto e prezzi più bassi.

Basa la tua decisione su fattori come:

  • Importanza strategica e impegni in materia di SLA

  • Prevedibilità della domanda e flessibilità di pianificazione

  • Disponibilità a impegnarsi in anticipo per una capacità riservata

  • Flessibilità tra tipi di istanze, regioni e tempistiche

  • Tolleranza alle 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à in tutto il 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 dei servizi 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 di 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 accelerate.

Queste quote si basano sul numero di vCPU, non sul numero di istanze. Ad esempio, l'avvio di 10 istanze p6-b300.48xlarge richiede 1.920 vCPU (10 × 192). Le quote GPU predefinite sono spesso impostate a 0 per i nuovi account, quindi richiedi aumenti prima di tentare di distribuire le istanze.

Se riscontri limiti di quota durante la creazione di prenotazioni Capacity Block, l'avvio di On-Demand istanze o l'invio di richieste Spot, contatta l' AWS assistenza o il team del tuo AWS account per discutere dei tuoi requisiti ed esplorare le opzioni per garantire 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 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, la scalabilità e l'applicazione di patch ai nodi. Utilizza Karpenter integrato per il provisioning e il sistema operativo Bottlerocket con driver NVIDIA e plug-in di dispositivo inclusi. Ideale quando si desidera un'infrastruttura gestita con un sovraccarico operativo minimo. Supporta il provisioning della capacità sia statico che dinamico.

  • 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 del sistema operativo, delle AMI, dell'ottimizzazione del kernel e del 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 avvio EC2. Ideale per i team di piattaforma con gruppi di nodi esistenti gestiti o autogestiti da EKS e per i carichi di lavoro di formazione con dimensioni prevedibili con un footprint di calcolo statico e accelerato noto.

Le pagine seguenti descrivono 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 contemporaneamente costi, disponibilità e affidabilità indirizzando diversi carichi di lavoro alla fonte di capacità più appropriata. I clienti implementano questa strategia ibrida utilizzando uno dei tre approcci di gestione del calcolo 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 Block), seguita da Spot o. On-Demand Puoi abbinare questa priorità di provisioning delle istanze pianificando i carichi di lavoro critici sulla capacità riservata e i carichi di lavoro flessibili su Spot o sulle istanze. On-Demand Puoi controllare il routing dei carichi di lavoro tramite primitive di Kubernetes-native pianificazione: nodeSelector obiettivi per un tipo di capacità specifico, limiti e tolleranze, isolano le GPU NVIDIA o i nodi Trainium e distribuisci i carichi di lavoro nelle zone di disponibilità per un'elevata disponibilità. AWS topologySpreadConstraints

Un cluster Amazon EKS ben progettato organizza l'elaborazione accelerata NodePools o i gruppi di nodi 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.

  • Capacità riservata: un gruppo gpu-reserved NodePool o un gruppo di nodi esegue l'inferenza di produzione e la formazione pianificata su larga scala sulla capacità riservata (ODCR e Capacity Block) per SLA-bound servizi e processi pianificati ad alta intensità di calcolo. Questo NodePool o il gruppo di nodi serve i carichi di lavoro di inferenza e produzione: endpoint di inferenza in tempo reale, gestione dei modelli di produzione e applicazioni aziendali critiche che richiedono una disponibilità di GPU sempre attiva con prestazioni prevedibili. Supporta anche lavori programmati ad alta intensità di calcolo: formazione distribuita pianificata, esperimenti di messa a punto su larga scala, progetti di ricerca limitati nel tempo e qualsiasi carico di lavoro di cui si conoscano in anticipo l'ora di inizio e la durata.

  • Burst Capacity: un gruppo di nodi gestisce la sperimentazione, i gpu-burst NodePool carichi di lavoro ad hoc e l'elaborazione in batch. Utilizza le istanze Spot come tipo di capacità principale con riserva. On-Demand Questa combinazione massimizza i risparmi sui costi per i carichi di lavoro tolleranti ai guasti e garantisce la capacità quando Spot non è disponibile. Questa NodePool o il gruppo di nodi consente l'inferenza offline in batch, le pipeline di preelaborazione dei dati, i processi di valutazione dei modelli, lo sviluppo e la prototipazione, il ridimensionamento imprevedibile delle inferenze, le sessioni di debug di breve durata e qualsiasi carico di lavoro che implementa il checkpoint e sia in grado di gestire le interruzioni di Spot o che non giustifichi una prenotazione ma non possa attendere le finestre riservate. I carichi di lavoro su questo NodePool o su un gruppo di nodi implementano il checkpoint e lo spegnimento graduale per gestire la perdita dei nodi entro la finestra di interruzione Spot di 2 minuti.

Specifica il tipo di capacità desiderato per i carichi di lavoro utilizzando NodeSelector:. karpenter.sh/capacity-type: [spot, on-demand, reserved] Weight-based il provisioning scala il cluster in modo efficiente su tutti i pool di capacità. Con questa architettura, puoi eseguire diversi AI/ML carichi di lavoro, dai notebook sperimentali all'inferenza di produzione, all'interno di un singolo cluster Amazon EKS ottimizzando i costi.