Qu’est-ce qu’un pipeline de machine learning ?

Auteurs

Ivan Belcic

Staff writer

Cole Stryker

Staff Editor, AI Models

IBM Think

Qu’est-ce qu’un pipeline de ML ?

Un machine learning pipeline (pipeline de ML) est le processus systématique de conception, de développement et de déploiement d’un modèle de machine learning. Les pipelines ML ou workflows ML suivent une série d’étapes qui guident les développeurs et les chefs d’entreprise vers un développement de modèles plus efficace.

Le pipeline de machine learning de bout en bout comprend trois étapes : 

  1. Traitement de données : les data scientists assemblent et préparent les données qui seront utilisées pour entraîner le modèle de ML. Les phases de cette étape comprennent la collecte des données, le prétraitement, le nettoyage et l’exploration. 

  2. Développement de modèles : les praticiens des données choisissent ou créent un algorithme de machine learning qui répond aux besoins du projet. L'algorithme est entraîné sur les données de l'étape précédente, et le modèle qui en résulte est testé et validé jusqu'à ce qu'il soit prêt à être utilisé. 

  3. Déploiement du modèle : les développeurs et les ingénieurs logiciels déploient le modèle pour une utilisation réelle, en l’intégrant dans un environnement de production et en surveillant ses performances. 

Les workflows de machine learning sont un élément de base essentiel de la discipline plus large des opérations de machine learning (MLOps). Une grande partie du processus peut être automatisée à travers diverses techniques de machine learning (AutoML) qui gèrent les dépendances entre les étapes et les points de terminaison. 

Quelle est la différence entre un pipeline de données et un pipeline de ML ? 

Un pipeline de données est une architecture conçue et construite par des data scientists qui collecte des données provenant de différentes sources, puis les magasin et les organise dans un référentiel de données centralisé, tel qu’un entrepôt de données. Un pipeline de machine learning est un workflow dédié à la conception, à la construction et au déploiement d’un système d’IA. 

Les deux expressions utilisent le terme pipeline, mais tandis qu’un pipeline de données est plus un système tangible, un pipeline de ML est une série théorique d’étapes. Un pipeline ETL est un exemple de pipeline de données qui extrait des données à partir de diverses sources, les transforme dans un format unifié et les charge dans un système de destination. Dans le machine learning, un pipeline ETL recueillerait des données et les formaterait dans un jeu de données de formation.

Les dernières tendances en matière d’IA, vues par des experts

Obtenez des informations sur les actualités les plus importantes et les plus intrigantes en matière d’intelligence artificielle. Abonnez-vous à notre newsletter hebdomadaire Think. Lire la Déclaration de confidentialité d’IBM.

Merci ! Vous êtes abonné(e).

Vous recevrez votre abonnement en anglais. Vous trouverez un lien de désabonnement dans chaque newsletter. Vous pouvez gérer vos abonnements ou vous désabonner ici. Consultez la Déclaration de confidentialité d’IBM pour plus d’informations.

Étape 0 : démarrage du projet

