7 conseils clés pour bâtir une IA séduisante

7 conseils clés pour bâtir une IA séduisante Un bon modèle de machine learning doit être bien sûr performant mais aussi résilient, non-biaisé et mesurable. Le résultat d'un fin cocktail à la fois technique et méthodologique.

L'engouement médiatique autour de l'intelligence artificielle (IA) a pu faire naître de faux espoirs. La généralisation des modèles de machine et deep learning laissait à penser qu'elle se diffuserait rapidement à toutes les organisations. A l'heure des premiers retours d'expérience, les entreprises pionnières constatent souvent un décalage entre les promesses des prototypes et les performances en production. Plusieurs obstacles sont régulièrement mis en avant pour expliquer ces promesses non tenues. Le point sur quelques bonnes pratiques pour les dépasser. 

1. La méthodologie.

"Un chantier d'intelligence artificielle ne peut être conduit par une méthode de projet classique ni même agile. Il doit composer avec ses propres règles et contraintes", estime Didier Gaultier, directeur du pôle data science & IA au sein de l'ESN française Business & Decision (groupe Orange). "Un modèle de machine learning devra échouer un certain nombre de fois pour apprendre. Cette nécessaire habileté à échouer n'intervient pas dans les projets traditionnels." (Pour ses propres besoins, l'expert s'est tourné vers la méthode Crisp.)

2. La définition du besoin

Qu'il s'agisse de faire de la classification ou de la prédiction, il convient de bien cerner la problématique métier à cibler et de s'assurer que l'IA est en mesure de la résoudre. Une expertise que n'a pas un data scientist. "Une banque qui automatise sa relation client via un chatbot va déporter dans des algorithmes ses processus internes et son savoir-faire", illustre Christophe Tricot, manager en IA au sein du cabinet de conseil Kynapse (groupe Open).

Les équipes métiers devront par conséquent être impliquées dès l'étape de cadrage du projet. Mais aussi lors de la phase d'entraînement du modèle pour qualifier les données d'apprentissage. Didier Gaultier prend l'exemple d'un modèle conçu pour déterminer si les missions d'une société de services se sont bien déroulées ou non. "L'IA ne peut pas deviner seule que telle association de mots révèle un problème d'écoute avec un client ou un objectif non atteint." C'est au "sachant" de lui indiquer cette correspondance, en validant ou invalidant les réponses associées à tel ou tel contexte. Cette phase d'entrainement est essentielle pour Thomas Piton, directeur du Lab en intelligence artificielle de l'entreprise de services numériques CGI. "Si la brique d'IA doit atteindre un score de plus de 80% de résultats justes, l'apprentissage sera particulièrement long en amont."

3. La qualification des données

Un autre écueil porte sur l'alimentation du modèle en données de qualité et régulièrement mises à jour. D'après une étude d'Infosys, près de la moitié des décideurs IT (49%) déclarent que leur entreprise est incapable de déployer l'IA car leurs données ne sont pas prêtes à répondre aux exigences de cette technologie. Selon le principe du garbage in, garbage out, des données en entrée fausses ou mal préparées donneront en sortie des résultats aberrants. "Il faut tordre le cou au mythe qui voudrait qu'il suffise de brancher une IA sur un data set pour obtenir des résultats probants", avance Didier Gaultier. Ce travail préparatoire suppose de s'assurer de l'intégrité des données et recoder certaines pour qu'elles puissent être apprises par la machine. "Les modèles de machine learning n'acceptent pas n'importe quel format. Il faut adapter les datas à l'algorithme et non l'inverse", poursuit l'expert. 

4. Le choix de l'algorithme

Il existe une soixantaine de familles d'algorithmes, avec chacune en moyenne environ 10 sous-familles. Certains algorithmes sont réservés à des usages bien particuliers. Les réseaux de neurones convolutifs à la reconnaissance d'images, les réseaux de neurones récurrents à l'analyse du langage naturel, à la traduction ou à la génération de séquences musicales, l'apprentissage par renforcement aux jeux de stratégie... CTO du cabinet de conseil Keyrus, Aziz Cherfaoui recommande de ne pas réinventer systématiquement la roue. "Un réseau de neurones qui a appris à distinguer des chiens et des chats pourra être réutilisé pour classer des races de chats, en modifiant seulement les dernières couches", explique-t-il.  Principal avantage : une nette réduction du volume de données d'apprentissage nécessaire (il pourra passer de millions d'exemples à quelques milliers).

