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à.
Esegui lavori PyTorch di formazione con SageMaker Training Compiler
Importante
Avviso di deprecazione: SageMaker Training Compiler non è supportato in Python SDK v3. SageMaker Se attualmente stai utilizzando Training Compiler, continua a utilizzare Python SDK v2. SageMaker Per i nuovi progetti, considera l'utilizzo della classe unificata con i framework supportatiModelTrainer. Consulta la documentazione di SageMaker Python SDK per indicazioni sulla migrazione.
Puoi utilizzare qualsiasi interfaccia SageMaker AI per eseguire un lavoro di formazione con SageMaker Training Compiler: Amazon SageMaker Studio Classic, istanze Amazon SageMaker Notebook e. AWS SDK per Python (Boto3) AWS Command Line Interface
Usare l'SDK Python SageMaker
SageMaker Training Compiler for PyTorch è disponibile tramite le classi SageMaker AI PyTorchHuggingFacecompiler_config parametro agli stimatori AI SageMaker . Importa la classe TrainingCompilerConfig e passa un'istanza al parametro compiler_config. I seguenti esempi di codice mostrano la struttura delle classi di stimatori SageMaker AI con SageMaker Training Compiler attivato.
Suggerimento
Per iniziare con i modelli predefiniti forniti da PyTorch o Transformers, prova a utilizzare le dimensioni dei batch fornite nella tabella di riferimento all'indirizzo. Modelli testati
Nota
Il PyTorch supporto nativo è disponibile in SageMaker Python SDK v2.121.0 e versioni successive. Assicurati di aggiornare l'SDK Python di conseguenza. SageMaker
Nota
A partire dalla PyTorch v1.12.0, sono disponibili i contenitori SageMaker Training Compiler per. PyTorch Nota che i contenitori SageMaker Training Compiler per non PyTorch sono preconfezionati con Hugging Face Transformers. Se devi installare la libreria nel container, assicurati di aggiungere il file requirements.txt nella directory di origine quando invii un processo di addestramento.
Per la PyTorch versione 1.11.0 e precedenti, usa le versioni precedenti dei contenitori Training Compiler per Hugging Face e. SageMaker PyTorch
Per un elenco completo delle versioni del framework e le informazioni sui container corrispondenti, consulta Framework supportati.
Per informazioni adatte al tuo caso d'uso, consulta una delle seguenti opzioni.
L'elenco seguente è il set minimo di parametri necessari per eseguire un processo di formazione con il compilatore. SageMaker
Nota
Quando si utilizza lo stimatore SageMaker AI Hugging Face, è necessario specificare i compiler_config parametritransformers_version, pytorch_versionhyperparameters, e per abilitare Training Compiler. SageMaker Non è possibile utilizzare image_uri per specificare manualmente i Deep Learning Containers integrati nel compilatore Addestramento elencati in Framework supportati.
-
entry_point(str) — Obbligatorio. Specifica il nome del file dello script di addestramento.Nota
Per eseguire un training distribuito con SageMaker Training Compiler e PyTorch v1.10.2 e versioni precedenti, specifica il nome del file di uno script di avvio con questo parametro. Lo script di avvio deve essere preparato per completare lo script di addestramento e configurare l'ambiente di addestramento distribuito. Per maggiori informazioni, vedi i seguenti notebook di esempio:
-
source_dir(str) — Facoltativo. Aggiungilo se hai bisogno di installare pacchetti aggiuntivi. Per installare i pacchetti, è necessario preparare un filerequirements.txtin questa directory. -
instance_count(int) — Obbligatorio. Specifica il numero di istanze. -
instance_type(str) — Obbligatorio. Specifica il tipo di istanza. -
transformers_version(str) — Richiesto solo quando si utilizza lo stimatore AI Hugging Face. SageMaker Specifica la versione della libreria Hugging Face Transformers supportata da Training Compiler. SageMaker Per trovare le versioni disponibili, consulta Framework supportati. -
framework_versionopytorch_version(str) — Obbligatorio. Specifica la PyTorch versione supportata da Training Compiler. SageMaker Per trovare le versioni disponibili, consulta Framework supportati.Nota
Quando si utilizza lo stimatore SageMaker AI Hugging Face, è necessario specificare sia che.
transformers_versionpytorch_version -
hyperparameters(dict) — Facoltativo. Specifica gli iperparametri per il processo di addestramento, ad esempion_gpusbatch_size, elearning_rate. Quando abiliti SageMaker Training Compiler, prova batch di dimensioni maggiori e regola la velocità di apprendimento di conseguenza. Per trovare casi di studio sull'uso del compilatore e sulle dimensioni dei batch modificate per migliorare la velocità di addestramento, consulta Modelli testati e SageMaker Taccuini e blog di esempio di Training Compiler.Nota
Per eseguire un training distribuito con SageMaker Training Compiler e PyTorch v1.10.2 e versioni precedenti, è necessario aggiungere un parametro aggiuntivo, per specificare lo script di training
"training_script", come mostrato nell'esempio di codice precedente. -
compiler_config(TrainingCompilerConfig oggetto) — Necessario per attivare Training Compiler. SageMaker Includi questo parametro per attivare SageMaker Training Compiler. I seguenti sono parametri per la classeTrainingCompilerConfig.-
enabled(bool) — Facoltativo. SpecificaTrueoFalseper attivare o disattivare SageMaker Training Compiler. Il valore predefinito èTrue. -
debug(bool) — Facoltativo. Per ricevere log di addestramento più dettagliati relativi ai processi di addestramento accelerati dal compilatore, modificalo inTrue. Tuttavia, la registrazione aggiuntiva potrebbe aumentare il sovraccarico e rallentare il processo di addestramento compilato. Il valore predefinito èFalse.
-
-
distribution(dict) — Facoltativo. Per eseguire un processo di formazione distribuito con SageMaker Training Compiler, aggiungi.distribution = { 'pytorchxla' : { 'enabled': True }}
avvertimento
Se si attiva SageMaker Debugger, ciò potrebbe influire sulle prestazioni di SageMaker Training Compiler. Ti consigliamo di disattivare Debugger durante l'esecuzione di SageMaker Training Compiler per assicurarti che non vi sia alcun impatto sulle prestazioni. Per ulteriori informazioni, consulta Considerazioni. Per disattivare le funzionalità di Debugger, aggiungi i seguenti due argomenti allo strumento di valutazione:
disable_profiler=True, debugger_hook_config=False
Se il processo di addestramento con il compilatore viene avviato correttamente, durante la fase di inizializzazione del processo vengono ricevuti i seguenti 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
Utilizzo dell'API AI Operation SageMaker CreateTrainingJob
SageMaker Le opzioni di configurazione del Training Compiler devono essere specificate tramite il HyperParameters campo AlgorithmSpecification and nella sintassi della richiesta per il funzionamento dell'CreateTrainingJobAPI.
"AlgorithmSpecification": { "TrainingImage": "<sagemaker-training-compiler-enabled-dlc-image>" }, "HyperParameters": { "sagemaker_training_compiler_enabled": "true", "sagemaker_training_compiler_debug_mode": "false", "sagemaker_pytorch_xla_multi_worker_enabled": "false" // set to "true" for distributed training }
Per trovare un elenco completo degli URI di immagini dei contenitori di deep learning in cui è implementato SageMaker Training Compiler, consulta. Framework supportati