Avant d'initialiser un workflow de ML, les chefs d'entreprise, les développeurs et les autres parties prenantes s'accordent sur les objectifs d'un projet de machine learning. Comprendre pourquoi l'IA est nécessaire et ce qu'elle est censée accomplir permet de garder les attentes réalistes et d'aligner les parties prenantes autour d'un objectif commun.

    Quel est l'objectif ?

    Lorsqu'elles décident d'intégrer l'IA dans un workflow ou un produit, les parties prenantes doivent d'abord identifier l'objectif commercial que le modèle de ML est censé résoudre, puis démontrer comment l'IA peut l'atteindre. Certaines entreprises abordent l’IA avec cette logique inverse : « Nous voulons utiliser l’IA. Que devons-nous en faire ? » 

    Pour maximiser le retour sur investissement (ROI) de l’IA, les dirigeants doivent comprendre le cas d’utilisation, puis travailler à la mise en place d’une solution de ML adaptée à cet usage.

    À quoi ressemble la réussite ?

    Des indicateurs clairs de réussite, tels que des KPI (indicateurs clés de performance) documentés, indiquent aux parties prenantes si le projet de ML atteint ses objectifs. Ces KPI doivent refléter les objectifs définis lors de l’étape précédente. Par exemple, un modèle ML déployé pour accroître l’efficacité peut chercher à donner la priorité au ROI.

    Qu'est-ce qui fait obstacle ?

    Connaître l’environnement de risque et les bloqueurs potentiels aide les équipes à naviguer efficacement dans le projet. Cette étape consiste notamment à définir les exigences en matière de données et à évaluer les réglementations pertinentes, le cas échéant, pour la collecte et le stockage des données. Il en va de même pour toutes les limitations susceptibles d’affecter la sélection du modèle, telles que les exigences en matière de calcul ou de mémoire.

    AI Academy

    Devenir un expert en IA

    Obtenez les connaissances nécessaires pour privilégier les investissements dans l’IA qui favorisent la croissance commerciale. Lancez-vous dès aujourd’hui avec notre AI Academy gratuite et menez l’avenir de l’IA au sein de votre organisation.

    Étape 1 : traitement de données

    Une fois l’identification du problème à résoudre par le modèle de ML, la première étape d’un workflow de ML consiste à collecter, préparer et analyser les données. Les praticiens doivent identifier les sources de données pertinentes, collecter et intégrer les données à partir de celles-ci, préparer et nettoyer les données, en utilisant des techniques de science des données, notamment l'ingénierie de fonctionnalité pour obtenir un ensemble de données prédéfini. 

    L'étape de traitement de données est généralement la plus chronophage. Toutefois, la performance des modèles de ML dépend de la qualité des données. Les erreurs et oublis au cours de la phase d’ingénierie des données affectent négativement la performance du modèle tout au long de son cycle de vie. Les stratégies d’automatisation des données peuvent réduire le temps et les efforts humains nécessaires pour produire des jeux de données d’apprentissage solides. 

    Le traitement de données comprend : 

    • Ingestion de données 

    • Prétraitement des données

    • Exploration des données 

    • Ingénierie des caractéristiques 

    • Fractionnement des données 

      Ingestion de données

      L’ingestion de données consiste à collecter et à importer des données provenant de sources de données disparates dans un référentiel de données centralisé via un pipeline de données. Les data scientists doivent identifier les sources de données appropriées, telles que le magasin de données stocké en interne (rapports de vente, données démographiques des clients et autres connaissances organisationnelles). 

      Parfois, des données externes sont également nécessaires. Les sources de données externes peuvent inclure des connexions API aux fournisseurs de données, des données extraites d’Internet ou des données synthétiques. Étant donné que de nouvelles données sont créées en permanence, l'ingestion des données est souvent un processus continu.

      Prétraitement des données

      Le prétraitement des données, ou préparation des données, transforme les données brutes de l’étape précédente en données propres prêtes à être analysées. Après avoir acquis une compréhension des données d’entraînement grâce à l’analyse exploratoire des données (EDA), les data scientists sélectionnent des stratégies de prétraitement des données. Les étapes de prétraitement des données incluent : 

      • Identifier les valeurs manquantes et traiter les données aberrantes

      • Normalisation des données : standardiser le jeu de données

      • Débruitage : suppression des erreurs aléatoires et des interférences de signaux 

      Exploration des données

      L’exploration des données est le processus d’évaluation des données pour comprendre les informations qu’elles contiennent. L’EDA vise à apprendre les caractéristiques des données, à découvrir des schémas et des relations et à identifier des informations à l’aide d’outils de visualisation des données. 

      Les conclusions de l’EDA éclairent les choix de modèle à suivre.

      Ingénierie des caractéristiques

      La sélection des fonctionnalités est une étape critique du prétraitement des données qui consiste à identifier les fonctionnalités les plus pertinentes des points de données. Les fonctionnalités des données sont extraites et sélectionnées, ce qui donne au modèle les meilleures chances de résoudre des défis du monde réel. 

      Si l’on se concentre sur les mauvaises fonctionnalités, le modèle peut ne pas fonctionner comme prévu. Après avoir appliqué des techniques d’extraction de fonctionnalités pour rationaliser les données, les data scientists choisissent les fonctionnalités qui conduiront aux prédictions de modèle les plus solides.

      Étape 2 : développement du modèle

      Une fois les données d’entraînement préparées, l’étape suivante dans le workflow de ML est de créer le modèle de machine learning. La création d’un modèle d'apprentissage profond implique de sélectionner un algorithme de machine learning approprié et de l’exposer aux jeux de données d’entraînement. Les résultats de ce processus est la création d’un modèle IA prêt à être utilisé dans le monde réel avec des données similaires non vues. 

      Le processus de développement du modèle implique : 

      • Sélection du modèle 

      • Réglage des hyperparamètres 

      • Entraînement du modèle

      • Évaluation du modèle

      Sélection du modèle

      La sélection d’un modèle consiste à choisir le type de modèle le plus susceptible d’offrir les meilleures performances dans le cas d’utilisation prévu. Les premières étapes de planification du projet ont déjà donné à toutes les parties prenantes et à tous les participants une compréhension claire des besoins métier, des limites et des objectifs du projet. Les praticiens du ML fondent leurs choix sur ces facteurs, équilibrant optimisation et faisabilité. 

      Vous avez le choix entre régression linéaire et régression logistique, forêts d’arbres décisionnels et arbres de décision, réseaux neuronaux et grands modèles de langage (LLM), machines à vecteurs de support (SVM), modèles d’ensemble, systèmes agentiques et bien d’autres. 

      Selon la nature du défi du machine learning, certains types d’algorithmes constituent des candidats plus appropriés. 

      Par exemple, les réseaux neuronaux peuvent relever les défis complexes de IA générative mais impliquent des coûts de calcul élevés et sont plus sujets à surajustement. Les modèles de régression sont efficaces en termes de calcul, mais leurs cas d’utilisation sont limités.

      Réglage des hyperparamètres

      Les hyperparamètres du modèle sont des variables externes qui contrôlent le comportement du modèle pendant l’entraînement. Les hyperparamètres régissent également la forme du modèle construit par l’algorithme, comme le nombre de neurones et de couches dans un réseau de neurones. 

      Le réglage des hyperparamètres consiste à optimiser les hyperparamètres afin que le processus d’entraînement produise un modèle le plus performant. Les data scientists peuvent définir les hyperparamètres manuellement, mais ils automatisent généralement le processus via divers algorithmes et autres techniques.

      Entraînement des modèles

      L'entraînement de modèle est le processus d'optimisation de la performance d'un modèle avec des jeux de données d'entraînement similaires aux données d'entrée que le modèle traite une fois déployé. Un pipeline d’entraînement de machine learning est un système étendu qui peut prendre un certain nombre de formes en fonction de l’algorithme et de la tâche pour laquelle le modèle est développé. 

      De nombreuses méthodes d’entraînement consistent à minimiser une fonction de perte qui mesure l’erreur du modèle : l’écart entre les sorties du modèle et les valeurs de données réelles. À chaque cycle d’entraînement, le nouveau modèle met à jour ses paramètres au fur et à mesure qu’il se rapproche des données d’entraînement. Chaque mise à jour itère sur les résultats précédents. 

      Les méthodes d’entraînement des modèles incluent : 

      • Apprentissage supervisé : le modèle est entraîné sur un jeu de données structurées. Les entrées sont étiquetées avec les productions correspondantes, apprenant au modèle à associer les fonctionnalités d’entrée avec les valeurs de production correctes. 

      • Apprentissage non supervisé : le modèle est entraîné sur des données non structurées et doit discerner les modèles et les relations entre les points de données et les fonctionnalités par lui-même. 

      • Apprentissage semi-supervisé : le modèle est entraîné dans une méthode hybride qui combine l’apprentissage supervisé et l’apprentissage non supervisé. 

      • Apprentissage auto-supervisé : le modèle est entraîné avec des données non étiquetées pour des tâches qui nécessitent généralement un apprentissage supervisé. 

      • Apprentissage par renforcement : le modèle est entraîné pour effectuer les actions qui génèrent la plus grande récompense possible, plutôt que de minimiser les erreurs. 

      • Apprentissage continu : le modèle est entraîné sur un flux d'entrée en temps réel, et non sur un jeu de données d'entraînement pré-assemblé.

      Évaluation du modèle

      Une fois que le modèle est jugé entraîné, par exemple lorsque sa fonction de perte a été suffisamment réduite, sa performance est évaluée avant le déploiement. Le processus d’évaluation des LLM utilise les jeux de données de test et de validation qui ont été préparés lors de la phase de fractionnement des données.

      Validation

      La validation estime l’erreur de prédiction du modèle : quelle est sa capacité à faire les prédictions correctes ? Pendant l’entraînement, l’algorithme de machine learning génère souvent plusieurs modèles avec diverses configurations d’hyperparamètres. La validation identifie le modèle avec la configuration optimale des hyperparamètres.

      Tests

      Les tests simulent des valeurs réelles pour évaluer l’erreur de généralisation du modèle le plus performant : dans quelle mesure le modèle s’adapte-t-il aux nouvelles données invisibles ? Les données de test sont indépendantes des données d’entraînement et servent de référence au modèle une fois l’entraînement terminé. Les tests révèlent si le modèle fonctionnera comme prévu après qu'il est déployé.

      Étape 3 : déploiement du modèle

      Après avoir développé un modèle adapté avec une forte performance, il est temps de le mettre à profit. Le déploiement de modèles fournit le modèle aux utilisateurs dans l'environnement de production prévu. Il peut s’agir d’une application mobile, d’une connexion API ou encore d’une installation de développement pharmaceutique ou de recherche robotique. 

      Les modèles ne commencent à fonctionner que lorsqu’ils sont activement déployés. Obtenir de forts résultats à partir d'un projet de machine learning signifie que le modèle doit être déployé de manière à ce qu'il soit facile à utiliser, que ce soit par les consommateurs, les dirigeants d'entreprise ou d'autres systèmes informatiques. 

      Le déploiement du modèle comprend : 

      • Sérialisation des modèles 

      • Intégration 

      • Architecture 

      • Contrôle 

      • Mises à jour 

      • Conformité

      Sérialisation du modèle 

      La sérialisation est une méthode de déploiement qui implique la conversion d'un modèle dans un format pouvant être stocké et transmis, puis la désérialisation dans l'environnement de production. C’est comme emballer une pièce pleine d’objets, déplacer la boîte dans une nouvelle maison, puis décompresser pour aménager la nouvelle pièce. 

      Par exemple, Python, un langage de codage populaire pour le développement ML, recommande le cadre des exigences pickle pour le déploiement.

      Intégration

      L’intégration consiste à intégrer le modèle dans son environnement de production, tel qu’une application mobile. Les modèles peuvent être proposés par l’intermédiaire de fournisseurs de cloud computing comme AWS ou Azure, ou hébergés sur site. Il est également préférable d’utiliser une solution conteneurisée telle que Kubernetes et Docker. 

      En fonction de la manière dont le modèle sera servi, les développeurs doivent le rendre accessible avec les bibliothèques et le cadre des exigences appropriés, tels que PyTorch ou TensorFlow.

      Architecture

      La portabilité et l’évolutivité sont deux aspects majeurs à prendre en compte lors du déploiement du ML. 

      • La portabilité est la facilité avec laquelle le modèle peut être transféré entre les systèmes. 

      • L'évolutivité est la capacité du modèle à gérer des charges de travail croissantes, telles que l'augmentation du nombre d'utilisateurs, sans qu'il soit nécessaire de le remanier. 

      L'environnement de production du modèle doit être capable de prendre en charge la croissance prévue du projet de machine learning. Les outils d’auto-scaling et d’orchestration peuvent permettre de répondre à une demande accrue au fil du temps.

      Surveillance

      Le workflow de ML n'est pas terminé une fois que le modèle est déployé. Les performances du modèle doivent être surveillées au cours du cycle de vie de l’IA pour éviter la dérive du modèle, lorsque les performances sont affectées par des changements dans la distribution des données. De nombreux autres indicateurs concernent la capacité du modèle à générer et à traiter des tokens : une seule unité d’entrée ou de production. En voici quelques-uns : 

      • Temps par token de production (TPOT)/latence inter-token (ITL) : le temps nécessaire au modèle pour générer un token. 

      • Time to first token (TTFT) : le temps nécessaire à un modèle pour générer le premier token de sa réponse. 

      • Débit : une mesure de la capacité globale de génération de tokens du modèle, en tokens par seconde (TPS). 

      • Latence : le temps nécessaire au modèle pour générer une sortie complète après la réception d’une entrée utilisateur.

      Mises à jour

      Sauf si un modèle est entraîné avec un apprentissage continu, son jeu de données d’entraînement est limité. La limite de connaissances d’un modèle fait référence à la dernière date à laquelle sa base de connaissances a été mise à jour avec de nouvelles données. Au fil du temps, un modèle devient moins pertinent à mesure que les informations contenues dans la base de connaissances deviennent de plus en plus anciennes. 

      Les modèles doivent être régulièrement mis à jour pour atténuer la dérive des modèles et maintenir les taux d’erreur à un minimum acceptable. Les nouvelles données, les nouvelles fonctionnalités et les mises à jour algorithmiques peuvent optimiser les performances des modèles. Le ré-entraînement peut également aider les modèles à rester à jour.

      Conformité

      En ce qui concerne la collecte des données, les opérateurs de modèles doivent prendre en compte toutes les réglementations et exigences légales pertinentes relatives à la confidentialité, à la propriété intellectuelle, aux droits d'auteur et autres préoccupations. Par exemple, la loi HIPAA protège les données médicales aux États-Unis, tandis que la loi RGPD offre des protections spécifiques aux données des personnes dans l'Union européenne. 

      Les modèles conçus pour être utilisés dans des secteurs réglementés, tels que les produits pharmaceutiques et la finance, peuvent également être soumis à des contrôles opérationnels plus stricts. Tous les modèles utilisés dans un environnement d’entreprise traitent probablement des données internes sensibles, ce qui nécessite des mesures de cybersécurité strictes. 

      Les opérateurs de modèles ont l’obligation de protéger les données des utilisateurs et d’empêcher que leurs modèles ne soient utilisés à des fins malveillantes, telles que la fraude et la fausse information. L’un des avantages des modèles open source, c’est que n’importe qui peut évaluer le modèle pour voir comment il fonctionne et s’il est conforme aux réglementations pertinentes.

      Avantages du workflow de machine learning

      Les pipelines de machine learning présentent de nombreux avantages. En voici quelques-uns : 

      • Modularisation 

      • Reproductibilité

      • Efficacité 

      • Évolutivité

      • Expérimentation 

      • Déploiement 

      • Collaboration 

      • Contrôle des versions et documentation

      Modularisation

      Les pipelines décomposent le processus de machine learning en étapes modulaires bien définies. Chaque étape peut être développée, testée et optimisée indépendamment, ce qui facilite la gestion et la maintenance du workflow.

      Reproductibilité

      Les pipelines de machine learning facilitent la reproduction des expériences. La définition de la séquence des étapes et de leurs paramètres dans un pipeline permet de garantir des résultats cohérents. Si une étape échoue ou si les performances d’un modèle se détériorent, le pipeline peut être configuré pour envoyer des alertes ou appliquer des mesures correctives.

      Efficacité

      Les pipelines automatisent de nombreuses tâches de routine, comme le prétraitement des données, l’ingénierie de fonctionnalité et l’évaluation des modèles. Cette efficacité permet de gagner du temps et de réduire les erreurs.

      Évolutivité

      Les pipelines peuvent être redimensionnés pour gérer de grands jeux de données ou des workflows complexes. Au fur et à mesure que les données et les modèles deviennent plus complexes, vous pouvez ajuster le pipeline sans avoir à tout reconfigurer de zéro.

      Expérimentation

      La modification des étapes individuelles du pipeline ouvre la voie à l’expérimentation de différentes techniques de prétraitement des données, de sélections de fonctionnalités et de modèles. Cette flexibilité accélère les itérations et les optimisations.

      Déploiement

      Les pipelines facilitent le déploiement de modèles de machine learning en production. Un pipeline bien défini pour l’entraînement et l’évaluation des modèles facilite le déploiement dans une application ou un système.

      Collaboration

      Les pipelines permettent aux équipes de data scientists et d’ingénieurs de collaborer. Puisque le workflow est structuré et documenté, il est plus facile pour les membres de l’équipe de comprendre le projet et d’y contribuer.

      Contrôle des versions et documentation

      Les systèmes de contrôle des versions suivent les modifications apportées au code et aux configurations du pipeline, ce qui permet de revenir aux versions précédentes. Un pipeline bien structuré permet de mieux documenter chaque étape.

      L’histoire des pipelines de machine learning

      L’histoire des pipelines de machine learning est étroitement liée à l’évolution des domaines du machine learning et de la science des données. Si le concept de workflows de traitement des données est antérieur au machine learning, la formalisation et l’utilisation généralisée de ces pipelines tels que nous les connaissons aujourd’hui se sont développées plus récemment. 

      Voici l’historique des pipelines de machine learning : 

      • Les premiers workflows de traitement de données (avant les années 2000) 

      • L'émergence du machine learning (années 2000) 

      • L’essor de la science des données (de la fin des années 2000 au début des années 2010) 

      • Le développement de bibliothèques et d’outils de machine learning (années 2010) 

      • L’essor de l’AutoML (années 2010) 

      • Intégration avec les DevOps (années 2010) 

      Les premiers workflows de traitement des données (avant les années 2000)

      Avant l’adoption généralisée du machine learning, les workflows de traitement des données étaient utilisés pour des tâches telles que le nettoyage, la transformation et l’analyse des données. Ces workflows sont généralement manuels et impliquent l’écriture de scripts ou l’utilisation d’outils de type tableurs. Cependant, le machine learning n’est pas une composante centrale de ces processus à cette époque.

      L'émergence du machine learning (années 2000)

      Le machine learning a gagné en popularité au début des années 2000 grâce aux améliorations des algorithmes, de la puissance de calcul et de la disponibilité de grands jeux de données. Les chercheurs et les data scientists commencent à appliquer le machine learning à divers domaines, entraînant un besoin croissant de workflows systématiques et automatisés.

      L’essor de la science des données (de la fin des années 2000 au début des années 2010)

      Le terme science des données est devenu un domaine multidisciplinaire combinant statistiques, analyse des données et machine learning. Cette époque voit naître la formalisation des workflows de science des données, notamment le prétraitement des données, ainsi que la sélection et l’évaluation des modèles, qui font désormais partie intégrante des pipelines de machine learning.

      Le développement de bibliothèques et d’outils de machine learning (années 2010)

      Les années 2010 laissent place au développement de bibliothèques et d’outils de machine learning qui facilitent la création de pipelines. Des bibliothèques comme scikit-learn (pour Python) et caret (pour R) proposent des API standardisées pour la création et l’évaluation des modèles de machine learning, facilitant ainsi la construction de pipelines.

      Rise of AutoML (années 2010)

      Des outils et des plateformes de machine learning automatisé (AutoML) sont apparus pour automatiser le processus de création des pipelines de machine learning. Ces outils automatisent généralement des tâches telles que l’ajustement des hyperparamètres, la sélection des caractéristiques et la sélection des modèles, rendant le machine learning plus accessible aux non-spécialistes grâce à des visualisations et à des tutoriels.

      Intégration avec les DevOps (années 2010)

      Les pratiques DevOps ont commencé à intégrer des pipelines de machine learning pour permettre l’intégration et le déploiement continus (CI/CD) des modèles de machine learning. Cette intégration, connue sous le nom d'opérations de machine learning (MLOps), met en évidence les besoins en matière de reproductibilité, de contrôle des versions et de surveillance dans les pipelines de ML. 

      MLOps aide les équipes de science des données à relever efficacement les défis complexes liés à l’orchestration de l’IA. Avec un déploiement en temps réel, le pipeline répond à une requête en quelques millisecondes.

      Solutions connexes
      IBM watsonx.ai

      Entraînez, validez, réglez et déployez une IA générative, des modèles de fondation et des capacités de machine learning avec IBM watsonx.ai, un studio d’entreprise nouvelle génération pour les générateurs d’IA. Créez des applications d’IA en peu de temps et avec moins de données.

      Découvrir watsonx.ai
      Solutions d’intelligence artificielle

      Mettez l’IA au service de votre entreprise en vous appuyant sur l’expertise de pointe d’IBM dans le domaine de l’IA et sur son portefeuille de solutions.

      Découvrir les solutions d’IA
      Conseils et services en matière d’IA

      Réinventez les workflows et les opérations critiques en ajoutant l’IA pour optimiser les expériences, la prise de décision et la valeur métier en temps réel.

      Découvrir les services d’IA
      Passez à l’étape suivante

      Bénéficiez d’un accès centralisé aux fonctionnalités couvrant le cycle de développement de l’IA. Produisez des solutions IA puissantes offrant des interfaces conviviales, des workflows et un accès à des API et SDK conformes aux normes du secteur.

      Découvrir watsonx.ai Réserver une démo en direct