FAQ relative à SageMaker Training Compiler - Amazon SageMaker AI

FAQ relative à SageMaker Training Compiler

Important

Amazon Web Services (AWS) annonce qu’il n’y aura aucune nouvelle mise à jour ou version de SageMaker Training Compiler. Vous pouvez continuer à utiliser SageMaker Training Compiler via les AWS Deep Learning Containers (DLC) existants pour SageMaker Training. Il est important de noter que même si les DLC existants restent accessibles, ils ne recevront plus de correctifs ni de mises à jour d’AWS, conformément à la politique de support du Framework AWS Deep Learning Containers.

Utilisez les éléments suivants de la FAQ pour trouver des réponses aux questions fréquemment posées sur SageMaker Training Compiler.

Q. Comment savoir si SageMaker Training Compiler fonctionne ?

Si vous avez lancé avec succès votre tâche d’entraînement avec SageMaker Training Compiler, vous recevez les messages de journal suivants :

  • 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

Q : Quels modèles SageMaker Training Compiler accélère-t-il ?

SageMaker Training Compiler prend en charge les modèles de deep learning les plus populaires de la bibliothèque Hugging Face Transformers. Avec la plupart des opérateurs pris en charge par le compilateur, ces modèles peuvent être entraînés plus rapidement avec SageMaker Training Compiler. Les modèles compilables incluent, sans s’y limiter, les éléments suivants : 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 et xlm-roberta-base. Le compilateur fonctionne avec la plupart des opérateurs et structures de données de DL et peut accélérer de nombreux autres modèles de DL au-delà de ceux qui ont été testés.

Q : Que se passe-t-il si j’active SageMaker Training Compiler avec un modèle qui n’a pas été testé ?

Pour un modèle non testé, vous devrez peut-être d’abord modifier le script d’entraînement pour qu’il soit compatible avec SageMaker Training Compiler. Pour obtenir plus d’informations, consultez Apporter votre propre modèle de deep learning et suivez les instructions de préparation de votre script d’entraînement.

Une fois que vous avez mis à jour votre script d’entraînement, vous pouvez démarrer la tâche d’entraînement. Le compilateur procède à la compilation du modèle. Cependant, la vitesse d’entraînement peut ne pas augmenter et peut même diminuer par rapport à la ligne de base avec un modèle non testé. Vous devrez peut-être réajuster les paramètres d’entraînement tels que batch_size et learning_rate pour obtenir des avantages d’accélération.

Si la compilation du modèle non testé échoue, le compilateur renvoie une erreur. Consultez Résolution des problèmes liés à SageMaker Training Compiler pour obtenir des informations détaillées sur les types d’échec et les messages d’erreur.

Q. Vais-je toujours obtenir une tâche d’entraînement plus rapide avec SageMaker Training Compiler ?

Non, pas nécessairement. Tout d’abord, SageMaker Training Compiler ajoute une surcharge de compilation avant que le processus d’entraînement en cours puisse être accéléré. La tâche d’entraînement optimisée doit s’exécuter suffisamment longtemps pour amortir et compenser cette surcharge de compilation incrémentielle au début de la tâche d’entraînement.

De plus, comme pour tout processus d’entraînement des modèles, l’entraînement avec des paramètres sous-optimaux peut augmenter le temps d’entraînement. SageMaker Training Compiler peut modifier les caractéristiques de la tâche d’entraînement en modifiant, par exemple, l’empreinte mémoire de la tâche. En raison de ces différences, vous devrez peut-être réajuster les paramètres de votre tâche d’entraînement pour accélérer l’entraînement. Un tableau de référence spécifiant les paramètres les plus performants pour les tâches d’entraînement avec différents types d’instances et modèles est disponible depuis la page Modèles testés.

Enfin, du code dans un script d’entraînement peut ajouter une surcharge supplémentaire ou perturber le graphique de calcul compilé et ralentir l’entraînement. Si vous travaillez avec un modèle personnalisé ou non testé, consultez les instructions sur Bonnes pratiques pour utiliser SageMaker Training Compiler avec PyTorch/XLA.

Q : Puis-je toujours utiliser une taille de lot supérieure avec SageMaker Training Compiler ?

La taille du lot augmente dans la plupart des cas, mais pas toujours. Les optimisations effectuées par SageMaker Training Compiler peuvent modifier les caractéristiques de votre tâche d’entraînement, telles que l’empreinte mémoire. En règle générale, une tâche de compilateur d’entraînement occupe moins de mémoire qu’une tâche d’entraînement non compilée avec le cadre natif, ce qui permet une taille de lot supérieure pendant l’entraînement. Une taille de lot plus importante et un ajustement correspondant du taux d’entraînement augmentent le débit d’entraînement et peuvent réduire le temps total d’entraînement.

Cependant, il peut y avoir des cas où SageMaker Training Compiler peut en fait augmenter l’empreinte mémoire en fonction de son schéma d’optimisation. Le compilateur utilise un modèle de coût analytique pour prédire le calendrier d’exécution avec le coût d’exécution le plus bas pour tout opérateur de calcul intensif. Ce modèle pourrait trouver une planification optimale qui augmente l’utilisation de la mémoire. Dans ce cas, vous ne pourrez pas augmenter la taille des lots, mais votre débit d’échantillons est toujours plus élevé.

Q : SageMaker Training Compiler fonctionne-t-il avec d’autres fonctions d’entraînement SageMaker, telles que les bibliothèques d’entraînement distribués SageMaker AI et SageMaker Debugger ?

SageMaker Training Compiler n’est actuellement pas compatible avec les bibliothèques d’entraînement distribué de SageMaker AI.

SageMaker Training Compiler est compatible avec SageMaker Debugger, mais Debugger peut dégrader les performances de calcul en ajoutant une surcharge.

Q : SageMaker Training Compiler prend-il en charge les conteneurs personnalisés (apportez votre propre conteneur) ?

SageMaker Training Compiler est fourni via les conteneurs AWS de deep learning, et vous pouvez étendre un sous-ensemble de ces conteneurs à personnaliser pour votre cas d’utilisation. Les conteneurs étendus à partir des conteneurs DLC AWS sont pris en charge par SageMaker Training Compiler. Pour plus d’informations, consultez Frameworks pris en charge et Utilisation du kit SageMaker AI Python SDK et extension des conteneurs de deep learning de framework SageMaker AI. Si vous avez besoin d’une assistance supplémentaire, contactez l’équipe SageMaker AI via AWS Support ou les forums de développeurs AWS pour Amazon SageMaker AI.