Anticiper les risques grâce aux méthodologies, outils et gouvernance adaptés
Nous allons ici nous pencher sur l’aspect technique de l’intelligence artificielle (IA) et de son fonctionnement.
Tout projet data/IA a pour ambition d’atteindre une qualité de données forte, couplée à une automatisation maximale des processus associés.
L’augmentation exponentielle des données a conduit à la création de nouveaux postes dans l’entreprise, de nouvelles technologies, et à la création de datalabs, des espaces permettant de tester et d’innover à partir des données. Mais le passage du datalab au déploiement en production des analyses est difficile, leurs développements ne partageant pas les mêmes exigences du développement logiciel. Par conséquent, nous constatons une forte augmentation des produits basés sur de l’IA rejetés en production, ou bien non maintenus et obsolètes.
Le 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, réduisant le temps entre chaque mise en production. Il fait référence à différents domaines de l’IA : vision artificielle, traitement du langage naturel, apprentissage machine.
Les principales composantes de MLOps sont :
- 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 jusqu’au déploiement dans les environnements
- l’AGL de data science, le studio IA permettant de développer les modèles
- le repository de modèles pour conserver les stratégies d’apprentissage et les métadonnées liées
- la structuration des données et la création de variables de prédiction.
Méthodologie
Parmi les méthodologies mises en application, le Crisp DM est une des plus utilisée pour l’exploration des données et la construction de modèles. En revanche, la méthodologie ne prend pas en compte les besoins spécifiques du déploiement liés aux standards de l’entreprise et ne répond pas à tous les besoins des différents acteurs lors du développement d’applications basées sur de l’IA. En effet, les opérations ont besoin de stabilité, les ML Engineers veulent faire évoluer leurs modèles, les Data Scientists ont besoin de plus de données pour créer plus de valeur au profit des utilisateurs, et enfin les métiers veulent un produit basé sur de l’IA qui soit stable et monétisable.
Tout projet data/IA a pour ambition d’atteindre une qualité de données forte, couplée à une automatisation maximale des processus associés. Ces enjeux sont atteignables par la mise en place d’une boucle d’itérations 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 des données définie dans la gouvernance, jusqu’à la conception et l’industrialisation des cas d’usages et des modèles. Le passage d’une itération à une autre est entériné par l’exécution réussie de tests unitaires et fonctionnels automatisés. 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 au plus tôt des problèmes critiques de conception. La supervision continue des performances peut permettre d’identifier de façon automatique, et de réenclencher de nombreuses fois, l’entrainement du modèle, afin de répondre aux exigences posées par le cas d’usage.
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 en plus des étapes traditionnelles dev/test/deploy/run une nouvelle étape d’apprentissage. Les bonnes pratiques de l’ingénierie logiciel s’applique de plus sur trois artefacts : le code, la donnée et le modèle.
Pour appliquer le processus de génie logiciel, les Data Scientists (DS) et ML Engineers (MLE) doivent utiliser et adapter les meilleures pratiques issues des mouvements Agile & DevOps du génie logiciel, à savoir : procéder par releases régulières et rapides, et appliquer un contrôle de version rigoureux. Le déploiement et l’intégration doivent être automatisés, au même titre que la phase de tests. Pour automatiser ce processus et ainsi le rendre reproductible. Enfin, le développement des indicateurs d’exploitation, des logs et des alertes doit être à la charge des DS & MLE.
Ceci implique que le tandem Data Scientist-ML Engineer soit responsable de la qualité du code produit dès les phases d’exploration, ce qui nécessite un changement des pratiques :
- utiliser systématiquement un outil de versionning tel que git avec le bon message de commit,
- 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 devant couvrir non seulement le code mais aussi le modèle et les traitements des données.
Les technologies
Les outils et les solutions du marché sont nombreux. Les fournisseurs de Cloud proposent des offres très intéressantes qui promettent des mises en production rapides. Les produits boîtes à outils des données sont soutenus par des investissements importants. Le monde de l’Open source et les solutions des hyperscalers évoluent très vite.
Gouvernance
Le développement d’une culture MLOps permet de combler le fossé entre les équipes et de favoriser l’industrialisation des applications basées sur de l’IA. Cela est possible en partageant 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 à mettre en œuvre dans le cadre des projets data/IA. Ensuite, la culture MLOPs est favorisée par la mise en place de communautés qui promeuvent une culture de partage. Enfin, considérer les applications basées sur de l’IA comme un produit facilite leur diffusion. Ce postulat implique de mettre en place des équipes de produits pour leur conception, leur développement et la formation des équipes.
MLOps est un mot à la mode. Comme pour bon nombre d’autres méthodes, la réussite de sa mise en place nécessite un changement culturel au sein des organisations. Pour industrialiser l’IA en production, les entreprises doivent développer des compétences en internes les rendant capables de s’adapter à de multiples cas d’usages.
Par Nicolas Claudon, Group AI Portfolio Chief Architect chez Capgemini France