Checkpoint con livelli gestiti di HyperPod - Amazon SageMaker AI

Checkpoint con livelli gestiti di HyperPod

Questa sezione spiega come funzionano i checkpoint con livelli gestiti e i vantaggi che offrono per l’addestramento dei modelli su larga scala.

I checkpoint con livelli gestiti di Amazon SageMaker HyperPod ti aiutano ad addestrare i modelli di IA generativa su larga scala in modo più efficiente. Utilizzano più livelli di archiviazione, inclusa la memoria CPU del cluster. Questo approccio riduce i tempi di recupero e minimizza le perdite durante l’avanzamento dell’addestramento. Inoltre, sfrutta le risorse di memoria sottoutilizzate nell’infrastruttura di addestramento.

I checkpoint con livelli gestiti consentono di salvare i checkpoint in memoria con maggiore frequenza. Vengono archiviati periodicamente in uno spazio di archiviazione durevole. In questo modo si mantengono sia le prestazioni che l’affidabilità durante il processo di addestramento.

Questa guida spiega come impostare, configurare e utilizzare i checkpoint con livelli gestiti con framework PyTorch sui cluster Amazon EKS HyperPod.

Come funzionano i checkpoint con livelli gestiti

I checkpoint con livelli gestiti utilizzano un approccio di archiviazione a più livelli. La memoria CPU funge da livello primario per archiviare i checkpoint del modello. I livelli secondari includono opzioni di archiviazione persistente come Amazon S3.

Quando salvi un checkpoint, il sistema lo archivia in uno spazio della memoria allocato nei nodi del cluster. I dati vengono replicati automaticamente su nodi di calcolo adiacenti per una maggiore affidabilità. Questa strategia di replica garantisce la protezione in caso di guasto di uno o più nodi, fornendo al contempo un accesso rapido per le operazioni di ripristino.

Il sistema inoltre salva periodicamente i checkpoint nell’archiviazione persistente in base alla configurazione dell’utente. Questa operazione garantisce una durata a lungo termine dei progressi dell’addestramento.

I componenti principali includono:

  • Sistema di gestione della memoria: un daemon di gestione della memoria che fornisce memoria disaggregata come servizio per l’archiviazione dei checkpoint

  • Libreria HyperPod Python: si interfaccia con le API di archiviazione disaggregate e fornisce utilità per il salvataggio, il caricamento e la gestione dei checkpoint su più livelli

  • Replica dei checkpoint: replica automaticamente i checkpoint in più nodi per garantire la tolleranza ai guasti

Il sistema si integra perfettamente con i cicli di addestramento di PyTorch tramite semplici chiamate API. Richiede modifiche minime al codice esistente.

Vantaggi

I checkpoint con livelli gestiti offrono diversi vantaggi per l’addestramento dei modelli su larga scala:

  • Migliore usabilità: gestisce il salvataggio, la replica, la persistenza e il ripristino dei checkpoint

  • Operazioni di checkpoint più rapide: l’archiviazione basata sulla memoria offre tempi di salvataggio e caricamento più rapidi rispetto ai checkpoint basati su disco, con una conseguente accelerazione del ripristino

  • Tolleranza ai guasti: la replica automatica dei checkpoint tra i nodi protegge dai guasti dei nodi hardware

  • Modifiche minime al codice: l’integrazione semplice delle API richiede solo piccole modifiche agli script di addestramento esistenti

  • Miglior throughput di addestramento: un sovraccarico ridotto sui checkpoint significa più tempo dedicato all’addestramento vero e proprio