Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Exécuter PyTorch des tâches de formation avec SageMaker Training Compiler
Vous pouvez utiliser n'importe laquelle des SageMaker interfaces pour exécuter une tâche de formation avec SageMaker Training Compiler : Amazon SageMaker Studio Classic, Amazon SageMaker Notebook instances AWS SDK for Python (Boto3), et AWS Command Line Interface.
Rubriques
Utilisation du SDK SageMaker Python
SageMaker Le compilateur de formation pour PyTorch est disponible via les classes SageMaker PyTorch
HuggingFace
compiler_config
paramètre aux SageMaker estimateurs. Importez la classe TrainingCompilerConfig
et transmettez-en une instance au paramètre compiler_config
. Les exemples de code suivants montrent la structure des classes d' SageMaker estimateurs lorsque le compilateur d' SageMaker entraînement est activé.
Astuce
Pour commencer avec les modèles préfabriqués fournis par PyTorch ou Transformers, essayez d'utiliser les tailles de lots fournies dans le tableau de référence à l'adresse. Modèles testés
Note
Le PyTorch support natif est disponible dans le SDK SageMaker Python v2.121.0 et versions ultérieures. Assurez-vous de mettre à jour le SDK SageMaker Python en conséquence.
Note
À partir de la PyTorch version v1.12.0, les conteneurs SageMaker Training Compiler pour PyTorch sont disponibles. Notez que les conteneurs SageMaker Training Compiler pour ne PyTorch sont pas préemballés avec Hugging Face Transformers. Si vous devez installer la bibliothèque dans le conteneur, assurez-vous d'ajouter le fichier requirements.txt
dans le répertoire source lorsque vous soumettez une tâche d'entraînement.
Pour la PyTorch version v1.11.0 et les versions antérieures, utilisez les versions précédentes des conteneurs SageMaker Training Compiler pour Hugging Face et. PyTorch
Pour obtenir la liste complète des versions de cadre et des informations sur les conteneurs correspondants, consultez Cadres pris en charge.
Pour obtenir des informations adaptées à votre cas d'utilisation, consultez l'une des options suivantes.
La liste suivante représente l'ensemble minimal de paramètres requis pour exécuter une tâche d' SageMaker entraînement avec le compilateur.
Note
Lorsque vous utilisez l'estimateur SageMaker Hugging Face, vous devez spécifier transformers_version
les paramètres, pytorch_version
hyperparameters
, compiler_config
et pour activer Training Compiler SageMaker . Vous ne pouvez pas utiliser image_uri
pour spécifier manuellement les conteneurs de deep learning intégrés à Training Compiler qui sont répertoriés dans Cadres pris en charge.
-
entry_point
(str) : obligatoire. Spécifiez le nom de fichier de votre script d'entraînement.Note
Pour exécuter un entraînement distribué avec SageMaker Training Compiler et les PyTorch versions v1.10.2 et antérieures, spécifiez le nom de fichier d'un script de lancement dans ce paramètre. Le script de lancement doit être prêt à envelopper votre script d'entraînement et à configurer l'environnement d'entraînement distribué. Pour plus d'informations, consultez les exemples de blocs-notes suivants :
-
source_dir
(str) : facultatif. Ajoutez-le si vous devez installer des packages supplémentaires. Pour installer des packages, vous devez préparer un fichierrequirements.txt
dans ce répertoire. -
instance_count
(int) : obligatoire. Spécifiez le nombre d'instances. -
instance_type
(str) : obligatoire. Spécifiez le type d'instance. -
transformers_version
(str) — Obligatoire uniquement lors de l'utilisation de l' SageMaker estimateur Hugging Face. Spécifiez la version de la bibliothèque Hugging Face Transformers prise en charge SageMaker par Training Compiler. Pour trouver les versions disponibles, consultez Cadres pris en charge. -
framework_version
oupytorch_version
(str) : obligatoire. Spécifiez la PyTorch version prise en charge par SageMaker Training Compiler. Pour trouver les versions disponibles, consultez Cadres pris en charge.Note
Lorsque vous utilisez l'estimateur SageMaker Hugging Face, vous devez spécifier à la fois et.
transformers_version
pytorch_version
-
hyperparameters
(dict) : facultatif. Spécifiez des hyperparamètres pour la tâche d'entraînement, tels quen_gpus
,batch_size
etlearning_rate
. Lorsque vous activez SageMaker Training Compiler, essayez des lots de plus grande taille et ajustez le taux d'apprentissage en conséquence. Pour trouver des études de cas sur l'utilisation du compilateur et l'ajustement de la taille des lots pour améliorer la vitesse d'entraînement, consultez Modèles testés et SageMaker Compilateur de formation : exemples de blocs-notes et de blogs.Note
Pour exécuter un entraînement distribué avec SageMaker Training Compiler et les versions PyTorch 1.10.2 et antérieures, vous devez ajouter un paramètre supplémentaire pour spécifier votre script d'entraînement, comme indiqué dans l'exemple de code précédent.
"training_script"
-
compiler_config
(TrainingCompilerConfig object) — Nécessaire pour activer le compilateur SageMaker d'entraînement. Incluez ce paramètre pour activer le compilateur SageMaker d'entraînement. Les paramètres suivants sont destinés à la classeTrainingCompilerConfig
.-
enabled
(bool) : facultatif. SpécifiezTrue
ouFalse
activez ou désactivez le compilateur SageMaker d'entraînement. La valeur par défaut estTrue
. -
debug
(bool) : facultatif. Pour recevoir des journaux d'entraînement plus détaillés de vos tâches d'entraînement accélérées par le compilateur, remplacez la valeur parTrue
. Cependant, la journalisation supplémentaire peut ajouter une surcharge et ralentir la tâche d'entraînement compilé. La valeur par défaut estFalse
.
-
-
distribution
(dict) : facultatif. Pour exécuter une tâche de formation distribuée avec SageMaker Training Compiler, ajoutezdistribution = { 'pytorchxla' : { 'enabled': True }}
.
Avertissement
Si vous activez SageMaker Debugger, cela peut avoir un impact sur les performances de SageMaker Training Compiler. Nous vous recommandons de désactiver le débogueur lorsque vous exécutez SageMaker Training Compiler pour vous assurer que cela n'a aucun impact sur les performances. Pour de plus amples informations, veuillez consulter Considérations. Pour désactiver les fonctionnalités de Debugger, ajoutez les deux arguments suivants à l'estimateur :
disable_profiler=True, debugger_hook_config=False
Si la tâche d'entraînement avec le compilateur est lancée avec succès, vous recevez les journaux suivants lors de la phase d'initialisation de la tâche :
-
Avec
TrainingCompilerConfig(debug=False)
Found configuration for Training Compiler Configuring SM Training Compiler...
-
Avec
TrainingCompilerConfig(debug=True)
Found configuration for Training Compiler Configuring SM Training Compiler... Training Compiler set to debug mode
Utilisation de l'opération SageMaker CreateTrainingJob
API
SageMaker Les options de configuration du compilateur de formation doivent être spécifiées via le HyperParameters
champ AlgorithmSpecification
et dans la syntaxe de la demande pour l'opération CreateTrainingJob
d'API.
"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 }
Pour trouver la liste complète des URI d'images de conteneurs de deep learning sur lesquels SageMaker Training Compiler est implémenté, consultezCadres pris en charge.