Former avec Amazon SageMaker

Amazon SageMaker facilite la formation des modèles de machine learning (ML) en fournissant tout ce dont vous avez besoin pour ajuster et déboguer les modèles, ainsi que réaliser des expériences de formation.

Caractéristiques

Gestion et suivi des expériences

Le machine learning est un processus itératif basé sur une expérimentation continue, par exemple, en essayant de nouveaux algorithmes d'apprentissage ou en ajustant les hyperparamètres des algorithmes, tout en observant l'impact de ces changements incrémentiels sur les performances et la précision du modèle. Avec le temps, cette explosion de données rend plus difficile le suivi des modèles, des observations et des leçons les plus performants au cours de l'expérimentation, ainsi que des ingrédients et de la recette exacts qui ont servi à créer ces modèles en premier lieu.

Amazon SageMaker Experiments vous aide à suivre, évaluer et organiser des expériences de formation de manière simple et évolutive. SageMaker Experiments est fourni avec Amazon SageMaker Studio, ainsi qu'avec un kit SDK Python avec des intégrations étroites de Jupyter.

Avec Amazon SageMaker Experiments, vous pouvez organiser des milliers d'expériences de formation, consigner des artefacts d'expérience tels que des ensembles de données, des hyperparamètres et des métriques, ainsi que reproduire des expériences. Étant donné que SageMaker Experiments s'intègre à SageMaker Studio, vous pouvez visualiser des modèles et évaluer rapidement et facilement les meilleurs modèles. Vous pouvez également enregistrer et tenir à jour un journal de notes et de commentaires en cours à mesure que les expériences progressent, et facilement cliquer et partager leurs expériences entre les membres de l'équipe. SageMaker Experiments préserve également la lignée complète des expériences, donc si un modèle commence à s'écarter de son résultat prévu, vous pouvez remonter dans le temps et inspecter ses artefacts.

Expériences

Analyser et déboguer avec des informations complètes

Il est difficile d'obtenir un aperçu et une visibilité complets du processus de formation ML. Il n'existe aucun moyen facile de s'assurer que votre modèle apprend progressivement les valeurs appropriées pour ses paramètres. Par exemple, lors de la formation d'un modèle de vision par ordinateur à l'aide d'un réseau de neurones convolutionnel, vous devrez peut-être exécuter la tâche de formation pendant des heures. Pendant ce temps, vous n'aurez aucune visibilité sur la façon dont les différents paramètres du modèle ML affectent la formation du modèle et si le processus de formation donne les résultats souhaités.

Amazon SageMaker Debugger offre une visibilité complète sur le processus de formation. SageMaker Debugger facilite l'inspection en fournissant une interface visuelle permettant aux développeurs d'analyser les données de débogage, ainsi qu'en fournissant des indicateurs visuels sur les anomalies potentielles dans le processus de formation.

SageMaker Debugger détecte et vous avertit automatiquement des erreurs les plus courantes, telles que des valeurs de gradient devenues trop grandes ou trop petites. Vous pouvez également utiliser le kit SDK du débogueur pour détecter automatiquement les nouvelles classes d'erreurs spécifiques au modèle ou analyser de manière interactive les cycles de formation dans un bloc-notes SageMaker. Par conséquent, l'effort de débogage pour les modèles de machine learning peut être réduit de quelques jours à quelques minutes. Les données collectées par SageMaker Debugger restent dans votre propre compte, et peuvent ainsi être utilisées pour les applications les plus sensibles en matière de confidentialité.

SageMaker Debugger produit des mesures de performances en temps réel de vos modèles. Il s'agit notamment de la perte de formation et de validation (qui représente l'erreur du modèle, qui devrait être aussi faible que possible), des matrices de confusion (pour les modèles de classification, cela représente les fausses prédictions positives et négatives, ainsi que la façon dont elles changent au cours de la formation) et les gradients d'apprentissage (l'examen des courbes d'apprentissage des modèles au cours de la formation est utilisé pour diagnostiquer les problèmes d'apprentissage, tels qu'un modèle de sous-ajustement ou de surajustement, et pour déterminer si les ensembles de données de formation et de validation sont dûment représentatifs.) Ces métriques peuvent être affichées et visualisées dans des blocs-notes dans Amazon SageMaker Studio.

SageMaker Debugger générera également des avertissements et des conseils de correction lorsque des problèmes de formation seront détectés. Par exemple, si votre modèle a tout appris à partir des données et ne s'améliore pas, mais est toujours en cours de formation (ce qui demande un certain temps et coût), SageMaker Debugger vous aidera à identifier cela suffisamment tôt afin que vous puissiez mettre fin à la formation. Il peut également identifier les problèmes courants de validation des données, par exemple, si les pondérations de votre réseau sont systématiquement définies sur zéro, ainsi que si votre modèle commence à surajuster les données.

Debugger

Formation en un clic

La formation de modèles est facile grâce à Amazon SageMaker. Lorsque vous êtes prêt à former dans SageMaker, indiquez simplement l'emplacement de vos données dans Amazon S3, ainsi que le type et la quantité d'instances SageMaker ML dont vous avez besoin, et démarrez en un seul clic. Amazon SageMaker configure un cluster de calcul partagé, effectue la formation, transmet le résultat à Amazon S3, puis supprime le cluster. 

