SageMaker Compilateur de formation FAQ - Amazon SageMaker

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.

SageMaker Compilateur de formation FAQ

Important

Amazon Web Services (AWS) annonce qu'il n'y aura aucune nouvelle version ou version de SageMaker Training Compiler. Vous pouvez continuer à utiliser SageMaker Training Compiler via les AWS Deep Learning Containers (DLCs) for SageMaker Training existants. Il est important de noter que tant que les versions existantes DLCs resteront accessibles, elles ne recevront plus de correctifs ni de mises à jour AWS, conformément à la politique de support du AWS Deep Learning Containers Framework.

Utilisez les FAQ éléments suivants pour trouver les 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 de formation 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 sont accélérés par SageMaker Training Compiler ?

SageMaker Training Compiler prend en charge les modèles d'apprentissage profond 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 SageMaker Résolution des problèmes liés au compilateur pour obtenir des informations détaillées sur les types d'échec et les messages d'erreur.

Q. Est-ce que j'obtiendrai toujours un poste de formation plus rapide avec SageMaker Training Compiler ?

Non, pas nécessairement. Tout d'abord, SageMaker Training Compiler ajoute une certaine charge de compilation avant que le processus de formation en cours ne 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 par modèle, 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, par exemple en modifiant 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 le compilateur SageMaker d'entraînement avec PyTorch /XLA.

Q : Puis-je toujours utiliser un lot de plus grande taille avec SageMaker Training Compiler ?

La taille du lot augmente dans la plupart des cas, mais pas toujours. Les optimisations apporté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 framework 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, dans certains cas, SageMaker Training Compiler peut réellement 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 fonctionnalités de SageMaker formation, telles que les bibliothèques de formation SageMaker distribuées et le SageMaker Debugger ?

SageMaker Training Compiler n'est actuellement pas compatible avec les bibliothèques SageMaker de formation distribuées.

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

Q. Est-ce que SageMaker Training Compiler prend en charge les conteneurs personnalisés (apportez votre propre conteneur) ?

SageMaker Le compilateur de formation est fourni via AWS Deep Learning Containers, et vous pouvez étendre un sous-ensemble de conteneurs pour les personnaliser en fonction de votre cas d'utilisation. Les conteneurs étendus depuis AWS DLCs sont pris en charge par SageMaker Training Compiler. Pour plus d'informations, consultez Frameworks pris en charge et Utilisation du SDK SageMaker Python et extension du SageMaker framework Deep Learning Containers. Si vous avez besoin d'une assistance supplémentaire, contactez l' SageMaker équipe via le AWS support ou les forums de AWS développeurs pour Amazon SageMaker.