Compilateur SageMaker de formation Amazon - 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.

Compilateur SageMaker de formation Amazon

Utilisez Amazon SageMaker Training Compiler pour entraîner des modèles d'apprentissage profond (DL) plus rapidement sur des instances GPU évolutives gérées par SageMaker.

Qu'est-ce que SageMaker Training Compiler ?

Les modèles d'apprentissage tate-of-the-art profond (DL) sont constitués de réseaux neuronaux multicouches complexes comportant des milliards de paramètres dont l'entraînement peut prendre des milliers d'heures de GPU. 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 frameworks DL avec certains matériels tels que les instances GPU.

SageMaker Le compilateur d'entraînement est une fonctionnalité SageMaker qui effectue ces hard-to-implement optimisations 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 de GPU d'apprentissage SageMaker automatique (ML). SageMaker Le compilateur de formation est disponible sans frais supplémentaires SageMaker et peut aider à réduire le temps total facturable en accélérant la formation.

SageMaker Training Compiler est intégré aux AWS Deep Learning Containers (DLC). À l'aide des AWS DLC compatibles avec le compilateur d' SageMaker entraînement, 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 SageMaker et activez SageMaker Training Compiler pour accélérer votre travail de formation sur des instances de SageMaker machine learning pour accélérer le calcul.

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 du graphe, 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.

Il s'agit d'un processus en deux étapes pour activer SageMaker Training Compiler pour votre tâche de formation :

  1. Apportez votre propre script DL et, si nécessaire, adaptez-le 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.

  2. Créez un objet SageMaker estimateur avec le paramètre de configuration du compilateur à l'aide du SDK SageMaker Python.

    1. Activez SageMaker Training Compiler en l'ajoutant compiler_config=TrainingCompilerConfig() à la classe d' SageMakerestimateur.

    2. Ajustez les hyperparamètres (batch_sizeetlearning_rate) pour optimiser les avantages fournis par 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_size pour les modèles les plus populaires, consultez Modèles testés.

      Lorsque vous ajustez la taille du lot, vous devez également ajuster lelearning_rate de 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 Bonnes pratiques et considérations relatives à la formation des compilateurs.

    3. En exécutant la méthode estimator.fit() de classe, SageMaker compilez votre modèle et lancez la tâche de formation.

    Pour savoir comment lancer une tâche d'entraînement, consultez Activer le compilateur SageMaker d'entraînement.

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 adaptant 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 SageMaker. 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.