Lorsque vous indiquez simplement l'emplacement de vos données dans Amazon S3, SageMaker exécute votre algorithme dans un cluster de formation isolé au sein de son propre réseau défini par logiciel, configuré selon vos besoins. Lorsque vous sélectionnez le type d'instance, y compris Amazon EC2 P3dn, l'instance basée sur processeur la plus puissante du cloud, SageMaker créera votre cluster dans un groupe de scalabilité automatique. SageMaker attachera également des volumes EBS à chaque nœud, configurera les pipelines de données et commencera la formation avec votre TensorFlow, MXNet, Pytorch, Chainer ou votre script d'infrastructure, algorithme intégré ou personnalisé. Une fois cette étape terminée, les résultats sont stockés dans S3 et le cluster est automatiquement détruit.

Pour faciliter la formation à l'échelle, nous avons optimisé le flux des données qui proviennent d'Amazon S3. Par l'intermédiaire de l'API, vous pouvez préciser si vous préférez que toutes les données soient envoyées à chaque nœud dans le cluster, ou que SageMaker gère la distribution des données aux nœuds en fonction des besoins de votre algorithme. Associée aux algorithmes intégrés, l'évolutivité de la formation rendue possible par Amazon SageMaker peut considérablement réduire le temps et les frais de ces formations.

Automatic Model Tuning

Amazon SageMaker peut ajuster automatiquement votre modèle en configurant des milliers de combinaisons de paramètres d'algorithmes différentes, afin de parvenir aux prévisions les plus précises que le modèle soit capable de produire.

Lorsque vous ajustez votre modèle pour qu’il soit le plus précis possible, deux étapes sont essentielles : la modification des données entrantes que vous fournissez au modèle (en prenant par exemple l’enregistrement d’un nombre), et l'ajustement des paramètres qui définissent le comportement de l'algorithme. Ceux-ci sont appelés hyperparamètres, et il est parfois difficile de trouver les bonnes valeurs. En général, vous commencez par une valeur aléatoire, et vous répétez l'opération au fur et à mesure des ajustements lorsque vous commencez à mesurer l'impact des modifications. En fonction du nombre d'hyperparamètres de votre modèle, ce cycle peut être long.

Amazon SageMaker simplifie tout cela en proposant Automatic Model Tuning sous forme d'option pendant la formation. L'ajustement automatique de modèle utilise le machine learning pour rapidement régler votre modèle afin que celui-ci soit aussi précis que possible. Cette fonctionnalité vous évite de devoir passer par le processus par tâtonnement laborieux consistant à ajuster manuellement les hyperparamètres. À la place, l'ajustement automatique de modèle effectue l'optimisation des hyperparamètres sur la base de plusieurs exécutions de formation en découvrant les caractéristiques intéressantes dans vos données et en apprenant comment ces caractéristiques interagissent et impactent la précision. Vous économisez plusieurs jours, voire plusieurs semaines, sur l'optimisation de la qualité de votre modèle formé.

Vous spécifiez simplement le nombre de tâches de formation via l'API ou la console, et SageMaker s'occupe du reste en utilisant le machine learning pour ajuster votre modèle. Elle fonctionne en identifiant les éléments susceptibles d’avoir une influence sur les différents types de données d’un modèle, puis en appliquant cette connaissance à plusieurs copies de ce modèle afin de rechercher rapidement le meilleur résultat possible. Cela signifie qu'en tant que développeur ou spécialiste des données, vous n'avez qu'une seule véritable préoccupation : les ajustements que vous souhaitez apporter aux données avec lesquelles vous alimentez le modèle, ce qui réduit considérablement le nombre de sujets qui pourraient vous inquiéter pendant la formation.

Formation Spot gérée

Avec la formation Spot gérée, vous pouvez réduire les coûts de formation de vos modèles de machine learning jusqu'à 90 %. La formation Spot gérée utilise les instances Spot Amazon EC2, qui constituent une réserve de capacité EC2. Ainsi, vos tâches de formation sont exécutées à bien moindres coûts que les instances à la demande Amazon EC2. Amazon SageMaker gère les tâches de formation de sorte qu'elles s'exécutent lorsque la capacité de calcul devient disponible. En conséquence, vous n'avez pas besoin d'interroger en permanence la capacité. Par ailleurs, la formation Spot gérée élimine la nécessité de créer des outils supplémentaires pour gérer les interruptions. La formation Spot gérée fonctionne avec l'ajustement automatique de modèle, des algorithmes intégrés et les cadres fournis avec Amazon SageMaker, ainsi que des algorithmes personnalisés.

Réglage automatique des modèles de ML précis à l'aide d'Amazon SageMaker

Passez à la pratique avec ces exercices d'ajustement automatique de modèle sur GitHub.

Entraînement et réglage de vos modèles de machine learning avec Amazon SageMaker  

Écoutez ce tech talk pour apprendre à entraîner vos modèles de ML avec la plus grande précision grâce à Amazon SageMaker.

Accélération de vos tâches d'entraînement avec un téléchargement plus rapide de grands ensembles de données

Lisez ce billet de blog afin de savoir utiliser un système de fichiers persistants Amazon FSx for Lustre avec Amazon SageMaker pour entraîner un modèle ML.