Automatisez vos flux de travail IA/ML avec SageMaker Pipelines
Table des matières
- Introduction
- Les bases des pipelines de ML
- Les modèles individuels (MLops 1.0)
- Les pipelines de modèles (MLops 2.0)
- Déclenchement automatique des pipelines (MLops 3.0)
- Utilisation de déclencheurs statistiques (MLops 4.0)
- Comment commencer avec les pipelines de ML
- Création des pipelines de bout en bout
- Mise en œuvre du déclenchement automatique des pipelines
- Exemple de code : Création d'un pipeline de classification de texte avec SageMaker Pipelines
- Étape de prétraitement des données
- Étape d'entraînement du modèle
- Étape d'évaluation du modèle
- Étape d'enregistrement et de déploiement du modèle
- Conclusion
Introduction
Dans cet article, nous allons découvrir les pipelines de machine learning (ML) et comment les automatiser à l'Aide de SageMaker Pipelines. Les pipelines de ML permettent de simplifier et de rationaliser le processus de développement, de formation et de déploiement de modèles de ML. Nous examinerons les différentes versions de MLops, des modèles individuels aux pipelines automatisés en passant par les déclencheurs statistiques pour la réévaluation des modèles. Ensuite, nous plongerons dans un exemple concret de création d'un pipeline de classification de texte à l'aide de SageMaker Pipelines. Alors, commençons !
Les bases des pipelines de ML
Avant de plonger dans les détails de l'automatisation des pipelines de ML, il est important de comprendre les bases de ces pipelines et comment ils ont évolué au fil du temps. Voici un aperçu des différentes versions de MLops :
Les modèles individuels (MLops 1.0)
Lorsque nous construisons manuellement des modèles de ML, nous travaillons sur des modèles individuels. Cela signifie que nous construisons, ajustons et déployons chaque modèle individuellement. Cela peut être un processus fastidieux et sujet aux erreurs. Cependant, cela fonctionne bien pour les cas d'utilisation simples où nous n'avons pas besoin d'automatisation.
Les pipelines de modèles (MLops 2.0)
Lorsque nous passons des modèles individuels à la construction et à l'orchestration de pipelines de modèles, nous passons à la version MLops 2.0. Dans cette version, nous créons des pipelines qui automatisent les étapes de prétraitement des données, d'entraînement des modèles et de déploiement des modèles. Cela permet d'accélérer le processus de développement des modèles et de réduire les erreurs potentielles.
Déclenchement automatique des pipelines (MLops 3.0)
Dans la version MLops 3.0, nous pouvons automatiser l'exécution des pipelines en utilisant des déclencheurs tels que les nouveaux commits de code ou l'arrivée de nouvelles données. Cela permet d'exécuter automatiquement de nouveaux pipelines chaque fois que des modifications de code sont apportées ou que de nouvelles données sont disponibles. Cela réduit considérablement l'effort manuel requis pour exécuter et gérer les pipelines.
Utilisation de déclencheurs statistiques (MLops 4.0)
Dans la version MLops 4.0, nous utilisons des déclencheurs statistiques pour réévaluer nos modèles de ML. Ces déclencheurs peuvent détecter des changements tels qu'un décalage covariable, un décalage d'étiquette ou un décalage conceptuel dans le modèle. Ils peuvent également vérifier les métriques liées aux biais et réévaluer le modèle en cas de dérive. Cela garantit que nos modèles sont toujours à jour et performants, même lorsque les données d'entrée changent.
Comment commencer avec les pipelines de ML
Maintenant que nous avons une compréhension générale des pipelines de ML, nous allons voir comment commencer à les utiliser. Tout d'abord, nous devons créer des pipelines de bout en bout qui automatisent toutes les étapes de notre processus de ML, de la préparation des données au déploiement des modèles. Ensuite, nous pouvons mettre en œuvre le déclenchement automatique des pipelines en utilisant des déclencheurs tels que les commits de code. Cela nous permet de réexécuter automatiquement les pipelines chaque fois que des modifications sont apportées à notre code.
Exemple de code : Création d'un pipeline de classification de texte avec SageMaker Pipelines
Pour illustrer l'utilisation de SageMaker Pipelines pour créer des pipelines de ML, nous allons travailler sur un exemple concret de classification de texte. Dans cet exemple, nous allons utiliser un modèle de classification de texte pré-entraîné pour classer les avis clients d'Amazon en fonction de leur satisfaction. Voici les étapes clés de notre pipeline :
Étape de prétraitement des données
Dans cette étape, nous allons effectuer le prétraitement des données en convertissant le texte brut des avis en embeddings de mots spécifiques au modèle. Nous allons également diviser les données en ensembles d'entraînement, de validation et de test, et les enregistrer dans un format optimisé pour l'entraînement.
Étape d'entraînement du modèle
Dans cette étape, nous allons entraîner le modèle en utilisant l'ensemble d'entraînement pré-traité. Nous allons ajuster les hyperparamètres du modèle, tels que le nombre d'époques, le taux d'apprentissage et la taille du batch, pour obtenir les meilleurs résultats possibles.
Étape d'évaluation du modèle
Dans cette étape, nous allons évaluer les performances du modèle en calculant des métriques telles que la matrice de confusion et l'exactitude. Nous allons comparer ces métriques à un seuil prédéfini et prendre une décision pour la suite du pipeline en fonction du résultat.
Étape d'enregistrement et de déploiement du modèle
Si le modèle atteint ou dépasse le seuil défini, nous allons l'enregistrer dans le registre des modèles et le déployer dans notre compte AWS. Cela nous permettra d'utiliser le modèle entraîné pour effectuer des prédictions sur de nouveaux textes.
Conclusion
Dans cet article, nous avons exploré les pipelines de machine learning et leur automatisation à l'aide de SageMaker Pipelines. Nous avons vu comment les pipelines de ML ont évolué au fil du temps, passant des modèles individuels aux pipelines automatisés et à l'utilisation de déclencheurs statistiques pour la réévaluation des modèles. Nous avons également appris comment commencer avec les pipelines de ML en créant des pipelines de bout en bout et en mettant en œuvre le déclenchement automatique des pipelines. Enfin, nous avons examiné un exemple concret de création d'un pipeline de classification de texte avec SageMaker Pipelines. Maintenant, à vous de jouer ! Commencez à automatiser vos propres pipelines de ML et à accélérer votre processus de développement de modèles.