Domande frequenti su SageMaker Training Compiler
Importante
Amazon Web Services (AWS) annuncia che non sono previsti nuovi rilasci o nuove versioni di Compilatore SageMaker per l’addestramento. È possibile continuare a utilizzare Compilatore SageMaker per l’addestramento tramite i Container AWS per il Deep Learning (Container DL) esistenti per SageMaker Training. È importante notare che, sebbene i Container DL esistenti rimangano accessibili, non riceveranno più patch o aggiornamenti da AWS, in linea con la policy di supporto per i framework dei Container AWS per il Deep Learning.
Utilizzare le seguenti domande frequenti per trovare le risposte alle domande più frequenti su SageMaker Training Compiler.
D: Come faccio a sapere se SageMaker Training Compiler funziona?
Se hai avviato con successo il processo di addestramento con SageMaker Training Compiler, riceverai i seguenti messaggi di log:
-
Con
TrainingCompilerConfig(debug=False)Found configuration for Training Compiler Configuring SM Training Compiler... -
Con
TrainingCompilerConfig(debug=True)Found configuration for Training Compiler Configuring SM Training Compiler... Training Compiler set to debug mode
D: Quali modelli accelera SageMaker Training Compiler?
SageMaker Training Compiler supporta i modelli di deep learning più diffusi della libreria di trasformatori Hugging Face. Con la maggior parte degli operatori supportati dal compilatore, questi modelli possono essere addestrati più velocemente con SageMaker Training Compiler. I modelli compilabili includono, a titolo esemplificativo ma non esaustivo: bert-base-cased, bert-base-chinese, bert-base-uncased, distilbert-base-uncased, distilbert-base-uncased-finetuned-sst-2-english, gpt2, roberta-base, roberta-large, t5-base e xlm-roberta-base. Il compilatore funziona con la maggior parte degli operatori DL e delle strutture dati e può accelerare molti altri modelli DL, oltre a quelli testati.
D: Cosa succede se abilito SageMaker Training Compiler con un modello non testato?
Per un modello non testato, potrebbe essere necessario modificare prima lo script di addestramento per renderlo compatibile con SageMaker Training Compiler. Per ulteriori informazioni, consultare Portare il proprio modello di deep learning e seguire le istruzioni su come preparare lo script di addestramento.
Dopo aver aggiornato lo script di addestramento è possibile avviare il processo di addestramento. Il compilatore procede alla compilazione del modello. Tuttavia, la velocità di addestramento potrebbe non aumentare e potrebbe addirittura diminuire rispetto alla linea di base con un modello non testato. Potrebbe essere necessario regolare nuovamente i parametri di addestramento, ad esempio batch_size e learning_rate per ottenere vantaggi in termini di accelerazione.
Se la compilazione del modello non testato non riesce, il compilatore restituisce un errore. Per informazioni dettagliate sui tipi di errore e sui messaggi di errore, vedere Risoluzione dei problemi di SageMaker Training Compiler.
D: Avrò sempre un processo di addestramento più veloce con SageMaker Training Compiler?
No, non necessariamente. Innanzitutto, SageMaker Training Compiler aggiunge un certo sovraccarico di lavoro di compilazione prima che il processo di addestramento in corso possa essere accelerato. Il processo di addestramento ottimizzato deve durare sufficientemente a lungo da ammortizzare e compensare questo sovraccarico di compilazione incrementale all'inizio del processo di addestramento.
Inoltre, come con qualsiasi processo di addestramento modello, un addestramento con parametri non ottimali può aumentare i tempi di addestramento. SageMaker Training Compiler può modificare le caratteristiche del processo di addestramento, ad esempio, modificando l'impronta di memoria del processo. A causa di queste differenze, potrebbe essere necessario regolare nuovamente i parametri del processo di addestramento per velocizzarlo. Una tabella di riferimento che specifica i parametri con le migliori prestazioni per i processi di addestramento con diversi tipi e modelli di istanze è disponibile all'indirizzo. Modelli testati
Infine, parte del codice in uno script di addestramento potrebbe aggiungere ulteriore sovraccarico o interrompere il grafico di calcolo compilato e rallentare l'addestramento. Se utilizzi un modello personalizzato o non testato, consulta le istruzioni in Best practice per utilizzare il Compilatore di addestramento di SageMaker con Pytorch/XLA..
D: Posso sempre usare un batch di dimensioni maggiori con SageMaker Training Compiler?
Le dimensioni del batch aumentano nella maggior parte dei casi, ma non in tutti. Le ottimizzazioni effettuate da SageMaker Training Compiler possono modificare le caratteristiche del processo di addestramento, come l'ingombro di memoria. In genere, un processo di Training Compiler occupa meno memoria rispetto a un processo di addestramento non compilato con il framework nativo, il che consente una dimensione del batch maggiore durante l'addestramento. Una dimensione del batch più grande e un corrispondente adeguamento del tasso di apprendimento aumentano la produttività dell'addestramento e possono ridurre il tempo totale di addestramento.
Tuttavia, potrebbero esserci casi in cui SageMaker Training Compiler potrebbe effettivamente aumentare l'ingombro di memoria in base al suo schema di ottimizzazione. Il compilatore utilizza un modello di costo analitico per prevedere il programma di esecuzione con il costo di esecuzione più basso per qualsiasi operatore che utilizza molte risorse di calcolo. Questo modello potrebbe trovare una pianificazione ottimale che aumenti l'utilizzo della memoria. In questo caso, non sarà possibile aumentare le dimensioni dei batch, ma la produttività del campione è ancora più elevata.
D: Compilatore SageMaker per l’addestramento funziona con altre funzionalità di addestramento di SageMaker, come le librerie di addestramento distribuito di SageMaker AI e SageMaker Debugger?
Compilatore SageMaker per l’addestramento non è attualmente compatibile con le librerie di addestramento distribuito di SageMaker AI.
SageMaker Training Compiler è compatibile con Debugger SageMaker, ma Debugger potrebbe ridurre le prestazioni di calcolo aggiungendo un sovraccarico.
D: SageMaker Training Compiler supporta container personalizzati (porta il tuo container)?
SageMaker Training Compiler viene fornito tramite AWS Deep Learning Containers ed è possibile estendere un sottoinsieme di container per personalizzarlo in base al proprio caso d'uso. I container estesi dai DLC AWS sono supportati da SageMaker Training Compiler. Per ulteriori informazioni, consulta Supported Frameworks e Utilizzo di SageMaker AI Python SDK ed estensione dei Container per il Deep Learning del framework SageMaker AI. Se hai bisogno di ulteriore supporto, contatta il team di SageMaker AI tramite il Supporto AWS