Aujourd’hui, trop de modèles de machine learning ne sont jamais déployés en production et restent confinés aux data labs. Comme dans tout domaine émergent, les bonnes pratiques, outils, techniques et rôles que les équipes data modernes doivent adopter manquent encore de maturité et de standardisation. Résultat : les entreprises peinent à tirer de la valeur du machine learning à grande échelle, et les data scientists restent bloqués au stade de l’expérimentation dans un notebook. Le MLOps (Machine Learning Operations) a émergé ces dernières années pour répondre précisément aux défis de déploiement rencontrés par les équipes data.
Tout est dans le nom : à l’image du DevOps qui a structuré un développement applicatif agile et rapide aligné sur les besoins métier, le MLOps vise à combler l’écart entre la complexité et le déploiement des modèles de machine learning.
Concrètement, comment le MLOps s’attaque-t-il à ces défis ? Dans cet article, nous démystifions les concepts clés du MLOps en tant que discipline émergente et répondons aux questions suivantes :
- Qu’est-ce que le MLOps et quels sont les composants essentiels d’une pratique MLOps réussie ?
- En quoi le MLOps diffère-t-il du DevOps ?
- Comment le MLOps réinvente-t-il le workflow de machine learning ?
- Comment commencer avec le MLOps dès aujourd’hui ?
Qu’est-ce que le MLOps ?
Alessya Visnjic, CEO de WhyLabs, une startup MLOps spécialisée dans la supervision des modèles, décrit très justement le MLOps comme un « ensemble d’outils, de pratiques, de techniques, ainsi qu’une culture et un état d’esprit qui garantissent le déploiement fiable et à l’échelle des systèmes de machine learning ».
Dans cette perspective, le MLOps s’appuie sur le DevOps, la pratique moderne consistant à concevoir, déployer et exécuter efficacement des applications d’entreprise. C’est un processus transversal, collaboratif et itératif qui industrialise la data science. Le MLOps traite le machine learning comme une discipline d’ingénierie, où les modèles sont considérés comme des artefacts logiciels réutilisables pouvant être déployés via un processus reproductible.
Le MLOps implique également une surveillance continue et un réentraînement des modèles en production afin d’assurer des performances optimales au fil des évolutions de la donnée, un phénomène connu sous le nom de dérive des données.
En bref, le MLOps permet aux équipes data d’amplifier la valeur qu’elles apportent en favorisant :
- Un déploiement plus rapide d’un plus grand nombre de modèles grâce à l’automatisation
- L’optimisation de la productivité via la collaboration et la réutilisation des modèles
- La réduction des risques et des coûts liés aux modèles qui n’aboutissent jamais en production
- La supervision et la mise à jour continues des modèles en cas de dérive des données
Pour revenir à la définition de Visnjic, tout cela nécessite à la fois des innovations outillées pour les équipes data modernes et un changement d’état d’esprit pour de nombreux data scientists.
Pourquoi le MLOps est-il important ?
Nous avons déjà vu comment le MLOps vise à résoudre les défis de déploiement auxquels font face nombre d’équipes data. Mais qu’est-ce qui rend le machine learning si spécifique qu’il requiert une fonction d’opérations dédiée comme le MLOps ?
Les applications de machine learning sont fondamentalement différentes des logiciels traditionnels. Voici quelques défis majeurs auxquels les organisations sont confrontées lors du passage en production de systèmes de machine learning.
- Responsabilités et collaboration : Traditionnellement, les data scientists conçoivent et développent les modèles de machine learning, tandis que les équipes IT se chargent de leur déploiement et de leur exploitation. Or, la collaboration entre ces deux équipes est souvent perfectible et source de frictions. Par exemple, les équipes data sont de plus en plus sollicitées par différentes entités métier pour résoudre un nombre croissant de problèmes. Vu la complexité des systèmes IT modernes, les data scientists accordent peu d’attention aux environnements de production et aux systèmes en place — car c’est le rôle de l’IT. De leur côté, les équipes IT se concentrent peu sur le fonctionnement interne des solutions produites par les data scientists — d’où des attentes irréalistes quant à la déployabilité de nombreux modèles. Cette dynamique crée des frictions et des antipatterns à éviter absolument — où les équipes data se contentent de penser « construisons un modèle, envoyons-le à l’IT et ils prendront le relais ».
- La donnée, facteur déterminant des logiciels dopés au machine learning : la donnée est le carburant des systèmes de machine learning. À l’inverse des logiciels classiques, où les ingénieurs conçoivent un processus maîtrisé qui transforme des entrées déterministes en sorties déterministes, les systèmes de machine learning s’appuient sur des méthodes statistiques qui ingèrent des données du monde réel, souvent bruitées, pour produire des prédictions. Leur comportement évolue donc avec la donnée. Évaluer les performances d’un modèle nécessite ainsi observation et analyse. Enfin, le workflow de machine learning est par nature exploratoire, expérimental et mobilise un ensemble de compétences différent de l’ingénierie logicielle traditionnelle.
- Complexité du déploiement : Les systèmes de modèles de machine learning gagnent en complexité. Contrairement au logiciel traditionnel, déployer des modèles implique l’orchestration de nombreuses étapes interconnectées et d’outils hétérogènes : collecte, stockage, transformation des données, feature engineering, etc. La reproductibilité et la gestion de versions sont aussi des défis majeurs. Étant donné la nature expérimentale du machine learning, les équipes conçoivent de multiples versions d’un même modèle à partir de différentes versions d’un même jeu de données — la gestion de versions doit donc être plus robuste.
MLOps vs DevOps — quelle différence ?
Nous venons d’expliquer pourquoi le machine learning a besoin d’une fonction d’opérations spécialisée. Mais en pratique, en quoi le MLOps diffère-t-il du DevOps ?
DevOps est la contraction de Development (Dev) et Operations (Ops). Il regroupe deux fonctions essentielles du département IT : le développement applicatif et l’ingénierie des systèmes. Le DevOps cherche à raccourcir les cycles de développement — et à augmenter le débit de livraison des équipes d’ingénierie logicielle — via l’automatisation, l’évolution des processus et des méthodes de travail. Plus largement, le DevOps introduit deux principes au processus de développement logiciel :
- Intégration continue (CI) — des itérations fréquentes et de petite taille vers les dépôts de version, ce qui réduit les problèmes de déploiement grâce à des mises en production régulières.
- Livraison continue (CD) — l’automatisation des étapes nécessaires pour livrer applications et logiciels dans les environnements de production.
Compte tenu des spécificités du machine learning, voici quelques différences concrètes entre MLOps et DevOps :
- Intégration continue étendue : au-delà des tests et validations du code, on teste et valide aussi les modèles et les données
- Livraison continue étendue : on automatise non seulement la livraison d’applications, mais aussi celle de pipelines de données déclenchant des prédictions de machine learning
- Entraînement continu introduit — spécifique au machine learning — où les modèles sont automatiquement réentraînés en vue du déploiement
- Supervision continue introduite — qui surveille la qualité des données en production, les performances des modèles et les indicateurs métiers liés au modèle
Le workflow MLOps
Réinventer le workflow data science pour le MLOps
Étant donné la complexité supplémentaire du passage en production des modèles, comment intégrer le MLOps dans les workflows de data science ? Voici une démarche simplifiée, étape par étape, d’un processus MLOps :
- Construction : Une fois les modèles créés, ils sont placés dans un référentiel traçable sous gestion de versions pour favoriser leur réutilisation à l’échelle de l’entreprise.
- Évaluation : La qualité des prédictions est quantifiée en mesurant les performances du nouveau modèle entraîné sur un jeu de données neuf et indépendant.
- Mise en production : Exporter, déployer et intégrer le modèle ou le pipeline dans les systèmes et applications de production.
- Tests : Les tests continus sont essentiels pour les applications basées sur le ML, avec réentraînement automatique et mise à disposition des modèles.
- Déploiement : Une supervision continue est nécessaire pour garantir des performances optimales. Le modèle peut être réentraîné ou remplacé à mesure que la donnée évolue.
- Supervision et observabilité : De nombreuses entreprises rencontrent des difficultés pour passer leurs modèles de machine learning en production.
Redéfinir les rôles data pour le MLOps
Dans les petites équipes, une même personne peut cumuler plusieurs rôles. Dans des équipes plus structurées, différentes fonctions et compétences se partagent les éléments du workflow MLOps. On peut distinguer :
- Data scientist : Acteur central de toute équipe MLOps, il exploite les données de l’entreprise pour créer de la valeur. Son rôle consiste à comprendre, structurer et interpréter la donnée afin de produire des insights sous forme de modèles prédictifs. Il crée, teste et évalue les modèles. Dans certaines entreprises, il déploie et surveille également leurs performances en production.
- Data engineer : Il conçoit et maintient l’environnement qui permet aux autres fonctions data de travailler. Il développe, construit, maintient et teste les architectures, telles que les bases de données et les systèmes de traitement. En bref, il permet la circulation de la donnée de l’extraction à la transformation, puis à la mise à disposition.
- Software engineer : Dans un processus MLOps, il intègre les modèles de machine learning aux applications et systèmes de l’entreprise. Il veille aussi à ce que les modèles fonctionnent sans heurts avec les applications non basées sur le machine learning.
- Machine learning engineer : À la croisée de la data science et du data engineering, il optimise et met en production les modèles développés par le data scientist au sein de l’infrastructure préparée par le data engineer.
Bien démarrer avec le MLOps
Comme évoqué, le MLOps reste un champ naissant, où outils, bonnes pratiques et méthodes continuent d’émerger. Voici différentes pistes pour vous lancer, des outils pour expérimenter et des ressources de formation à suivre dès maintenant.
Outils à considérer pour le MLOps
-
Kubeflow : Kubeflow est une suite d’outils pour exécuter des workflows de machine learning sur des clusters Kubernetes. Son objectif est de permettre aux meilleures solutions open source de machine learning de tourner sur Kubernetes de manière simple, portable et scalable. À l’origine, Kubeflow était l’implémentation open source de TensorFlow Extended (TFX), une plateforme de bout en bout pour déployer des pipelines de machine learning en production. Kubeflow a ainsi simplifié l’exécution de tâches TensorFlow sur KubernetesMLFlow : MLflow est un outil qui industrialise le cycle de développement de bout en bout des projets de machine learning. Son ambition est de simplifier le développement en entreprise en facilitant le suivi, la reproductibilité, la gestion et le déploiement des modèles.
-
Data Version Control (DVC) : DVC est un package Python qui facilite la gestion de vos projets de data science. Cet outil étend Git pour le machine learning, comme l’explique son principal contributeur Dmitry Petrov. DVC est à la fois comparable et complémentaire à Git.
-
Pachyderm : Pachyderm est un outil de gestion de versions pour le machine learning et la data science, similaire à DVC. Il s’appuie en plus sur Docker et Kubernetes, ce qui facilite l’exécution et le déploiement de projets ML sur n’importe quel cloud. Pachyderm garantit également que toutes les données ingérées par un modèle sont versionnées et traçables.
Ressources pour apprendre le MLOps
Fondamentaux du machine learning
- Machine Learning For Absolute Beginners: A Plain English Introduction (Second Edition) par Oliver Theobald. Comme son titre l’indique, ce livre propose une introduction complète au machine learning pour débutants — de vrais néophytes. Aucun prérequis en mathématiques ni en programmation. Le langage est simple, sans jargon obscur, et les algorithmes sont expliqués avec des exemples visuels. Quelques notions de code sont également introduites pour mieux contextualiser le machine learning.
- Machine Learning For Dummies par John Paul Mueller et Luca Massaron. Pour les novices, la collection « for dummies » reste une bonne porte d’entrée. Ce livre introduit les concepts et théories de base du machine learning et montre comment les appliquer au monde réel. Il présente les langages et outils essentiels, notamment Python et R, pour apprendre aux machines à détecter des motifs et analyser des résultats.
- Fundamentals of Machine Learning for Predictive Data Analytics: Algorithms, Worked Examples, and Case Studies par John D. Kelleher, Brian Mac Namee, et Aoife D'Arcy. Un panorama des notions fondamentales, mêlant théorie et applications. Avec des exemples concrets et études de cas pour ancrer les connaissances. Une base en analytics est recommandée. Chaque approche du machine learning est illustrée par des algorithmes, modèles et exemples pratiques.
- Machine Learning for Hackers par Drew Conway et John Myles White. Ici, « hackers » désigne des programmeurs orientés projets concrets. Ce livre s’adresse aux lecteurs qui savent coder sans avoir de bagage mathématique avancé. Plutôt que de s’attarder sur la théorie, il propose des applications réelles et traite des problèmes classiques de ML résolus en R : comparer des sénateurs selon leurs votes, créer un système de recommandation sur Twitter, détecter le spam, etc.
- Le parcours DataCamp Machine Learning Scientist avec Python ou R. Que vous utilisiez R ou Python, ces deux parcours couvrent l’essentiel du machine learning, des bases aux sujets avancés comme le deep learning et le feature engineering.
Fondamentaux du data engineering
- Data Engineering Cookbook d’Andreas Kretz. Beaucoup s’interrogent sur la voie à suivre pour devenir data engineer. Cet eBook d’Andreas Kretz rassemble études de cas détaillées, code, podcasts, interviews, etc. Un vrai kit complet — et cerise sur le gâteau, il est gratuit ! Vous pouvez commencer immédiatement.
- DW 2.0 - The Architecture for the Next Generation of Data Warehousing par le père du data warehousing, W. H. Inmon. Ce livre décrit l’avenir de l’entrepôt de données, déjà possible aujourd’hui sur les plans architectural et technologique. Très structuré, il couvre la plupart des sujets liés à l’architecture data et ses défis, et explique comment bâtir un data warehouse autour d’un système existant, avec des bonnes pratiques pour justifier l’investissement.
- Agile data warehouse design: collaborative dimensional modeling, from blackboard to star schema par Lawrence Corr. Un guide pas à pas pour recueillir les besoins BI et data warehousing et les transformer en modèles performants via le « model storming ». Le concept BEAM, une approche agile du modélisation dimensionnelle, améliore la communication entre concepteurs de data warehouse et parties prenantes BI.
- Le parcours carrière DataCamp Data Engineering with Python. Des dizaines de cours couvrant la construction d’architectures data efficaces, l’ingestion, la création de pipelines, et plus encore.
Plongez dans le MLOps
- MLOps Fundamentals Skill Track. Ce parcours couvre le cycle de vie complet d’une application de machine learning, de la définition des besoins métier à la conception, au développement, au déploiement, à l’exploitation et à la maintenance.
- MLOps: Operationalizing Data Science, par David Sweenor, Dev Kannabiran, Thomas Hill, Steven Hillion, Dan Rope, et Michael O'Connell. Six experts en analytics proposent une méthode en quatre étapes pour créer des applications de machine learning qui passent réellement en production.
- Building Machine Learning Powered Applications par Emmanuel Ameisen. L’auteur explique comment construire une application pilotée par le machine learning, de l’idée initiale au produit déployé.
- Building Machine Learning Pipelines par Hannes Hapke, Catherine Nelson. Les auteurs détaillent les étapes d’automatisation d’un pipeline de ML avec l’écosystème TensorFlow.
- Practical MLOps par Noah Gift, Alfredo Deza. En soulignant la différence entre DevOps et MLOps, ce livre montre comment opérationnaliser vos modèles. Il présente des outils et méthodes pour mettre en œuvre des projets MLOps sur AWS, Microsoft Azure et Google Cloud. Ne manquez pas non plus la formation en direct de Noah sur DataCamp.
- Introducing MLOps par Mark Treveil & l’équipe Dataiku. Les auteurs approfondissent les concepts clés du MLOps pour aider les équipes data à industrialiser les modèles de ML, accélérer la transformation métier et améliorer les modèles dans le temps.
- Google Cloud propose des articles, billets et documents présentant les meilleures pratiques et processus pour construire des modèles de machine learning efficaces. Dans l’article sélectionné, vous découvrirez les processus MLOps et comment passer du manuel à l’automatisé.
- Nvidia publie des articles expliquant le cycle de vie MLOps et présentant des retours d’expérience réussis.
- Ml-ops.org a été créé par Dr Larysa Visengeriyeva, Anja Kammer, Isabel Bär, Alexander Kniesz, et Michael Plöd. Ce site rassemble l’essentiel sur le MLOps et détaille chaque étape du processus de bout en bout.
Nous espérons que cet ensemble de ressources vous aidera à vous lancer dans le MLOps. Pour aller plus loin, consultez également :