« Les utilisateurs peuvent oublier qu’ils ont affaire à des machines »

Christophe, étudiant de Master 2 en Intelligence Artificielle

Pour valider mon master 2 en intelligence artificielle (IA), j’ai effectué un stage de 6 mois dans une entreprise du secteur aéronautique, pour explorer une solution d’aide à la prise de décision en utilisant un “grand modèle de langage“ (en anglais LLM, Large Language Model).
Je dois commencer par expliquer comment est organisée la maintenance des avions, au sein des compagnies aériennes. Un avion est un assemblage de nombreux systèmes, c’est très complexe. En cours de vol, il est en permanence en liaison avec le sol. Il envoie automatiquement des messages au centre de contrôle (MCC, Maintenance Control Center). C’est, intégrée dans chaque compagnie, une grande salle où des ingénieurs surveillent les vols en temps réel pour fournir une assistance, qui décharge les pilotes de certaines tâches. Quand une anomalie, un dysfonctionnement, une panne… surviennent, l’ingénieur décide en fonction des messages qu’il reçoit ce qu’il convient de faire : demander au pilote de se dérouter vers l’aéroport le plus proche, le laisser poursuivre son vol jusqu’à destination, puis anticiper une petite réparation sur le tarmac ou envoyer l’avion ailleurs pour une opération plus lourde. Tout cela en minimisant les retards ou annulations des vols suivants. Tous les dysfonctionnements ne sont pas dramatiques : par exemple, si une panne de gyroscope est détectée, dans la plupart des cas ce n’est pas grave parce qu’il y en a plusieurs. Pour l’aider dans son travail, l’ingénieur au sol dispose de la « notice » fournie par le constructeur avec l’avion. Elle est constituée de milliers de pages où sont décrits l’ensemble des systèmes de l’avion, tous les paramètres à prendre en compte et les conséquences des pannes. Bien sûr, ce sont des pages d’écrans, même si certains ingénieurs utilisent encore parfois la documentation papier.

L’objet de mon stage, c’était l’étude de faisabilité d’une « prélecture » à base d’intelligence artificielle, interrogeable en langage naturel par l’ingénieur MCC et capable de lui renvoyer une synthèse de ce qu’il doit savoir pour décider. Une telle solution représenterait un sérieux gain de temps, en particulier dans des situations complexes où plusieurs systèmes sont concernés. Cela permettrait aux compagnies de prendre plus rapidement de meilleures décisions, de réduire l’impact sur le programme de vol et d’optimiser la maintenance. C’est un enjeu très important parce qu’un avion qui reste au sol engendre très vite des frais énormes, parfois des centaines de milliers d’euros. Un système qui accélèrerait la consultation des documents apporterait alors au constructeur un gros avantage concurrentiel. Et l’intelligence artificielle, tout le monde en veut, c’est très vendeur actuellement.

Dans un premier temps, j’ai essayé de saisir à quelles situations étaient confrontés les ingénieurs MCC, en discutant avec des collègues qui connaissaient leur activité, et comment fonctionnait la documentation. Parce qu’on ne peut pas entraîner une IA à travailler sur des données si on ne sait pas soi-même de quoi il est question. Ici, ça passe par la maîtrise du langage aéronautique, très particulier, avec des abréviations dans tous les sens. Je n’ai pas saisi toutes les nuances, bien sûr. Mais j’ai acquis une compréhension générale du domaine d’activité des ingénieurs. Puis j’ai programmé le logiciel et j’ai fait de la « Data-science », de la gestion de données. Ça consiste à réorganiser, à re-formater les données disponibles, ici la documentation technique, pour que l’IA puisse la “comprendre“.

Comprendre entre guillemets, parce que l’algorithme n’a aucune compréhension des questions qu’il reçoit, ni de ses propres réponses. Il est conçu pour choisir dans l’ensemble des données à sa disposition les mots les plus probables par rapport aux mots de la question. Par exemple, dans la phrase « le chat mange des… », la suite la plus probable sera sans doute « souris » ou « croquettes ». L’algorithme établit une liste des mots, en les classant par ordre de probabilité. Et, en fonction de comment on l’a paramétré, il choisit soit le mot le plus probable, soit un mot parmi les plus probables de manière aléatoire. Et, même si on ne peut pas le percevoir parce que ça va très vite, chaque phrase est élaborée de manière séquentielle, un mot en entraînant un autre. Ça n’a rien à voir avec le raisonnement d’un humain, qui sait dès le premier mot quel sera le sens de la phrase complète qu’il prononce.

Une part importante de mon activité, en tant que développeur, a ainsi consisté à paramétrer le système, c’est-à-dire à lui « apprendre » à donner les « bonnes » réponses, c’est-à-dire les réponses « normales » que donnerait un ingénieur MCC à sa place. Si ça ne correspond pas à ce qui est attendu, je modifie des coefficients qui jouent sur les calculs et en définitive sur les résultats. C’est comme ça que la machine apprend.

Ce qui m’amène à souligner un point important : jusqu’à maintenant, le constructeur n’avait pas développé, pour cette activité, de solution à base d’IA parce que les orientations qui concernent la maintenance, et qui sont prises alors que l’avion est en vol, sont tellement sensibles en termes de sécurité et de coûts qu’on doit être absolument certain de la fiabilité du résultat. Or, il y a une vraie difficulté constitutive de ces modèles de langage. On sait qu’ils marchent bien, globalement, mais qu’il existe des limites qui font peur, même aux meilleurs chercheurs du domaine.

