Hallucinantes Hallucinations !

Nous y sommes…. Après une année d’euphorie, de promesses et de premières expérimentations, nous entamons la phase de critiques, de déceptions et de remise en cause de ces fameux modèles LLMs (Large Language Model)

Alors que chaque jour, nous l’utilisons pour de multiples applications et usages, de plus en plus de voix s’élèvent pour s’alarmer sur les méfaits d’un phénomène communément appelé « Hallucinations« .

L'ia et les hallucinations

Alors qu’est ce que cela signifie concrètement ?

Lorsque vous posez des questions via le prompt, le système analyse les phrases et mots, définit une « intention » et cherche à trouver la meilleure réponse dans l’immense volume de données que le modèle a ingurgité depuis plusieurs années (via des technologies de WebCrawling et d’autres algorithmes propriétaires).

Son analyse est principalement liée à des recherches statistiques et basée sur la probabilité d’usage des mots afin de vous garantir une réponse telle que vous l’attendez. D’ailleurs comme vous le constaterez, cette réponse peut être différente à quelques minutes d’intervalle (tout va dépendre du cheminement et des poids présents dans le réseau neuronal).

Mais quelquefois la mécanique s’enraye

Ainsi, dans mon cas personnel, j’ai, comme beaucoup, utilisé ChatGPT (dans sa version 3.5) pour vérifier ce qu’il savait de moi. Après avoir résumé plus ou moins bien mon CV, je lui ai demandé de me donner trois articles que j’avais rédigé dernièrement.

Il m’en a fourni effectivement 3 qui traitaient de la robotique et de l’IA.

Très bien me direz vous, sauf que … je n’en suis pas l’auteur !!.

L’inférence a essayé de trouver une réponse satisfaisante (ou a alors cherché à satisfaisait mon ego) en lieu et place de retourner une réponse exacte. Elle a en quelque sorte « inventé » la réponse ou plutôt essayé d’apporter une réponse qui faisait sens par rapport à ma question. Ce sont les principaux symptômes de cette fameuse maladie : l’hallucination.

Cela veut dire en résumé, qu’un modèle aussi expérimenté qu’il puisse l’être (on parle de milliards de paramètres) peut vous apporter une réponse fausse de manière catégorique et « sans sourciller ».

Cela procure assurément un sentiment de défiance dans l’usage de l’outil et nous fait quelque peu douter sur la véracité des informations qu’il nous fournit finalement.

Alors comment éviter cela ? En premier lieu, attardons nous sur un premier élément clé de ce qui caractérise un modèle IA et son inférence : La température.

De manière simpliste la température positionne le degré de créativité (voire de folie) que vous donnez au moteur pour vous fournir une réponse. Plus la valeur est proche de 0 et plus votre modèle va essayer de trouver des correspondances exactes dans son analyse. Plus vous élevez ce paramètre et plus le moteur va au contraire prendre des « initiatives » plus ou moins déconcertantes (c’est là où les résultats peuvent être bluffant quelquefois).

Au lieu de parcourir son arbre et ses couches de réseaux neuronaux en se basant sur un indice de probabilité fort, l’inférence va « sortir » des « routes » classiques pour s’aventurer vers d’autres trajectoires et proposer ainsi des réponses auxquelles on ne s’attend pas.

Malheureusement, il n’est pas possible de modifier ce paramètre dans l’interface ChatGPT offerte par OpenAI (ce n’était pas le cas avant) mais vous pouvez le faire si vous développez vous-même vos interfaces (en utilisant les « Playground » de Hugging Face ou en utilisant les APIs fournies par Langchain par exemple). Bien qu’intéressante, c’est une solution à « court terme » et qui n’empêchera pas malgré tout les possibles « erreurs » du moteur.

Des scientifiques ont travaillé sur des solutions pour contrôler ces hallucinations. Par exemple, Ils ont fourni un ensemble d’informations ciblées (et vérifiées bien sur !) en lien direct avec les résultats fournis par le moteur pour que celui-ci fasse son « auto-critique » et corrige de lui-même les erreurs éventuelles qu’il aurait proposé.

C’est à dire finalement faire jouer un rôle de « débateur » et organiser des échanges contradictoires. Bien entendu, cela implique de relancer le parcours du moteur avec ces nouvelles informations ou tout du moins uniquement sur les couches neuronales finales.

Pourquoi également ne pas reprendre certains concepts des systèmes experts qui proposaient un moteur d’inférence (le fameux chainage « avant » et « arrière » de niveau 0, 0+,1..) et traitaient les informations à partir d’une base de règles et de faits ? C’est à dire, permettre aux modèles LLMs de s’appuyer sur une validation des faits pour assurer la viabilité des informations retournées.

A ne pas douter, différentes solutions seront proposées d’ici les prochains mois qui devront réduire les phases hallucinatoires des modèles mais n’empêchera pas néanmoins d’ôter ce « doute » sur leurs réponses.

Quand on sait que de nombreuses grandes entreprises, ministères et administrations françaises s’appuient fortement sur l’IA pour des prises de décision, cela peut être très inquiétant.

Enfin n’oublions pas que qu’OpenAI est conscient de ce problème puisque la société affiche dans son interface web, le message suivant : « ChatGPT can make mistakes. Consider checking important information », mais est-ce bien suffisant ?

Rémy POULACHON