MLOps : le DevOps appliqué aux projets de Machine Learning

L’enthousiasme croissant autour de la Data Science et du Big Data a permis le développement d’un écosystème extrêmement riche et dynamique autour de l’analyse des données collectées. Cependant, la multiplication des projets data et des algorithmes de machine learning, a aussi mis en évidence de nouveaux questionnements spécifiques à ce type de projet. Pour répondre à ces problématiques, des nouvelles méthodes regroupées sous le nom de MLOps sont apparues.

Que sont les MLOps ?

L’actualité nous offre un bon nombre de mots-valises en “Ops” qui font écho à des outils, des pratiques ou même des philosophies de travail. On parle ainsi de DevOps, DataOps, FinOps, AIOps… Qu’en est-il des MLOps ?

Définition des MLOps

Les MLOps ou Machine Learning Operations désignent un ensemble de pratiques qui visent à déployer et maintenir des modèles de machine learning en production de manière fiable et efficace. Ce terme est composé de "machine learning" et de la pratique de développement continu de DevOps dans le domaine des logiciels.

A la base, les MLOps sont un processus qui permet aux scientifiques des données et aux équipes informatiques ou d’ingénierie de collaborer. Par ailleurs, cela augmente le rythme de développement de modèles parallèlement à l’intégration et au déploiement continus avec une surveillance, une validation et une gouvernance appropriées des modèles d’apprentissage automatique.

Ainsi, les MLOps peuvent être vus comme l’adaptation des méthodes agiles au monde de la donnée, ou au Big Data. Ces pratiques agiles permettent de concevoir des outils MLOps afin de faciliter et d’automatiser les nouveaux tests avant la mise en production effective.

Les objectifs des MLOps

Les MLOps visent à accélérer les expérimentations et le développement de modèles. Cela passe notamment par un déploiement plus rapide des modèles mis à jour en production et d’une assurance qualité.

En ce sens, les MLOPs entrent en jeu pour rationaliser le processus de machine learning et définir un transfert transparent entre les scientifiques des données, les ingénieurs ML et les développeurs qui travaillent pour mettre les modèles en production.

Quels sont les avantages des MLOps ?

Nombreux sont les avantages offerts par l’intégration des MLOps à sa stratégie d’entreprise, à savoir :

  • Les MLOps permettent l’évolutivité et la gestion de modèles de machine learning. Selon leur portée, des milliers de modèles peuvent être sous le contrôle des MLOps.
  • Les MLOps offrent aussi la réutilisabilité et la reproductibilité des pipelines ML : il ne s’agit pas seulement de la productivité des data scientists et des ingénieurs ML, mais aussi des audits et des exigences réglementaires.
  • En outre, les MLOps fournissent un CI/CD sans effort pour servir des modèles ML à jour avec lignage, en remontant jusqu’aux données sur lesquelles la chaîne est formée. En parallèle, les MLOps aident à maintenir la santé et la gouvernance du modèle ML avec une gestion simplifiée du modèle après le déploiement.
  • Enfin, les MLOps préconisent des pratiques d’IA responsables garantissant l’interprétabilité et l’équité des modèles.

Les besoins d’intégration des MLOps

Réussir un projet de Machine Learning va au-delà du développement et du déploiement d'un modèle : il s’agit en réalité de conserver sa gestion à long terme. L'ambition du DevOps appliqué au Machine Learning, ou MLOps, est de répondre à ces différents enjeux.

La création d’un modèle d’apprentissage automatique

La création d’un modèle d’apprentissage automatique commence par le nettoyage et la mise en forme de la data. Cette tâche peut être fastidieuse car les données peuvent provenir de différentes sources et de différents formats. Ainsi, plus la qualité des données est bonne, meilleures seront la qualité et l’efficacité du modèle développé.

De ce fait, à mesure qu’une entreprise obtient des données de meilleure qualité, elle les utilise pour créer un nouveau modèle. Les MLOps vont aider à versionner les données sources et leurs attributs tels que leur qualité dans le but d’établir un lien avec les ensembles de données sous-jacents qui vont aider à la création du modèle.

L’expérimentation du modèle

La création d’un modèle d’apprentissage automatique comprend plusieurs sous-étapes, notamment la sélection ou le développement de fonctionnalités, la sélection d’algorithmes, le réglage d’hyperparamètres, l’ajustement du modèle…

Cette phase est également appelée expérimentation, dans le sens où cette période d’essais et d’erreurs passe par diverses combinaisons de fonctionnalités, d’algorithmes et de paramètres jusqu’à l’obtention d’un modèle approprié pour les besoins propres à l’entreprise. Dans ce cas, les essais qui ne récoltent pas le résultat souhaité sont tout aussi importants dans la mesure où ils informent la prochaine série de combinaisons à tester.

