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écution de tâches d’entraînement PyTorch avec SageMaker Training Compiler
Vous pouvez utiliser n’importe quelle interface SageMaker AI pour exécuter une tâche d’entraînement avec SageMaker Training Compiler : Amazon SageMaker Studio Classic, instances de bloc-notes Amazon SageMaker, AWS SDK pour Python (Boto3) ou AWS Command Line Interface.
Rubriques
Utilisation du kit SDK SageMaker Python
SageMaker Training Compiler pour PyTorch est actuellement disponible via les classes d’estimateur des cadres SageMaker AI PyTorchHuggingFacecompiler_config aux estimateurs SageMaker AI. 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’estimateur SageMaker AI avec SageMaker Training Compiler activé.
Astuce
Pour commencer à utiliser les modèles prédéfinis fournis par PyTorch ou Transformers, essayez d’utiliser les tailles de lot fournies dans le tableau de référence figurant dans Modèles testés.
Note
La prise en charge PyTorch native est disponible dans le kit SageMaker Python SDK v2.121.0 et ultérieures. Assurez-vous de mettre à jour le kit SageMaker Python SDK en conséquence.
Note
À partir de PyTorch v1.12.0, les conteneurs SageMaker Training Compiler pour PyTorch sont disponibles. Notez que les conteneurs SageMaker Training Compiler pour PyTorch ne sont pas pré-conçus 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 PyTorch v1.11.0 et 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 est l’ensemble minimal de paramètres requis pour exécuter une tâche d’entraînement SageMaker avec le compilateur.
Note
Lorsque vous utilisez l’estimateur SageMaker AI Hugging Face, vous devez spécifier les paramètres transformers_version, pytorch_version, hyperparameters et compiler_config pour activer SageMaker Training Compiler. 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 PyTorch v1.10.2 ou version antérieure, 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.txtdans 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’estimateur SageMaker AI Hugging Face. Spécifiez la version de la bibliothèque Hugging Face Transformers prise en charge par SageMaker Training Compiler. Pour trouver les versions disponibles, consultez Cadres pris en charge. -
framework_versionoupytorch_version(str) : obligatoire. Spécifiez la version de PyTorch prise en charge par SageMaker Training Compiler. Pour trouver les versions disponibles, consultez Cadres pris en charge.Note
Lorsque vous utilisez l’estimateur SageMaker AI Hugging Face, vous devez spécifier à la fois
transformers_versionetpytorch_version. -
hyperparameters(dict) : facultatif. Spécifiez des hyperparamètres pour la tâche d’entraînement, tels quen_gpus,batch_sizeetlearning_rate. Lorsque vous activez SageMaker Training Compiler, essayez des lots plus volumineux et ajustez le taux d’entraînement 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 Exemples de blocs-notes et de blogs du SageMaker Training Compiler.Note
Pour exécuter un entraînement distribué avec SageMaker Training Compiler et PyTorch v1.10.2 ou version antérieure, vous devez ajouter un paramètre supplémentaire,
"training_script", pour spécifier votre script d’entraînement, comme illustré dans l’exemple de code précédent. -
compiler_config(objet TrainingCompilerConfig) : obligatoire pour activer SageMaker Training Compiler. Incluez ce paramètre pour activer SageMaker Training Compiler. Les paramètres suivants sont destinés à la classeTrainingCompilerConfig.-
enabled(bool) : facultatif. SpécifiezTrueouFalsepour activer ou désactiver SageMaker Training Compiler. 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 d’entraînement distribué 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 Debugger lors de l’exécution de SageMaker Training Compiler pour éviter tout impact sur les performances. Pour plus d’informations, consultez 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 d’API SageMaker AI CreateTrainingJob
Les options de configuration de SageMaker Training Compiler doivent être spécifiées via les champs AlgorithmSpecification et HyperParameters dans la syntaxe de demande pour l’opération d’API CreateTrainingJob.
"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 une liste complète des URI d’image de conteneur Deep Learning Containers qui ont SageMaker Training Compiler implémenté, consultez Cadres pris en charge.