Governance delle attività per l'implementazione del modello su HyperPod - Amazon SageMaker AI

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à.

Governance delle attività per l'implementazione del modello su HyperPod

Questa sezione spiega come ottimizzare i cluster Amazon SageMaker HyperPod EKS condivisi per carichi di lavoro di inferenza in tempo reale. Imparerai a configurare le funzionalità di governance delle attività di Kueue, tra cui la gestione delle quote, la pianificazione delle priorità e le policy di condivisione delle risorse, per garantire che i carichi di lavoro di inferenza ottengano le risorse GPU di cui hanno bisogno durante i picchi di traffico, mantenendo al tempo stesso un’equa allocazione tra le attività di addestramento, valutazione e test dei tuoi team. Per informazioni più generali sulla governance delle attività, consulta SageMaker HyperPod governance delle attività.

Come funziona la gestione dei carichi di lavoro di inferenza

Per gestire efficacemente i picchi di traffico di inferenza in tempo reale nei cluster HyperPod EKS condivisi, implementa le seguenti strategie di governance delle attività utilizzando le funzionalità esistenti di Kueue.

Configurazione della classe di priorità

Definisci classi di priorità dedicate per i carichi di lavoro di inferenza con pesi elevati (ad esempio 100) per garantire che i pod di inferenza siano ammessi e pianificati prima di altri tipi di attività. Questa configurazione consente ai carichi di lavoro di inferenza di rendere prerilasciabili i processi con priorità più bassa durante il caricamento del cluster, il che è fondamentale per mantenere i requisiti di bassa latenza durante i picchi di traffico.

Dimensionamento e allocazione delle quote

Riserva al tuo team risorse GPU sufficienti in ClusterQueue per gestire i picchi di inferenza previsti. Durante i periodi con poco traffico di inferenza, le quote di risorse inutilizzate possono essere temporaneamente allocate alle attività di altri team. Quando la domanda di inferenza aumenta, le risorse prese in prestito possono essere recuperate per dare priorità ai pod di inferenza in sospeso. Per ulteriori informazioni, consulta Cluster Queue.

Strategie di condivisione delle risorse

Scegli tra due approcci di condivisione delle quote in base alle tue esigenze:

  1. Controllo rigoroso delle risorse: disabilita la funzionalità per prendere e dare in prestito le quote per garantire che la capacità GPU riservata sia sempre disponibile per i tuoi carichi di lavoro. Questo approccio richiede quote con dimensioni piuttosto ampie per gestire in modo indipendente i picchi di domanda e può comportare l’inattività dei nodi durante i periodi di traffico ridotto.

  2. Condivisione flessibile delle risorse: abilita la funzionalità per prendere in prestito le quote per utilizzare le risorse inattive di altri team quando necessario. I pod presi in prestito sono contrassegnati come prerilasciabili e possono essere eliminati se il team che li ha prestati reclama la capacità.

Prelazione all’interno del team

Abilita la prelazione all’interno del team quando esegui carichi di lavoro misti (valutazione, addestramento e inferenza) nell’ambito della stessa quota. Ciò consente a Kueue di prerilasciare i processi a bassa priorità all’interno del team per ospitare pod di inferenza ad alta priorità, garantendo che l’inferenza in tempo reale possa essere eseguita senza dipendere dal prestito di quote esterne. Per ulteriori informazioni, consulta Prelazione.

Esempio di configurazione del carico di lavoro di inferenza

L'esempio seguente mostra come Kueue gestisce le risorse GPU in un cluster Amazon condiviso. SageMaker HyperPod

Configurazione del cluster e impostazione delle policy

Il tuo cluster ha la configurazione seguente:

  • Team A: quota di 10 GPU P4

  • Team B: quota di 20 GPU P4

  • Provisioning statico: nessun dimensionamento automatico

  • Capacità totale: 30 P4 GPUs

Il pool di GPU condiviso utilizza questa policy di priorità:

  1. Inferenza in tempo reale: priorità 100

  2. Addestramento: priorità 75

  3. Valutazione: priorità 50

Kueue applica le quote del team e le classi di priorità, con la prelazione e il prestito di quote abilitati.

Stato iniziale: utilizzo normale del cluster

Durante il normale funzionamento:

  • Il team A svolge attività di formazione e valutazione su tutti i 10 P4 GPUs

  • Il Team B esegue l’inferenza (10 P4) e la valutazione (10 P4) in tempo reale all’interno della sua quota di 20 GPU

  • Il cluster è completamente utilizzato e tutti i processi sono ammessi e in esecuzione

Picco di inferenza: il Team B ne richiede altri GPUs

Quando il Team B subisce un picco di traffico, i pod di inferenza aggiuntivi richiedono altri 5 P4. GPUs Kueue rileva che i nuovi pod:

  • Sono all’interno del namespace del Team B

  • Hanno priorità 100 (inferenza in tempo reale)

  • Hanno l’ammissione in sospeso a causa di vincoli di quota

Per la risposta, Kueue può scegliere tra due opzioni:

Opzione 1: prestito di quote. Se il Team A utilizza solo 6 dei suoi 10 P4, Kueue può ammettere i pod del Team B utilizzando i 4 P4 inattivi. Tuttavia, queste risorse prese in prestito sono prerilasciabili: se il Team A invia processi per raggiungere la sua quota massima, Kueue rilascia i pod di inferenza presi in prestito dal Team B.

Opzione 2: auto-prelazione (consigliata). Il Team B esegue processi di valutazione a bassa priorità (priorità 50). Quando sono in attesa pod di inferenza ad alta priorità, Kueue interrompe i processi di valutazione inclusi nella quota del Team B e ammette i pod di inferenza. Questo approccio offre un’allocazione sicura delle risorse senza rischi esterni di espulsione.

Kueue segue un processo in tre fasi per l’allocazione delle risorse:

  1. Controllo delle quote

    Domanda: il Team B ha una quota inutilizzata?

    • Sì → Ammetti i pod

    • No → Procedi alla Fase 2

  2. Auto-prelazione all’interno del Team B

    Domanda: è possibile prerilasciare i processi del Team B con priorità più bassa?

    • Sì → Rendi prerilasciabili i processi di valutazione (priorità 50), libera 5 P4 e ammetti i pod di inferenza

    • No → Procedi alla Fase 3

    Questo approccio mantiene i carichi di lavoro entro la quota garantita del Team B, evitando rischi esterni di espulsione.

  3. Prestito da altri team

    Domanda: c’è una quota inattiva che può essere presa in prestito da altri team?

    • Sì → Consenti l’utilizzo di una quota presa in prestito (contrassegnata come prerilasciabile)

    • No → Il pod rimane nello stato NotAdmitted