Entraînement de modèles de machine learning - 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.

Entraînement de modèles de machine learning

La phase d'entraînement du cycle de vie complet du machine learning (ML) va de l'accès à votre jeu de données d'entraînement à la génération d'un modèle final et à la sélection du modèle le plus performant pour le déploiement. Les sections suivantes fournissent un aperçu des fonctionnalités et des ressources de SageMaker formation disponibles, ainsi que des informations techniques détaillées pour chacune d'entre elles.

L'architecture de base de la SageMaker formation

Si vous l'utilisez SageMaker pour la première fois et que vous souhaitez trouver une solution de machine learning rapide pour entraîner un modèle sur votre jeu de données, pensez à utiliser une solution sans code ou low-code telle que SageMaker Canvas, JumpStartdans SageMaker Studio Classic, ou SageMaker Autopilot.

Pour les expériences de codage intermédiaires, pensez à utiliser un bloc-notes SageMaker Studio Classic ou des instances de SageMaker bloc-notes. Pour commencer, suivez les instructions Étape 4 : entraîner un modèle du guide de SageMaker démarrage. Nous recommandons cette option pour les cas d'utilisation dans lesquels vous créez votre propre modèle et script d'entraînement à l'aide d'un framework de machine learning.

Le cœur des SageMaker tâches est la conteneurisation des charges de travail de machine learning et la capacité de gérer les ressources informatiques. La plateforme de SageMaker formation prend en charge le gros du travail associé à la mise en place et à la gestion de l'infrastructure pour les charges de travail de formation au ML. Avec SageMaker Training, vous pouvez vous concentrer sur le développement, la formation et la mise au point de votre modèle.

Le schéma d'architecture suivant montre comment SageMaker gérer les tâches de formation ML et provisionner les instances Amazon EC2 pour le compte des SageMaker utilisateurs. En tant qu' SageMaker utilisateur, vous pouvez apporter votre propre ensemble de données de formation et l'enregistrer sur Amazon S3. Vous pouvez choisir un modèle d'apprentissage automatique parmi les algorithmes SageMaker intégrés disponibles, ou apporter votre propre script d'entraînement avec un modèle conçu à l'aide de frameworks d'apprentissage automatique populaires.

Schéma montrant comment les utilisateurs fournissent les données, choisissent les algorithmes et SageMaker provisionnent l'infrastructure informatique.

Vue complète du flux de travail et des fonctionnalités de SageMaker formation

Le parcours complet de l'entraînement de machine learning implique des tâches allant au-delà de l'ingestion de données vers des modèles de machine learning, de l'entraînement de modèles sur des instances de calcul et de l'obtention d'artefacts et de sorties de modèles. Vous devez évaluer chaque étape avant, pendant et après l'entraînement pour vous assurer que votre modèle est correctement entraîné pour atteindre la précision cible correspondant à vos objectifs.

L'organigramme suivant présente un aperçu général de vos actions (dans des cases bleues) et des fonctionnalités de SageMaker formation disponibles (dans des cases bleu clair) tout au long de la phase de formation du cycle de vie du machine learning.

Organigramme des étapes recommandées et des fonctionnalités à utiliser pour chaque étape du flux de formation au machine learning.

Les sections suivantes vous présentent chaque phase de formation décrite dans l'organigramme précédent et les fonctionnalités utiles proposées par SageMaker les trois sous-étapes de la formation ML.

Avant l'entraînement

Il existe un certain nombre de scénarios de configuration des ressources de données et de l'accès aux données à prendre en compte avant l'entraînement. Reportez-vous au diagramme suivant et aux détails de chaque phase avant l'entraînement pour avoir une idée des décisions que vous devez prendre.

Un organigramme montrant les tâches avant l'entraînement et les SageMaker fonctionnalités associées

Pendant l'entraînement

Pendant l'entraînement, vous devez continuellement améliorer la stabilité, la vitesse et l'efficacité de l'entraînement tout en mettant à l'échelle les ressources informatiques, l'optimisation des coûts et, surtout, les performances des modèles. Lisez la suite pour plus d'informations sur les étapes de formation et les fonctionnalités de SageMaker formation pertinentes.