Pour Didier Gaultier, l'erreur des nouveaux venus en IA consiste à choisir un algorithme complexe en espérant obtenir en retour une précision maximale. Vladimir Vapnik l'a pourtant théorisé : la complexité d'un algorithme se fait souvent au détriment de sa robustesse, à savoir sa capacité à produire des résultats probants sur la durée. Le mathématicien russe en déduit qu'il faut adapter la complexité de l'algorithme à celle des données en entrée. Si on retient un algorithme trop complexe pour un jeu de données simples, il renverra des résultats faux. On parle alors de surapprentissage (ou overfitting). Le modèle se noie dans les détails, et perd sa capacité de généralisation. "Pour éviter ce surapprentissage, de deux choses l'une : soit on change de modèle, soit on arrête le processus de learning suffisamment tôt", conseille Aziz Cherfaoui. Et Didier Gaultier d'ajouter : "plus l'algorithme est complexe et plus la phase d'apprentissage sera longue. Un A380 a besoin d'une piste de décollage plus longue qu'un A320."

5. Le dimensionnement de l'infrastructure

Se pose ensuite le choix de l'infrastructure qui va héberger le modèle. Elle doit être à la fois robuste, stable et régulièrement alimentée en données. "L'IA a besoin d'informations en live", poursuit Didier Gaultier. "Le modèle fabriqué avec le data set en stock restera figé s'il n'est pas alimenté de données rafraîchies en permanence." La plateforme qui sous-tend le projet doit être à la hauteur.

Pour assurer la collecte des données, leur stockage et leur traitement, la plupart des IA sont grandes consommatrices de ressources. Certains modèles impliquent des temps de latence de quelques millisecondes. Face à ce défi, l'infrastructure sous-jacente est généralement bâtie sur le modèle du big data, avec une architecture Hadoop associée à Spark ou Flink. Mais la plateforme pourra aussi s'adosser à une base de données SQL traditionnelle, déployée dans le cloud ou en interne, et alimentée par un ETL.

6. Les tests et la validation du modèle

L'étape suivante, c'est la phase de test. Elle passe par la définition d'un jeu de données étalon pour valider les résultats du modèle. Elle fait appel à des techniques dites de validation croisée, mais aussi à des méthodes statistiques. L'un des objectifs étant de faire la chasse aux biais. On se souvient de la polémique autour de l'IA de reconnaissance faciale de Microsoft et de son biais qualifié de raciste. Elle donnait de très bons résultats sur des visages d'hommes blancs mais présentait un nombre d'erreurs important sur des visages à peau sombre. Le modèle était biaisé faute d'un échantillon suffisamment représentatif. "L'essentiel des data set utilisés dans l'IA sont par définition labellisés par des humains. Or, ils ne sont pas par nature 100% objectifs, il faut par conséquent croiser leurs validations pour limiter les biais", rappelle Aziz Cherfaoui.

"Si une IA génère des biais, cela peut aussi révéler un phénomène rare", ajoute l'expert. "Admettons qu'un site d'e-commerce subit 1% de cas de fraude sur ses transactions. Si l'algorithme ne prédit aucune fraude, il sera bon à 99% ce qui est en soit excellent mais complètement inutile. Pour capter le phénomène, il faudra rééquilibrer le data set en suréchantillonnant les données. Ce qui revient à surreprésenter les cas frauduleux tout en réduisant de façon homogène les cas non frauduleux."

7. Le monitoring du modèle

La mise en production de l'algorithme ne scelle pas la fin du projet. "Le modèle doit être surveillé comme le lait sur le feu", souligne Christophe Tricot. Une IA est entraînée dans un contexte mais ce contexte peut être amené à évoluer. Si l'on reprend notre modèle de lutte contre la fraude, ce dernier aura appris les cas de fraude à un instant T. Du coup, il se révélera obsolète à T + 1, les fraudeurs ayant changé de techniques entre temps. "Il faudra réaliser des contrôles réguliers, mesurer le taux d'erreur de la prédiction afin de rectifier le tir en termes de variables et de nouvelles données en entrée", complète Aziz Cherfaoui.

Le modèle peut aussi être confronté à un changement de paradigme. Didier Gaultier prend l'exemple d'une expérimentation lancée chez Business & Decision et qui avait pour objectif de prédire le nombre de médailles par pays aux derniers JO. "Les résultats étaient décevants alors que nous avions un historique conséquent. On s'est rendu compte que les contrôles antidopage avaient changé 4 ans auparavant, modifiant le paradigme. Il aurait fallu entraîner le modèle uniquement sur les données des quatre dernières années mais leur volume était insuffisant. Nous avons dû mettre un terme à l'expérimentation."