Checkpoint in Amazon SageMaker AI - Amazon SageMaker AI

Checkpoint in Amazon SageMaker AI

Utilizza i checkpoint in Amazon SageMaker AI per salvare lo stato dei modelli di machine learning (ML) durante l’addestramento. I checkpoint sono istantanee del modello e possono essere configurati tramite le funzioni di callback dei framework ML. È possibile utilizzare i checkpoint salvati per riavviare un job di addestramento dall’ultimo checkpoint salvato.

Utilizzando i checkpoint, puoi eseguire le seguenti operazioni:

  • Salvare le istantanee del modello durante l'addestramento a causa di un'interruzione imprevista del processo o dell'istanza di addestramento.

  • Riprendere ad addestrare il modello in futuro da un checkpoint.

  • Analizzare il modello nelle fasi intermedie dell’addestramento.

  • Utilizzare i checkpoint con S3 Express One Zone per una maggiore velocità di accesso.

  • Utilizzare i checkpoint con l’addestramento spot gestito da SageMaker AI per risparmiare sui costi di addestramento.

Il meccanismo di addestramento SageMaker utilizza container di addestramento su istanze Amazon EC2 e i file dei checkpoint vengono salvati in una directory locale dei container (l'impostazione predefinita è /opt/ml/checkpoints). SageMaker AI offre la funzionalità per copiare i checkpoint dal percorso locale ad Amazon S3 e sincronizza automaticamente i checkpoint in quella directory con Amazon S3. I checkpoint esistenti in S3 vengono scritti nel container SageMaker AI all’inizio del processo, consentendo la ripresa dei processi da un determinato checkpoint. I checkpoint aggiunti alla cartella S3 dopo l'avvio del processo non vengono copiati nel container di addestramento. Inoltre, durante l’addestramento, SageMaker AI scrive nuovi checkpoint dal container a S3. Se un checkpoint viene eliminato nel container SageMaker AI, verrà eliminato anche nella cartella S3.

Per un accesso più rapido ai checkpoint, puoi utilizzare i checkpoint in Amazon SageMaker AI con la classe di archiviazione Amazon S3 Express One Zone (S3 Express One Zone). Quando abiliti il checkpointing e specifichi l’URI S3 per la destinazione di archiviazione del checkpoint, puoi fornire un URI S3 per una cartella in un bucket S3 generico o di directory S3. I bucket di directory S3 che sono integrati in SageMaker AI possono essere crittografati solo tramite la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3). La crittografia lato server predefinita con chiavi AWS KMS (SSE-KMS) non è al momento supportata. Per ulteriori informazioni sui bucket di directory S3 Express One Zone ed S3, consulta Che cos’è S3 Express One Zone.

Se si utilizzano i checkpoint con l’addestramento spot gestito da SageMaker AI, SageMaker AI gestisce il checkpointing dell’addestramento dei modelli su un’istanza spot e la ripresa del job di addestramento sull’istanza spot successiva. Con l’addestramento spot gestito da SageMaker AI, puoi ridurre in modo significativo il tempo fatturabile per l’addestramento dei modelli di machine learning. Per ulteriori informazioni, consulta Managed Spot Training in Amazon SageMaker AI.

Checkpoint per framework e algoritmi in SageMaker AI

Utilizza i checkpoint per salvare snapshot di modelli ML basati sui tuoi framework preferiti all’interno di SageMaker AI.

Framework e algoritmi di SageMaker AI che supportano il checkpointing

SageMaker AI supporta il checkpointing per i container AWS Deep Learning e un sottoinsieme di algoritmi integrati senza richiedere modifiche agli script di addestramento. SageMaker AI salva i checkpoint nel percorso locale predefinito '/opt/ml/checkpoints' e li copia su Amazon S3.

Se un algoritmo predefinito che non supporta il checkpoint viene utilizzato in un job di addestramento spot gestito, SageMaker AI non consente un tempo di attesa massimo superiore a un’ora per il job, al fine di limitare il tempo di addestramento sprecato a causa delle interruzioni.

Per i container di addestramento personalizzati e altri framework

Se utilizzi container di addestramento, script di addestramento o altri framework non elencati nella sezione precedente, devi configurare correttamente lo script di addestramento utilizzando callback o API di addestramento per salvare i checkpoint nel percorso locale ('/opt/ml/checkpoints') e caricarlo dal percorso locale nello script di addestramento. Gli strumenti di stima SageMaker AI possono sincronizzarsi con il percorso locale e salvare i checkpoint su Amazon S3.

Considerazioni sul checkpointing

Quando utilizzi i checkpoint in SageMaker AI, tieni presenti le considerazioni indicate di seguito.

  • Per evitare sovrascritture nell’addestramento distribuito con più istanze, devi configurare manualmente i nomi e i percorsi dei file di checkpoint nello script di addestramento. La configurazione di checkpoint SageMaker AI di alto livello specifica una singola posizione Amazon S3 senza suffissi o prefissi aggiuntivi per contrassegnare i checkpoint da più istanze.

  • L'SDK Python di SageMaker non supporta la configurazione di alto livello per la frequenza dei checkpoint. Per controllare la frequenza dei checkpoint, modifica lo script di addestramento utilizzando le funzioni di salvataggio del modello o i callback dei checkpoint del framework.

  • Se utilizzi i checkpoint SageMaker AI con SageMaker Debugger e SageMaker AI distribuiti e stai riscontrando problemi, consulta le pagine seguenti per trovare considerazioni e indicazioni utili per la risoluzione.