Un système de surveillance optimal

Un autre ensemble de besoins se pose pour les MLOps : suivre les métriques des exécutions d’expérience afin d’être en capacité de regarder en arrière et ainsi déterminer ce qu’il faut améliorer.

Étant donné que toute cette expérimentation nécessite l’écriture d’une certaine quantité de code, il est également nécessaire de contrôler la source du code, son environnement et toute autre dépendance à des fins de reproductibilité. Dans la plupart des cas, lorsque les scientifiques des données parcourent ces étapes, de nombreuses sous-étapes restent inchangées, sans avoir besoin de les exécuter à nouveau.

Les MLOps peuvent garantir qu’en activant l’utilisation de concepts tels que les pipelines ML, une entreprise peut essentiellement vérifier ces sous-étapes dans le but qu’elles ne s’exécutent que si quelque chose justifie une modification.

Le travail des MLOps passe par la surveillance du modèle, qui se produit non seulement du point de vue des métriques techniques telles que les performances et la latence de réponse pour prendre en charge un nombre élevé de requêtes, mais également par la dérive du modèle ou des données. De ce fait, un modèle déployé est basé sur une définition de ce dont l’analyse de rentabilisation a besoin, ce qui peut évoluer : les MLOps peuvent écouter ces changements et déclencher un recyclage automatisé des modèles afin que le nouveau modèle puisse désormais répondre aux nouvelles exigences.

La gestion d’un portail de validation

Toutes ces tâches, de l’expérimentation à l’optimisation sont contenues dans le pipeline de construction dans le cadre des MLOps.

Une fois que le scientifique des données a été en mesure de créer un modèle qui a une efficacité acceptable, celui-ci doit être déployé afin que les utilisateurs ou les applications puissent commencer à l’exploiter. Cependant, avant de déployer le modèle fraîchement créé, il est important de le valider d’un point de vue technique, comme d’un point de vue métier : cette validation peut même nécessiter un processus de déploiement par étapes.

Encore une fois, les MLOps peuvent aider à accomplir cela de manière automatisée et prévisible en créant des pipelines de publication qui évaluent, testent et conditionnent les modèles dans des conteneurs afin qu’ils puissent s’exécuter n’importe où : cela permet également de créer une phase d’assurance qualité (AQ) où toutes les validations requises peuvent avoir lieu dans un environnement de test à faible coût, puis de permettre un déploiement contrôlé en production pour la mise en place de tests alpha/bêta.

Il est important de noter qu’à côté des métriques du modèle, la validation peut également impliquer l’évaluation des caractéristiques les plus influentes du modèle et de son équité. Ces pratiques d’IA responsables garantissent que les modèles créés respectent les normes éthiques. Celles-ci garantissent que ces processus automatisés comportent des dispositions pour l’Homme (comme l’IA Facebook) afin d’éviter les failles dans la boucle et qu’il existe une sensibilisation appropriée à l’audit sur le comportement des modèles.

AIOps VS MLOps

AIOps et MLOps sont tous deux des composants essentiels d'une entreprise alimentée par l'IA.

L’AIOps vise à distiller des données de diverses sources et à fournir une vue globale de ce qui se passe dans un environnement informatique. Ces informations peuvent ensuite être employées dans le but d’anticiper les problèmes potentiels ou les opportunités d'amélioration. En outre, les systèmes basés sur l'Intelligence Artificielle peuvent également être exploités à des fins d’automatisation de tâches qui pourraient demander une intervention humaine.

Les MLOps, de leur côté, se concentrent sur la création de modèles d'apprentissage automatique à des fins d’analyse prédictive et d’informations en temps réel. Ces modèles peuvent aider à la planification des capacités, à l'analyse des causes profondes, aux recommandations d'automatisation, etc.

Alors que l'objectif de MLOps réside dans le comble du fossé entre les scientifiques des données et les équipes opérationnelles, soit entre la construction de modèles de machine learning et leur exécution, l’AIOps se concentre sur l'automatisation de la gestion des incidents et l'analyse intelligente des causes profondes.

En fin de compte, les MLOps sont une technique utile pour que les personnes, les processus et la technologie se réunissent pour optimiser la création de solutions d’apprentissage automatique. Cependant, il est courant que les équipes prennent du temps à s’adapter à la philosophie MLOps, alors que conserver la rigueur et s’en tenir au processus conduit à une pratique de machine learning robuste et évolutive.

Découvrez comment la solution Talend peut vous aider à intégrer les MLOps et à rationaliser les processus opérationnels qui ont le plus d’impact sur le chiffre d’affaires et la croissance de votre entreprise.

Prêt à faire vos premiers pas avec Talend ?