Passer au contenu

MLOPS, l’IA appliquée au domaine des opérations informatiques

Nicolas Claudon
18 janvier 2021

Tout projet data/IA a pour ambition d’atteindre une forte qualité de données couplée à une automatisation maximale des processus associés.

L’augmentation substantielle des données a conduit à la création de nouveaux rôles et de nouvelles technologies permettant la création de datalabs : un espace permettant de tester et d’innover à partir des données.

Mais le passage du datalab au déploiement en production des analyses est difficile ne partagent pas les mêmes exigences du développement logiciel et par conséquent, il existe une forte augmentation des produits basés sur de l’IA rejetés en production ou bien non maintenus et obsolètes.

L’IA ne consiste plus seulement à cliquer sur une annonce, elle est intégrée dans des processus de décisions critiques qui ont un fort impact sur les personnes et les vies, tels que l’accord de prêt, la détection des fraudes en temps réel, la conduite d’une voiture, et même le filtrage des alertes vitales du patient dans une salle d’opération. Ces usages fondamentaux justifient les travaux visant à raccourcir les délais de production et à augmenter la qualité de l’IA.

L’agilité a pour objectif la collaboration des analystes et des développeurs, dans le but de créer un produit qui répond à leurs besoins.

DevOps a pour objectif la collaboration des analystes, des développeurs et des opérations dans le but de construire et maintenir un produit adapté aux besoins du métier à travers des pratiques visant à l’amélioration de la qualité et la réduction des cycles entre chaque mise en production.

MLOPS, a pour objectif d’augmenter le nombre de produits basés sur l’IA en production tout en améliorant leur niveau de qualité grâce à une meilleure collaboration entre les analystes métier, le data scientist, le ML Engineer et les opérations dans le but de réduire le temps entre chaque mise en production. Le MLOps fait référence à différents domaines de l’IA : vision artificielle, traitement du langage naturel, apprentissage machine, … selon la définition du Gartner, AIOPS est l’intelligence artificielle appliquée au domaine des opérations informatiques.

DataOps a pour objectif la démocratisation des données au sein de l’entreprise, toutes les données disponibles et fiables grâce à une meilleure collaboration entre l’analyste métier, le Data Engineer et les opérations afin d’augmenter le niveau de qualité et de réduire le temps d’ingestion, de nettoyage, de préparation et de mise à disposition des données.

Pour résumer, l’agile permet le développement d’applications, le devops consiste et faciliter leur mise en production et maintenance et enfin le MLOps consiste à mettre de l’IA au cœur de l’application en production. Chacune de ces étapes doit faire face à des risques qui peuvent être anticipés grâce aux méthodologies, aux outils et à une gouvernance adaptée.

Méthodologies

Parmi les méthodologies mises en application, le Crisp DM apparaît comme un bon modèle pour l’exploration des données et la construction de modèles. En revanche il ne prend pas en compte les besoins spécifiques du déploiement liés aux standards de l’entreprise.

Le modèle CRISP-DM ne répond pas à tous les besoins lors du développement d’applications basés sur l’IA. Les opérations ont besoin de stabilité, les ML Engineer veulent faire évoluer le modèle, les Data Scientist veulent plus de données pour fournir plus de valeur et enfin les métiers veulent un produit basé sur l’IA stable et monétisable.

Tout projet data/IA a pour ambition d’atteindre une forte qualité de données couplée à une automatisation maximale des processus associés. Ces enjeux sont atteignables par la mise en place d’une boucle d’itération qui permet de confirmer de bout en bout l’ensemble des étapes, depuis le choix du jeu de données et l’ingestion automatisée assujettie à la gouvernance des données jusqu’à la conception et l’industrialisation des cas d’usages et modèles. Le passage d’une itération à une autre est entériné par l’exécution valide de tests unitaires et fonctionnels automatiques. La mise en place de ces tests permet d’éviter l’effet tunnel lié à des tests déroulés uniquement en fin de projet et de découvrir tardivement des problèmes critiques de conception. En fonction des résultats obtenus lors de la mise en production, la supervision continue des performances, des indicateurs métiers et du traitement de l’équité l’entrainement peut-être réenclencher autant de fois que le nécessite l’atteinte des exigences posées pour le cas d’usage.

Figure 1: Boucle de rétroaction automatisé
Figure 1: Boucle de rétroaction automatisé

Pendant la phase de build, les applications basées sur de l’IA doivent être considérées comme un problème d’ingénierie logiciel comprenant une nouvelle étape d’apprentissage, mais avec un processus s’appliquant à trois artefacts :

  • Code
  • Données
  • Modèle

Pour appliquer le processus de génie logiciel, les Data Scientist (DS) et ML Engineer (MLE) doivent utiliser et adapter les meilleures pratiques issues des mouvements Agile & Devops du génie logiciel, à savoir :

  • Procéder par release rapidement et souvent
  • Appliquer un contrôle de version rigoureux, éviter de commenter/décommenter dans un notebook Jupyter
  • Automatiser l’intégration et le déploiement
  • Tester, tester, tester et automatiser les tests !
  • Rendre le processus reproductible pour l’automatisation, éviter de commenter/décommenter
  • Le développement des indicateurs d’exploitation, des logs et des alertes et à la charge des DS & MLE.

Ce qui implique que le tandem Data Scientist et ML Engineer doit être responsable de la qualité du code produit dès les phases d’exploration ; et cela passe par un changement des pratiques :

  • Utiliser systématiquement git avec le bon message,
  • Effectuer les changements par petits incréments,
  • Intégrer la supervision comme une exigence non fonctionnelle,
  • Intégrer les tests automatisés et les jeux de données aux livraisons, ces tests doivent couvrir le code mais aussi le modèle et les traitements des données.

Technologies

Il peut être difficile de comprendre le marché des nombreux outils et solutions. Les fournisseurs de cloud proposent des offres très intéressantes qui promettent un meilleur délai de mise sur le marché. Les produits boîte à outils des données sont soutenus par des sommes importantes : Dataiku 101M€, Datadog 94M€, Datarobot 206M€, Iguazio 24M€… Le monde de l’open source, et les solutions chez les fournisseurs de cloud évoluent très vite.

MLOPS est composé de 6 composantes principales :

  • Une marketplace de l’IA pour partager des modèles réutilisables, des ensembles de données et des solutions prêtes à l’emploi
  • Une supervision des « analytics » pour gérer les performances et assurer l’observabilité
  • L’orchestration des “analytics” pour gérer les pipelines des tests au déploiement
  • L’AGL de data science, le studio IA permettant de développer les modèles
  • Le repository de modèle pour conserver les stratégies d’apprentissage et les métadonnées liées.
  • La structuration des données en un service métier à travers notamment de l’augmentation des données et la création de variable de prédiction

Gouvernance

Le développement d’une culture MLOps permettra de combler le fossé entre les équipes et de favoriser l’industrialisation des applications basées sur l’IA. Cela peut être possible :

  • En partageant d’abord une vision commune sur les concepts de l’IA, en définissant une stratégie soutenue par toutes les parties prenantes et en définissant les moyens,
  • En créant des communautés qui favorisent et promeuvent une culture de partage
  • En considérant les applications basées sur l’IA comme un produit, ce qui facilitera leur diffusion. Ce postulat implique de mettre en place des équipes de produits pour la conception, le développement, la formation et le fonctionnement et les rendre autonomes avec toutes les compétences requises.

En amont du cas d’utilisation, la mise en place d’une gouvernance organisationnelle permet de définir la vision du projet en intégrant l’équipe produit, le parrainage et les utilisateurs finaux tout au long de la phase de développement avec l’équipe technique. Cette communication constante entre tous ces acteurs clés permet de concevoir un produit qui peut être rapidement industrialisé, car les exigences de tous les intervenants ont été prises en compte.

De plus, la gouvernance doit être mise en place par le biais de modèles opérationnels cibles conformes au modèle d’organisation. Il s’agit également de mettre en place les bonnes politiques pour lutter contre les préjugés et construire une IA éthique et responsable. La machine proposera la décision, mais la responsabilité portée par les chefs de produits. Cela ne peut se faire qu’en ayant confiance dans les données tout au long du processus, de l’acquisition des données à l’exécution d’une application basée sur l’IA, en s’assurant la transparence des données utilisées et l’explicabilité des modèles, et enfin en disposant de multiples algorithmes pour faire une prédiction afin d’assurer une diversité des perspectives, comme popularisé par la NASA afin d’éviter les crashs de ces programmes.

MLOps semble être un mot à la mode, mais il s’agit une fois de plus d’un changement culturel qui aidera à industrialiser l’IA en production tirant ses racines du devops. Il faudra faire des efforts d’organisation, de qualification et trouver les bonnes méthodes adaptées aux organisations afin d’être capables de s’adapter à des milliers de cas d’utilisation en production.