AI 101: Introduction à l'IA

Minimiser l’échec des projets IA en entreprise.

March 16, 2021

Jean-Charles Risch

Directeur technique IA chez FORTIL



C’est à l’expérience que l’on saura identifier où se situe la valeur des projets.



Introduction


La réalisation d’un projet d’intelligence artificielle est un processus simple s’il est maîtrisé ; voué à l’échec sinon. Le tout est de savoir où se trouve la ou les valeurs du projet et où se cachent les difficultés, les vraies. L’IA a suffisamment le vent en poupe pour que l’on puisse encore croire que la difficulté soit technique. C’est certainement le cas dans les laboratoires de recherche qui cherchent sans cesse à améliorer les architectures des réseaux de neurones mais ça ne doit plus l’être dans le monde de l’entreprise.

Comparons avec la réalisation d’un site web. Aussi innovant soit-il, le succès de la création d’une page web ne dépend pas de la technologie. Un développeur web peut faire à peu près tout, pour peu qu’il soit créatif, qu’il soit entouré des bonnes personnes, qu’il connaisse son sujet et que le projet ait été correctement défini.

Alors si la difficulté n’est pas technique, qu’elle est-elle ? L’objectif de ce billet est de tenter de découvrir où sont les difficultés de réalisation d’un projet IA.

Cet article est un condensé d’expériences vécues et n’a pas vocation à couvrir l’entièreté du sujet.




Déroulement d’un projet

Description en 8 étapes de la réalisation d’un projet IA chez Fortil.


Pour ma part, je divise le schéma de production d’un projet IA en 8 étapes :

- L’analyse du besoin / audit. À cette étape, il est question de monter le projet. De quoi ai-je besoin pour mon métier ? Comment l’IA peut-elle m’aider ?

- La collecte / simulation des données. Si votre projet a été identifié comme pouvant être résolu par une solution à base d’IA alors il y a de très fortes chances pour que vous ayez besoin de données. Parfois la donnée existe, parfois il faut la simuler et parfois il faut la collecter.

- L’analyse des données. Étape évidemment indispensable avant quoi que ce soit : se familiariser avec les données. C’est également l’occasion de compléter les connaissances métiers acquises lors de l’étape d’analyse du besoin.

- Transformation des données. Une tâche généralement maîtrisée par une équipe de data ingénieurs, il s’agit ici de créer et de mettre à disposition les « features ». Si les features sont amenées à être réutilisées dans d’autres projets, il est intéressant de capitaliser en utilisant notamment un feature store.

- Modélisation. Quand on pense data science, on pense généralement à cette étape. Quel modèle ? Quels paramètres ? etc. Ici, il s’agit de se concentrer sur la partie technique de la brique IA de notre projet.

- Validation. Cette étape transverse ne concerne pas seulement la validation des modèles mais aussi des données via notamment une analyse de biais.

- Logiciel de mise en service. L’IA est une brique logicielle ; on ne construit par une maison avec une seule brique. L’idée de cette étape est de mettre en place toutes les briques qui permettent de créer la maison.

- Intégration et déploiement continue. Comment mettre notre IA en service ? Que faire d’une IA qui doit évoluer dans le temps (comme les logiciels évoluent en y ajoutant de nouvelles fonctionnalités) ? Cette dernière étape permet d’assurer la pérennité de nos IA et des environnements dans lesquels elles sont en service.



Facteurs d’échec et de réussite




Quand le métier rencontre la technologie, cela ne fait pas que des étincelles.

source : https://giphy.com/gifs/old-play-NWlBEcDW5evFS


Il existe de nombreuses raisons qui mènent un projet IA à l’échec, en les analysant, on sera plus à même de déterminer où se trouve la valeur. Ci-après je liste quelques facteurs d’échec récurrents :