Un organigramme montrant les tâches pendant l'entraînement et les SageMaker fonctionnalités associées
  • Configuration de l'infrastructure : choisissez le type d'instance et les outils de gestion d'infrastructure adaptés à votre cas d'utilisation. Vous pouvez démarrer à partir d'une petite instance et l'augmenter en fonction de votre charge de travail. Pour entraîner un modèle sur un jeu de données tabulaire, commencez par la plus petite instance de CPU des familles d'instances C4 ou C5. Pour entraîner un modèle de grande taille pour la vision par ordinateur ou le traitement du langage naturel, commencez par la plus petite instance de GPU des familles d'instances P2, P3, G4dn ou G5. Vous pouvez également mélanger différents types d'instances dans un cluster ou conserver des instances dans des pools chauds à l'aide des outils de gestion d'instances suivants proposés par SageMaker. Vous pouvez également utiliser le cache permanent pour réduire la latence et le temps facturable des tâches d'entraînement itératives par rapport à la réduction de latence due uniquement aux groupes d'instances pré-initialisées. Pour en savoir plus, consultez les rubriques suivantes.

    Vous devez disposer d'un quota suffisant pour exécuter une tâche d'entraînement. Si vous exécutez votre tâche d'entraînement sur une instance dont le quota est insuffisant, vous recevrez un message d'erreur ResourceLimitExceeded. Pour vérifier les quotas actuellement disponibles sur votre compte, utilisez votre console Service Quotas. Pour découvrir comment demander une augmentation de quota, consultez Régions et quotas pris en charge. En outre, pour trouver des informations sur les prix et les types d'instances disponibles en fonction de la Régions AWS, consultez les tableaux sur la page de SageMaker tarification d'Amazon.

  • Exécuter une tâche de formation à partir d'un code local : vous pouvez annoter votre code local à l'aide d'un décorateur à distance pour exécuter votre code en tant que tâche de SageMaker formation depuis Amazon SageMaker Studio Classic, un SageMaker bloc-notes Amazon ou depuis votre environnement de développement intégré local. Pour plus d’informations, consultez Exécutez votre code local comme tâche SageMaker de formation.

  • Suivez les tâches de formation : surveillez et suivez vos tâches de formation à l'aide d' SageMaker Experiments, SageMaker Debugger ou Amazon. CloudWatch Vous pouvez suivre les performances du modèle en termes de précision et de convergence, et effectuer une analyse comparative des métriques entre plusieurs tâches de formation à l'aide d' SageMakerexpériences. Vous pouvez suivre le taux d'utilisation des ressources de calcul en utilisant les outils de profilage de SageMaker Debugger ou Amazon. CloudWatch Pour en savoir plus, consultez les rubriques suivantes.

    En outre, pour les tâches de deep learning, utilisez les outils de débogage des modèles Amazon SageMaker Debugger et les règles intégrées pour identifier les problèmes plus complexes liés aux processus de convergence des modèles et de mise à jour du poids.

  • Formation distribuée : si votre poste de formation entre dans une phase stable sans interruption en raison d'une mauvaise configuration de l'infrastructure de formation ou de out-of-memory problèmes, vous souhaiterez peut-être trouver d'autres options pour adapter votre travail et l'exécuter sur une période prolongée de plusieurs jours, voire des mois. Lorsque vous serez prêt à passer à l'échelle supérieure, pensez à la formation distribuée. SageMaker propose diverses options de calcul distribué, qu'il s'agisse de charges de travail ML légères ou de lourdes charges de travail de deep learning.

    Pour les tâches de deep learning qui impliquent l'entraînement de très grands modèles sur de très grands ensembles de données, envisagez d'utiliser l'une des stratégies de formation SageMaker distribuée pour augmenter l'échelle et atteindre le parallélisme des données, le parallélisme des modèles ou une combinaison des deux. Vous pouvez également utiliser SageMaker Training Compiler pour compiler et optimiser les graphiques du modèle sur les instances de GPU. Ces SageMaker fonctionnalités prennent en charge les frameworks d'apprentissage en profondeur tels que PyTorch, TensorFlow, et Hugging Face Transformers.

  • Réglage des hyperparamètres du modèle : Réglez les hyperparamètres de votre modèle à l'aide du réglage automatique du modèle avec. SageMaker SageMaker fournit des méthodes de réglage des hyperparamètres telles que la recherche par grille et la recherche bayésienne, en lançant des tâches de réglage d'hyperparamètres parallèles avec une fonctionnalité d'arrêt anticipé pour les tâches de réglage d'hyperparamètres non améliorantes.

  • Point de contrôle et réduction des coûts grâce aux instances Spot : si la durée d'entraînement n'est pas une préoccupation majeure, vous pouvez envisager d'optimiser les coûts d'entraînement des modèles avec des instances Spot gérées. Notez que vous devez activer le point de contrôle pour l'entraînement Spot afin de poursuivre le rétablissement après des interruptions de tâches intermittentes dues au remplacement d'instances Spot. Vous pouvez également utiliser la fonctionnalité de point de contrôle pour sauvegarder vos modèles en cas de résiliation imprévue d'une tâche d'entraînement. Pour en savoir plus, consultez les rubriques suivantes.

Après l'entraînement

Après l'entraînement, vous obtenez un artefact de modèle final à utiliser pour le déploiement et l'inférence du modèle. Des actions supplémentaires sont impliquées dans la phase de post-entraînement, comme le montre le diagramme suivant.

Un organigramme montrant les tâches après l'entraînement et les SageMaker fonctionnalités associées
  • Obtention du modèle de référence : une fois que vous avez l'artefact du modèle, vous pouvez le définir comme modèle de référence. Pensez aux actions suivantes après la formation et à l'utilisation SageMaker des fonctionnalités avant de passer au déploiement du modèle en production.

  • Examinez les performances du modèle et vérifiez l'absence de biais : utilisez Amazon CloudWatch Metrics et SageMaker Clarify pour détecter les biais après l'entraînement afin de détecter tout biais dans les données entrantes et modélisez au fil du temps par rapport à la base de référence. Vous devez évaluer vos nouvelles données et prédictions de modèle par rapport aux nouvelles données régulièrement ou en temps réel. Grâce à ces fonctionnalités, vous pouvez recevoir des alertes en cas de modifications ou d'anomalies graves, ainsi que de modifications ou de dérives graduelles des données et du modèle.

  • Vous pouvez également utiliser la fonctionnalité d'entraînement incrémental de SageMaker pour charger et mettre à jour votre modèle (ou affiner) avec un ensemble de données étendu.

  • Vous pouvez enregistrer la formation des modèles en tant qu'étape de votre SageMakerpipeline ou dans le cadre d'autres fonctionnalités de flux de travail proposées par SageMaker afin d'orchestrer le cycle de vie complet du machine learning.