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.
Compilateur Amazon SageMaker Training
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 conteneurs AWS Deep Learning (DLC) existants pour la SageMaker formation. Il est important de noter que même si les DLC existants restent accessibles, ils ne recevront plus de correctifs ni de mises à jour AWS, conformément à la politique de support du AWS Deep Learning Containers Framework.
Utilisez Amazon SageMaker Training Compiler pour entraîner plus rapidement des modèles d'apprentissage profond (DL) sur des instances GPU évolutives gérées par SageMaker l'IA.
Qu'est-ce que SageMaker Training Compiler ?
State-of-the-art les modèles d'apprentissage profond (DL) sont constitués de réseaux neuronaux multicouches complexes contenant des milliards de paramètres dont l'entraînement peut prendre des milliers d'heures sur le processeur graphique. L’optimisation de tels modèles sur l’infrastructure d’entraînement nécessite une connaissance approfondie de la DL et de l’ingénierie des systèmes. Cela relève même du défi pour certains cas d’utilisation. Bien qu’il existe des implémentations open source de compilateurs qui optimisent le processus d’entraînement DL, ils peuvent manquer de flexibilité pour intégrer les cadres DL avec certains matériels tels que les instances GPU.
SageMaker Training Compiler est une fonctionnalité de l' SageMaker IA qui rend ces optimisations difficiles à implémenter afin de réduire le temps d'entraînement sur les instances GPU. Le compilateur optimise les modèles DL pour accélérer l'entraînement en utilisant plus efficacement les instances GPU d'apprentissage automatique (ML) d' SageMaker IA. SageMaker Training Compiler est disponible gratuitement dans SageMaker AI et peut contribuer à réduire le temps total facturable en accélérant l'entraînement.
SageMaker Training Compiler est intégré aux AWS Deep Learning Containers (DLC). À l'aide des AWS DLC compatibles avec SageMaker Training Compiler, vous pouvez compiler et optimiser les tâches d'entraînement sur des instances GPU en modifiant le moins possible votre code. Intégrez vos modèles d'apprentissage profond à l' SageMaker IA et permettez à SageMaker Training Compiler d'accélérer la vitesse de vos tâches de formation sur des instances SageMaker AI ML pour un calcul accéléré.
Comment ça marche
SageMaker Training Compiler convertit les modèles DL de leur représentation linguistique de haut niveau en instructions optimisées pour le matériel. Plus précisément, SageMaker Training Compiler applique des optimisations au niveau des graphes, des optimisations au niveau du flux de données et des optimisations du backend pour produire un modèle optimisé qui utilise efficacement les ressources matérielles. Par conséquent, vous pouvez entraîner vos modèles plus rapidement que lorsque vous les entraînez sans compilation.
L'activation du SageMaker Training Compiler pour votre tâche de formation se fait en deux étapes :
-
Apportez votre propre script DL et, si nécessaire, adaptez-vous pour compiler et entraîner avec SageMaker Training Compiler. Pour en savoir plus, veuillez consulter la section Apporter votre propre modèle de deep learning.
-
Créez un ModelTrainer objet SageMaker AI avec le paramètre de configuration du compilateur à l'aide du SDK SageMaker Python.
-
Activez SageMaker Training Compiler en ajoutant
compiler_config=TrainingCompilerConfig()à la ModelTrainer classe SageMaker AI. -
Ajustez les hyperparamètres (
batch_sizeetlearning_rate) pour optimiser les avantages de SageMaker Training Compiler.La compilation via SageMaker Training Compiler modifie l'empreinte mémoire du modèle. Le plus souvent, cela se traduit par une réduction de l’utilisation de la mémoire et par une augmentation consécutive de la plus grande taille de lot pouvant être stockée sur le GPU. Dans certains cas, le compilateur favorise intelligemment la mise en cache, ce qui entraîne une diminution de la plus grande taille de lot pouvant être stockée sur le GPU. Notez que si vous souhaitez modifier la taille du lot, vous devez ajuster le taux d’entraînement de manière appropriée.
Pour connaître une référence de test de
batch_sizepour les modèles les plus populaires, consultez Modèles testés.Lorsque vous ajustez la taille du lot, vous devez également ajuster le
learning_ratede manière appropriée. Pour connaître les bonnes pratiques d’ajustement du taux d’apprentissage en fonction de la modification de la taille du lot, consultez SageMaker Meilleures pratiques et considérations relatives au compilateur de formation. -
En exécutant la méthode des
model_trainer.train()classes, SageMaker l'IA compile votre modèle et commence le travail d'entraînement.
Pour savoir comment lancer une tâche d’entraînement, consultez Activer le compilateur SageMaker de formation.
-
SageMaker Training Compiler ne modifie pas le modèle entraîné final, tout en vous permettant d'accélérer le travail d'entraînement en utilisant plus efficacement la mémoire du GPU et en ajustant une taille de lot plus importante par itération. Le modèle entraîné final de la tâche d’entraînement accélérée par le compilateur est identique à celui de la tâche d’entraînement ordinaire.
Astuce
SageMaker Training Compiler compile uniquement les modèles DL pour l'entraînement sur les instances GPU prises en charge et gérées par l' SageMaker IA. Pour compiler votre modèle à des fins d'inférence et le déployer pour qu'il s'exécute n'importe où dans le cloud et à la périphérie, utilisez le compilateur SageMaker Neo.