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

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 Amazon SageMaker Training Compiler pour entraîner des modèles d'apprentissage profond (DL) plus rapidement sur GPU des instances é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'GPUheures. 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 de formation DL, elles peuvent manquer de flexibilité pour intégrer les frameworks DL à 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 GPU les instances. Le compilateur optimise les modèles DL pour accélérer l'entraînement en utilisant plus efficacement les GPU instances 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.

Schéma conceptuel du fonctionnement de SageMaker Training Compiler avec SageMaker.

SageMaker Training Compiler est intégré aux AWS Deep Learning Containers (DLCs). À l'aide du compilateur d' SageMaker entraînement activé AWS DLCs, vous pouvez compiler et optimiser les tâches d'entraînement sur des GPU instances en apportant un minimum de modifications à 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, consultez 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 Python SageMaker . SDK

    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 conséquent, par une augmentation de la plus grande taille de lot pouvant contenir leGPU. 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 tenir 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 GPU mémoire 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 GPUinstances 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.