- Mauvaise communication métier / data scientist. L’intelligence artificielle est une technologie qui peut s’adapter à tous les métiers (à partir du moment où il y a de la donnée ou qu’elle peut être récoltée/simulée). Un projet réussi est conditionné par un échange qualitatif entre le métier d’un côté (représenté par un expert) et la technologie de l’autre côté (souvent représenté par un data scientist). Pour cela, il est nécessaire d’organiser en amont de toute action, un ensemble d’échanges visant à acculturer le métier à la technologie et inversement.


- Le manque de données. Pendant plusieurs décennies, le manque de données et la limitation de la puissance de calcul ont bridé les scientifiques et leurs modèles. Le principe de base de l’apprentissage supervisé est la généralisation des modèles cachés dans les données. Si Google, Facebook et autres géants du web fournissent tous les meilleurs modèles, c’est parce qu’ils ont accès aux données. Warning : j’exclus les nouveaux modèles capables de généraliser avec peu de données car ceux-ci sont encore à l’état de recherche (à l’heure où j’écris cet article).


- La diversité des données. La quantité des données ne fait pas tout, il faut aussi avoir des données diversifiées. Si notre ensemble d’images d’apprentissage contient un grand nombre de photos de yachts, alors notre IA ne saura détecter que ce type de bateau. Il est très probable qu’elle n’associe pas les trimarans au label bateau car l’objet « trimaran » est inconnu pour elle. Pour qu’elle puisse détecter et localiser des trimarans dans une image, il faudra un ensemble représentatif de trimarans dans la base d’apprentissage.


- La qualité des données. Un grand ensemble de données diversifiées n’est pas suffisant non plus pour garantir la qualité d’un ensemble de données. Un autre point important (et bien souvent oublié) des analyses de données est la considération de la qualité de l’ensemble de données. Cette analyse permet notamment de détecter des biais au sein des données (notamment dans la répartition des catégories).


- Modèle à durée de vie limitée et déploiement. Créer des modèles d’IA est une chose, mettre en production un modèle d’IA en est une autre. La mise en production implique de nouvelles contraintes : maintien du service, mises à jour, remonte de logs, analyse de la qualité, etc. Cette nouvelle problématique est déjà prise en compte par les grandes sociétés et des outils open source ont été mis en place par la communauté. C’est notamment l’objectif des outils tels que MLflow, Kubeflow et d’autres opérés par des dataops/MLops (le dataops est au modèle d’IA ce que le devops est au logiciel).

Prenons l’exemple d‘une IA qui a appris à copier l’expertise d’un groupe de traders. L’IA sera meilleure qu’un unique trader pour au moins deux raisons : (1) elle sera plus rapide et (2) alors qu’un trader ne se fie qu’à sa propre expérience, notre IA a appris à partir de l’expérience d’un groupe entier de traders.


Comme évoqué plus haut, pour apprendre, l’IA a généralisé des expériences de traders. Ces expériences se sont déroulées à un certain moment dans un certain environnement économique. Que se passe-t-il lorsque l’environnement du trader évolue (lors d’une crise sanitaire par exemple) ? L’IA sera mise en échec car son environnement d’exécution a évolué et elle non. D’ailleurs, avant de mettre un modèle d’IA en production, on dit que les data scientists « freezent » les modèles. Le mot est fort mais juste.

L’intégration et le déploiement continu permettent la mise en place d’un système permettant de réduire au maximum le temps entre la mise en échec de l’IA et sa correction / mise à jour. On parle ici d’automatisation de pipeline de ML.



Conclusion


Dans ce billet de blog, nous avons traité le sujet de la mise en échec/réussite des IA dans le monde de l’entreprise. Si l’ensemble des contraintes sur la donnée sont comprises par la quasi-totalité des acteurs (de la recherche à l’entreprise), celles sur l’analyse (précise !) du besoin et le déploiement sont moins souvent prises en compte et peuvent mener à l’échec.

Si les années 2010 ont été riches de nouveaux modèles toujours meilleurs (recherche), les années 2020 seront sans doute celles de la mise en production des IA avec des outils open source accessibles à tous.

Niveau de lecture

Aidez-nous à déterminer le niveau de lecture:

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Lire des articles similaires: