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.
Démonstrations et visualisation avancées de Debugger
Les démonstrations suivantes vous guident dans les cas d'utilisation et les scripts de visualisation avancés à l'aide de Debugger.
Rubriques
- Modèles d'entraînement et d'élagage avec Amazon SageMaker Experiments et Debugger
- Utilisation du SageMaker débogueur pour surveiller l'entraînement d'un modèle d'encodeur automatique convolutif
- Utilisation du SageMaker Debugger pour surveiller les attentions lors de l'entraînement des modèles BERT
- Utiliser SageMaker Debugger pour visualiser des cartes d'activation de classes dans des réseaux neuronaux convolutifs () CNNs
Modèles d'entraînement et d'élagage avec Amazon SageMaker Experiments et Debugger
Dr. Nathalie Rauschmayr, chercheuse AWS appliquée | Durée : 49 minutes 26 secondes
Découvrez comment Amazon SageMaker Experiments et Debugger peuvent simplifier la gestion de vos tâches de formation. Amazon SageMaker Debugger fournit une visibilité transparente sur les tâches de formation et enregistre les indicateurs de formation dans votre compartiment Amazon S3. SageMaker Experiments vous permet d'appeler les informations de formation sous forme d'essais via SageMaker Studio et permet de visualiser le travail de formation. Cela contribue à préserver la qualité élevée du modèle tout en réduisant les paramètres moins importants en fonction du niveau d'importance.
Cette vidéo présente une technique d'élagage de modèles qui rend les modèles ResNet 50 et AlexNet modèles préentraînés plus légers et abordables tout en respectant des normes élevées en matière de précision des modèles.
SageMaker L'estimateur entraîne les algorithmes fournis par le zoo de PyTorch modèles dans un PyTorch framework AWS Deep Learning Containers, et Debugger extrait les métriques d'entraînement du processus d'entraînement.
La vidéo montre également comment configurer une règle personnalisée du Debugger pour vérifier la précision d'un modèle élagué, pour déclencher un CloudWatch événement Amazon et une AWS Lambda fonction lorsque la précision atteint un seuil, et pour arrêter automatiquement le processus d'élagage afin d'éviter les itérations redondantes.
Les objectifs d'apprentissage sont les suivants :
-
Découvrez comment l'utiliser SageMaker pour accélérer la formation des modèles de machine learning et améliorer la qualité des modèles.
-
Découvrez comment gérer les itérations d'entraînement avec SageMaker Experiments en capturant automatiquement les paramètres d'entrée, les configurations et les résultats.
-
Découvrir comment Debugger rend le processus d'entraînement transparent en capturant automatiquement les données des tenseurs en temps réel à partir de métriques telles que les pondérations, les gradients et les sorties d'activation des réseaux de neurones convolutifs.
-
CloudWatch À utiliser pour déclencher Lambda lorsque Debugger détecte des problèmes.
-
Maîtrisez le processus de SageMaker formation à l'aide d' SageMaker Experiments et de Debugger.
Vous trouverez les blocs-notes et les scripts de formation utilisés dans cette vidéo de SageMaker Debugger PyTorch Iterative
L'image suivante montre comment le processus d'élagage itératif du modèle réduit la taille de AlexNet en supprimant les 100 filtres les moins significatifs en fonction du rang d'importance évalué par les résultats d'activation et les dégradés.
Le processus de réduction a réduit le nombre initial de 50 millions de paramètres à 18 millions. Il a également réduit la taille estimée du modèle de 201 Mo à 73 Mo.
Vous devez également suivre la précision du modèle. L'image suivante montre comment tracer le processus d'élagage du modèle pour visualiser les modifications de la précision du modèle en fonction du nombre de paramètres dans SageMaker Studio.
Dans SageMaker Studio, choisissez l'onglet Experiments, sélectionnez une liste de tenseurs enregistrés par Debugger lors du processus d'élagage, puis composez un panneau de liste des composants d'essai. Sélectionnez les dix itérations et choisissez Add chart (Ajouter un graphique) pour créer un Trial Component Chart (Graphique de composants d'essai). Une fois que vous avez choisi le modèle à déployer, choisissez le composant d'essai et un menu permettant d'effectuer une action ou choisissez Deploy model (Déployer le modèle).
Note
Pour déployer un modèle via SageMaker Studio à l'aide de l'exemple de bloc-notes suivant, ajoutez une ligne à la fin de la train
fonction dans le train.py
script.
# In the train.py script, look for the train function in line 58. def train(epochs, batch_size, learning_rate): ... print('acc:{:.4f}'.format(correct/total)) hook.save_scalar("accuracy", correct/total, sm_metric=True) # Add the following code to line 128 of the train.py script to save the pruned models # under the current SageMaker Studio model directory
torch.save(model.state_dict(), os.environ['SM_MODEL_DIR'] + '/model.pt')
Utilisation du SageMaker débogueur pour surveiller l'entraînement d'un modèle d'encodeur automatique convolutif
Ce bloc-notes montre comment SageMaker Debugger visualise les tenseurs issus d'un processus d'apprentissage non supervisé (ou autosupervisé) sur un MNIST jeu de données d'images contenant des nombres écrits à la main.
Le modèle d'entraînement de ce bloc-notes est un autoencodeur convolutif avec le framework. MXNet L'auto-encodeur convolutif a un réseau de neurones convolutif en forme de goulot d'étranglement qui se compose d'une partie encodeur et d'une partie décodeur.
L'encodeur de cet exemple comporte deux couches de convolution pour produire une représentation compressée (variables latentes) des images en entrée. Dans ce cas, l'encodeur produit une variable latente de taille (1, 20) à partir d'une image d'entrée d'origine de taille (28, 28) et réduit considérablement la taille des données pour l'entraînement, de l'ordre de 40 fois.
Le décodeur dispose de deux couches déconvolutives et garantit que les variables latentes conservent les informations clés en reconstruisant les images de sortie.
Le codeur convolutif alimente les algorithmes de clustering dont la taille des données d'entrée est plus petite et les performances des algorithmes de clustering tels que k-means, k-NN et T-distributed Stochastic Neighbor Embedding (t-). SNE
Cet exemple de bloc-notes montre comment visualiser les variables latentes à l'aide de Debugger, comme illustré dans l'animation suivante. Il montre également comment l'SNEalgorithme t classe les variables latentes en dix groupes et les projette dans un espace bidimensionnel. Le schéma de couleurs du diagramme de dispersion sur le côté droit de l'image reflète les valeurs réelles pour montrer dans quelle mesure le BERT modèle et l'SNEalgorithme t organisent les variables latentes dans les clusters.
Utilisation du SageMaker Debugger pour surveiller les attentions lors de l'entraînement des modèles BERT
Les représentations d'encodage bidirectionnelles à partir de Transformers (BERT) est un modèle de représentation linguistique. Comme son nom l'indique, le BERT modèle s'appuie sur l'apprentissage par transfert et le modèle Transformer pour le traitement du langage naturel (NLP).
Le BERT modèle est préentraîné sur des tâches non supervisées telles que la prédiction des mots manquants dans une phrase ou la prédiction de la phrase suivante qui suit naturellement une phrase précédente. Les données d'entraînement contiennent 3,3 milliards de mots (jetons) de texte anglais, provenant de sources telles que Wikipédia et des livres électroniques. Pour un exemple simple, le BERT modèle peut accorder une grande attention aux jetons de verbe ou de pronom appropriés à partir d'un jeton de sujet.
Le BERT modèle préentraîné peut être affiné avec une couche de sortie supplémentaire pour permettre l'entraînement state-of-the-art du modèle dans NLP des tâches, telles que les réponses automatisées aux questions, la classification de texte, etc.
Debugger collecte les tenseurs du processus de réglage précis. Dans le contexte deNLP, le poids des neurones est appelé attention.
Ce carnet explique comment utiliser le BERTmodèle préentraîné du zoo de modèles Gluon sur NLP le
Le tracé des scores d'attention et des neurones individuels dans la requête et les vecteurs clés peut aider à identifier les causes de prédictions erronées du modèle. Avec SageMaker Debugger, vous pouvez récupérer les tenseurs et tracer la vue attention-tête en temps réel au fur et à mesure que l'entraînement progresse et comprendre ce que le modèle apprend.
L'animation suivante montre les scores d'attention des 20 premiers jetons d'entrée pour dix itérations dans la tâche d'entraînement fournie dans l'exemple de bloc-notes.
Utiliser SageMaker Debugger pour visualiser des cartes d'activation de classes dans des réseaux neuronaux convolutifs () CNNs
Ce bloc-notes explique comment utiliser SageMaker Debugger pour tracer des cartes d'activation de classes pour la détection et la classification d'images dans des réseaux neuronaux convolutifs (). CNNs En apprentissage profond, un réseau neuronal convolutif (CNNou ConvNet) est une classe de réseaux neuronaux profonds, le plus souvent utilisés pour analyser des images visuelles. Les voitures autonomes illustrent une application qui adopte les cartes d'activation de classes. En effet, elles nécessitent la détection instantanée et la classification des images telles que les panneaux de signalisation, les routes et les obstacles.
Dans ce bloc-notes, le PyTorch ResNet modèle est entraîné sur le jeu de données allemand sur les panneaux de signalisation
Au cours du processus de formation, SageMaker Debugger collecte des tenseurs pour tracer les cartes d'activation des classes en temps réel. Comme illustré dans l'image animée, la carte d'activation des classes (également appelée carte de saillance) met en évidence les régions à forte activation en rouge.
À l'aide des tenseurs capturés par Debugger, vous pouvez visualiser l'évolution de la carte d'activation au cours de l'entraînement du modèle. Le modèle commence par détecter le bord dans le coin inférieur gauche au début de la tâche d'entraînement. Au fur et à mesure de la progression de l'entraînement, l'attention se déplace vers le centre et détecte le panneau de limite de vitesse. Le modèle prédit à juste titre que la classe de l'image d'entrée est la classe 3, à savoir une classe pour les panneaux de limite de vitesse de 60 km/h, avec un niveau de confiance de 97 %.