Skip to content Skip to sidebar Skip to footer

MLOps : quand le DevOps rencontre l’IA et le Machine Learning

Le terme MLOps est la contraction de Machine Learning et d’Opérations. Il est inspiré du terme DevOps, qui vise à rapprocher les développeurs et les ops. Le MLOps est plus qu’un nouveau métier, c’est avant tout ”une culture et une pratique d’ingénierie ML qui vise à unifier le développement (dev) et les opérations (ops) des systèmes de ML ” pour reprendre une définition de Google Cloud.

Et plutôt que de se concentrer uniquement sur le volet technique, Benjamin Messiaen nous dévoile les différentes facettes de cette toute nouvelle discipline : technique, méthodologique et métier.

Peux-tu nous dire en quoi consiste le métier de MLOps ?


Le MLOps est un métier très récent, sa définition est donc encore ajustable. De notre point de vue, il vise le domaine du Machine Learning, et regroupe trois profils : le développement, l’opération (donc le métier de DevOps) auxquels il faut rajouter le métier de Data Scientist. Cela vient du fait que le domaine du Machine Learning nécessite de travailler avec un très grand volume de documents, le système doit « manger de la data ». Dans ce contexte, il faut absolument que ces données soient cohérentes et qualitatives. Ce qui sous-entend que la data doit être minutieusement sélectionnée, et éventuellement pré-travaillée, le but étant de fournir des données de bonne qualité et facilement compréhensibles par le système Machine Learning. Ce qui va lui servir à obtenir une « situation » ou un « contexte ». La spécificité du métier de MLOps repose donc sur cette mise en situation du système pour savoir « de quoi on parle » (métier Data Scientist), et sur une direction « ce que l’on veut faire » (métier DevOps). Cette partie métier Data Scientist du MLOps est donc primordiale, car c’est elle qui va assurer la performance du Machine Learning et des LLM (Large Language Models) pour la partie conversationnelle.

Est-ce que le Machine Learning est un logiciel qui se délivre comme les autres ?

Le Machine Learning est par définition un logiciel spécifique, car nous devons apprendre à ce logiciel (nous parlerons ici de modèle) à comprendre quelque chose. Et la démarche d’apprentissage peut varier en fonction du sujet. Par exemple, si nous voulons faire des analyses d’images, la méthode sera différente d’une analyse de codes, même si le modèle apprenant peut être le même. De fait, le Machine Learning se délivre différemment d’un logiciel « classique », car le modèle doit apprendre à réagir de façon spécifique en fonction des entrées que nous lui donnons. Il faut préciser que contrairement à d’autres domaines comme la virtualisation ou les bases de données, plus stables, le MLOps évolue encore très vite. Pour caricaturer, ce domaine est tellement récent que nous pourrions dire que quelqu’un découvre tous les jours une nouvelle fonctionnalité. Celle-ci est proposée à la communauté, et tout le monde bascule dessus. Le métier de MLOps demande donc une très grande réactivité pour comprendre et intégrer les nombreuses nouveautés (l’inférence ou la subdivision du modèle par exemple). Il nécessite donc une veille très importante et tous azimuts pour suivre le mouvement et mettre à jour ses pratiques, ce qui représente une vraie complexité métier.

Quels sont tes conseils pour bien débuter dans une démarche MLOps ?


Actuellement l’Open Source a une grande influence sur le métier de MLOps. Il faut en effet pouvoir être en mesure d’essayer les nombreuses nouveautés régulièrement proposées. Je conseille donc de disposer d’une petite plateforme de tests pour essayer ces nouveautés, et comprendre les impacts engendrés par telle ou telle évolution. Le but est d’être capable de mettre très vite quelque chose en production. Pour autant il ne s’agit pas encore de faire du delivery, car tout le monde travaille pour l’instant en « POC » (Proof Of Concept). Par exemple, j’ai travaillé sur un RAG (Retrieval Augmented Generation) qui va « manger » les documents d’un client pour les découper et les comprendre, puis les stocker dans une base de données (BDD) relationnelle. Le client étant insatisfait de ce modèle de BDD, il désire changer complètement pour passer sur une BDD orientée graphe. Il s’agit donc d’un énorme changement, ce qui va nécessiter d’héberger les données en parallèle sur ces 2 BDD. Tout bouge très vite, et il faut être capable de s’adapter rapidement pour mettre en place quelque chose de propre. Je pense que cette phase de POC va durer et stagner encore un moment, le temps de comprendre comment industrialiser tous les modèles d’IA. Nous n’en sommes encore qu’aux balbutiements de ce domaine.

Comment cette activité MLOps s’inscrit dans l’Exploration Labs et que va proposer Inside à ses clients ?

Comme MLOps est un métier nouveau tourné vers l’IA, il trouve naturellement sa place dans notre Exploration Lab. Pour rappel l’Exploration Lab a été créé pour proposer une utilisation judicieuse et efficace de l’IA et faciliter son adoption chez nos clients. Comment s’appuyer sur l’IA dans nos métiers ? Que faut-il mettre en place comme architecture ? Comment construire ma propre IA et sécuriser l’exploitation de l’IA par mes équipes de développement ? Une grande partie de nos premiers clients intéressés par l’intégration de l’IA visent surtout le domaine de la GED (Gestion Electronique des Documents). Car c’est le rêve de beaucoup d’entreprises de disposer d’une solution dans laquelle tous les documents peuvent être déversés et automatiquement triés et traités. Inside veut pouvoir répondre à ces demandes à travers l’Exploration Lab, ce qui nécessite de nouveaux corps de métiers comme le MLOps.

Dans un temps court nous nous attachons à découvrir et comprendre les avantages et inconvénients des nouveaux systèmes ML, lequel choisir en fonction du besoin. Dans un temps long, nous visons au développement complet d’un RAG et de son hébergement. Nous pourrons ainsi fournir un service de Dev pour implémenter un réseau de neurones et gérer l’ingestion de documents, un service de Data Scientist pour la phase très importante d’apprentissage, et un service Ops pour la partie système avec une gestion des ressources pertinentes. Nous pouvons également fournir un accompagnement sur la bonne utilisation d’un RAG, et à terme fournir un RAG clé en main. Et il existera toujours cette volonté de fournir des conseils sur le choix de la bonne solution en fonction du besoin, et sur le réel besoin de basculer vers l’IA (très consommatrice en ressources) plutôt que sur un développement traditionnel. Car ce serait un non-sens de faire de l’IA « pour faire de l’IA » !

Vous souhaitez échanger avec nos experts autour du MLOps, c’est par ici !