Les LLM sont sujets à ce que les informaticiens appellent en langage de métier des « hallucinations » : on sait les programmer, mais on ne sait pas exactement comment ils fonctionnent, quel cheminement ils empruntent dans leur « réseau de neurones », ni s’ils vont délivrer les meilleures réponses. On ne peut qu’espérer qu’ils nous les donnent, qu’ils se « débrouillent » pour bien répondre. Mais parfois, hop, ça dérive à partir du dernier mot qui est généré, le système est perturbé, il va sortir de ce dont il parlait juste avant et fournir un résultat qui peut très bien être sans rapport avec la question. On peut obtenir des réponses pertinentes, d’autres moins, et dans le pire des cas ça n’a rien à voir ! Les notions de vrai et de faux n’ont pas de signification pour l’IA.

Ce risque est renforcé par le fait que l’IA est conçue pour répondre aux questions posées, pour toujours fournir un résultat, et pas pour nous dire qu’elle ne sait pas ! Le principe à l’origine de la programmation conduit le système à considérer qu’une réponse existe. Dans une certaine mesure, on peut parler d’une forme de « manipulation » de ces systèmes d’IA envers nous : ils nous répondent avec des phrases comme s’ils étaient humains. Ils nous font croire qu’ils savent, alors que ce n’est pas le cas.

Donc, si les hallucinations ne peuvent être totalement évitées, la sécurité exige que l’humain (ici l’ingénieur MCC) – qui décidera en dernier ressort – soit en capacité d’évaluer la fiabilité du système. C’est très éloigné d’un traitement automatique des anomalies en cours de vol. Un moyen d’évaluer la fiabilité est de rendre visible les sources sur lesquelles l’IA s’est appuyée pour répondre, et de demander au système de calculer un score de confiance attribué au résultat, une corrélation entre le contenu de la question et le contenu de la réponse.

C’est ce que je me suis efforcé de faire dans le prototype que j’ai développé. Mais je n’étais que le stagiaire qui explorait la faisabilité.

J’étais intégré à une équipe d’innovation qui regroupait trois compétences : des « designers », qui cherchent à cerner les besoins des clients et imaginent des façons d’y répondre, des « value architects » qui doivent estimer la rentabilité des projets, et des « solution innovators », dont je faisais partie, qui travaillent sur le côté technique proprement dit, la possibilité de faire. A ce stade, on ne se demandait pas encore si les ingénieurs MCC allaient adopter le système, et si ça pouvait vraiment se vendre. C’était bien trop tôt pour leur présenter quoi que ce soit. Au cours de son développement, un projet doit franchir des étapes en interne. Ce n’est pas spécifique de l’IA, c’est une pratique constante dans cette entreprise : régulièrement, les idées d’innovation passent devant un groupe de managers, avec des compétences variées, qui décide en fonction de l’avancement si on poursuit, si on met en pause ou si on abandonne. Il faut défendre son dossier, avec le risque que ça s’arrête à tout moment.

Dans l’équipe, on se comprenait bien, on parlait le même langage. Les discussions pouvaient se dérouler devant un écran, mais aussi autour d’un café. Mes collègues travaillaient sur d’autres sujets, et ils regardaient ce que je faisais, de loin. Entre nous, on parlait de nos activités, d’une manière générale. On testait des solutions. Il pouvait arriver que l’un d’entre nous tombe sur un article, sur un module codé par quelqu’un d’autre, et se dise : « tiens, ce truc peut être intéressant, je vais en parler à untel qui est sur un sujet similaire, voir ce qu’il en pense« . On coopérait entre informaticiens. Ça dope la créativité, la capacité à penser « outside the box », comme on dit dans le jargon professionnel.

Vers la fin de mon stage, j’ai réalisé une présentation au sein de l’entreprise. Elle s’est déroulée à distance, et 90 salariés y ont assisté. Il y avait des experts en IA, d’autres pas du tout. Et c’est une difficulté que j’ai dû surmonter : me préparer pour pouvoir m’adresser à ces deux populations à la fois, en adaptant mon discours pour ne perdre personne en route. C’était en anglais, comme très souvent dans le métier. Et j’ai eu de bons retours, ça fait partie des très bons souvenirs de mon stage. Parmi les gens que je rencontrais, nombreux étaient ceux qui s’interrogeaient sur la pertinence de l’IA, en lien avec les problèmes de fiabilité déjà évoqués. Un de mes collègues avait exprimé plusieurs mois durant de la perplexité, en se demandant ce que je faisais là. Et juste après ma présentation, il m’a dit qu’il comprenait mieux l’intérêt de ce que je cherchais à faire. Mais je sais par ailleurs que de nombreux managers sont assez frileux quant à la poursuite d’un tel projet, qui est très ambitieux, qui va nécessiter des années de développement et pour lequel les compétences n’existent pas en interne actuellement.

Cependant, comme je le disais tout à l’heure, l’IA intéresse aujourd’hui énormément les industriels, qui veulent aller dans cette direction sans savoir de quoi il est question. C’est pour ça que ça a été assez facile de mettre mon stage en place avec les managers. Quand ils entendent IA, ils disent « oui, il faut absolument monter en compétences là-dessus« . Je pense qu’il y a une certaine forme de séduction. C’est certainement lié à la capacité qu’ont ces systèmes à dialoguer en langage naturel avec les utilisateurs, de façon très rapide et polyvalente. C’est plus facile à utiliser qu’un moteur de recherche classique, qui répond avec des liens qu’il faudra ensuite consulter. Et les réponses semblent plutôt correctes en général. Les utilisateurs peuvent oublier qu’ils ont affaire à des machines, il y a un aspect magique qui suscite de l’émerveillement.

J’espère ainsi que ma présentation a contribué à démystifier l’IA, à lui ôter ce côté magique.


En savoir plus sur La Compagnie Pourquoi se lever le matin !

Abonnez-vous pour recevoir les derniers articles par e-mail.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.