Testez Saagie en quelques clics grâce à notre démo interactive !

Les outils MLOps pour gérer le cycle de vie de vos modèles

La récente démocratisation de la data science et la multiplication des projets data en entreprise ont mis en lumière le besoin grandissant pour des méthodes de travail adaptées à ces nouvelles problématiques.

Le MLOps fait justement partie de ces méthodes apparues ces dernières années pour aider les entreprises à mener des projets data. Naturellement, beaucoup d’outils sont apparus en parallèle pour pouvoir mettre en pratique les principes du MLOps sur le terrain.

Dans cet article, nous allons nous intéresser à ces outils, sans faire une liste exhaustive (ce serait impossible), mais plutôt en mettant l’accent sur les critères à prendre en compte pour choisir les bons.

Qu’est-ce que le MLOps ?

Commençons par la base : qu’est-ce que le MLOps ?

MLOps est la contraction de ML (pour « machine learning ») et de DevOps (lui-même contraction de l’anglais « development » et « operations »).

Il s’agit d’une méthode de travail globale pour gérer l’ensemble du cycle de vie (développement, déploiement et suivi) de modèles de machine learning. Le MLOps est composé de 3 niveaux :

Nous parlions plus en détail dans cet article du MLOps. Si vous n’êtes pas très familier avec ce concept, nous vous conseillons également cet article écrit par le cabinet de conseil en stratégie Data Kynapse. Enfin, si vous souhaitez savoir quelle est la différence avec le DataOps, cet article pourra vous donner une réponse, mais ce sont deux méthodes relativement similaires. 

Le MLOps a donc un champ d’application très large, allant de la collecte des données à la gestion de vos modèles en passant par la création de pipelines automatisés. 

Cela concerne potentiellement beaucoup d’outils ! Nous nous limiterons ici aux outils transversaux qui s’inscrivent dans ce souci de gestion du cycle de vie propre au MLOps.

Quelles fonctionnalités attendre d’un outil de MLOps ?

Lorsque vous cherchez l’outil adapté à un projet data, un bon point de départ est de savoir ce que vous en attendez.

Les principales fonctionnalités que l’on retrouvera en MLOps sont les suivantes :

Cette liste n’est pas exhaustive. Peu d’outils se positionnent sur chacune de ces fonctionnalités et il est peu probable que vous ayez besoin de les avoir toutes à la fois.

Commencez donc par vous demander quels problèmes vous souhaitez régler pour affiner votre recherche. Un outil, en MLOps ou ailleurs, doit être adapté à vos besoins, l’inverse (qui arrive souvent lorsqu’un outil est adopté précipitamment) est très contreproductif.

Les outils open-source en MLOps

Des solutions commerciales existent, mais l’open-source a cet avantage de pouvoir être testé sans restriction et donc de représenter un bon point de départ dans la recherche d’un outil adapté.

En ce qui concerne la partie pipeline et versioning des données, DVC et Pachyderm sont deux outils répandus, le premier s’utilise en ligne de commandes, tandis que le second a une interface graphique.

Kubeflow est probablement l’un des outils open-source les plus complets et les plus populaires en MLOps (cf. les étoiles GitHub, métrique la plus souvent utilisée pour jauger la popularité). Il intègre une bonne partie des fonctionnalités listées ci-dessus. À noter que Kubeflow est particulièrement adapté à TensorFlow, mais supporte aussi d’autres framework.

MLFlow est un autre outil populaire et assez complet. Il se concentre principalement sur la partie gestion et implémentation des modèles ainsi que sur l’automatisation et le tracking des expérimentations (tels les entraînements de nouveaux modèles).

Nous pouvons également citer Metaflow, développé par Netflix et s’adressant aux data scientists pour leur permettre de se concentrer sur le développement de modèles. À noter que cet outil est adapté à ceux qui utilisent (ou souhaitent utiliser) AWS comme solution cloud.

Metaflow, le data scientist sans MLOps
Metaflow, le data scientist sans MLOps

Il y a donc l’embarras du choix. Si vous cherchez des outils plus spécialisés, vous pouvez consulter ce repo GitHub listant une bonne centaine d’outils open-source dédiés à la data et au MLOps.

Enfin, vous pouvez aussi regarder du côté des solutions commerciales (dont fait partie Saagie) si vous avez un besoin particulier et surtout si vous souhaitez un accompagnement personnalisé. Saagie joue un rôle essentiel dans l’implémentation de MLOps  en fournissant une plateforme DataOps complète. Grâce à Saagie, les équipes peuvent gérer l’ensemble du cycle de vie des modèles de Machine Learning, de leur développement à leur déploiement en production.

Pour conclure, il nous semble important de rappeler que le MLOps n’est pas juste un ensemble d’outils. De fait, utiliser l’un des outils cités plus haut ne suffit pas à adapter une approche MLOps dans la réalisation de vos projets datas.

Il est nécessaire de mener une réflexion plus large, à l’échelle de votre entreprise, sur l’organisation de vos équipes, leur collaboration, les processus appliqués…, ainsi que sur les outils utilisés, pour adopter une approche réellement MLOps.