Pourquoi les systèmes d’IA modernes produisent-ils des résultats erronés et que peut-on y faire ?
Colin Fraser sur Medium, 17 avril 2024 – 34 min de lecture
Comme on nous l’a signalé, les systèmes d’IA modernes sont sujets à des hallucinations.

Nous le savons, mais c’est assez étrange quand on y pense. Pendant plus d’un demi-siècle, les ordinateurs n’ont pas inventé de choses, leur sophistication et leur précision ne faisant que s’améliorer avec le temps. Mais en 2024, même si vous pouvez faire confiance à une calculatrice de poche pour vous donner les bonnes réponses aux problèmes mathématiques que vous lui soumettez, vous ne pouvez pas faire confiance à l’intelligence artificielle la plus sophistiquée au monde pour ces mêmes problèmes.

Pourquoi ?
Je pense que c’est une question très importante et multiforme, et dans cet article, je souhaite l’examiner en détail. L’un des aspects du problème concerne un changement majeur survenu au cours des 30 dernières années environ dans la définition exacte de l’« IA ». Pendant longtemps, la plupart de nos activités de programmation informatique consistaient à trouver des moyens de résoudre des problèmes avec précision. Une calculatrice de poche utilise ce type de méthodes pour produire des solutions à des problèmes mathématiques dont la justesse peut être prouvée. Dans le passé, nous considérions l’application automatisée de ces méthodes précises comme une forme d’intelligence artificielle. Mais aujourd’hui, la plupart de ce que nous décrivons comme « IA » fait référence à des applications d’apprentissage automatique. L’apprentissage automatique est un paradigme de programmation informatique dans lequel, plutôt que d’appliquer une logique déductive pour produire un résultat dont on sait qu’il est correct, comme une calculatrice de poche, les programmes sont conçus pour produire des prédictions, qui peuvent parfois être erronées. Dans la première grande partie de cet essai, je donnerai un aperçu de ce que cela signifie, en passant en revue la différence fondamentale entre l’apprentissage automatique et les anciens types d’IA à un niveau extrêmement élevé, afin de comprendre pourquoi nous nous attendons à ce que ces types de systèmes produisent des erreurs là où les programmes informatiques plus classiques n’en produisaient pas.
Une réponse à la question de l’hallucination semble donc simple : l’IA générative est un apprentissage automatique, l’apprentissage automatique est connu pour produire des erreurs, et une hallucination est une erreur. Ce point de vue implique certaines choses sur la façon dont le problème de l’hallucination pourrait évoluer à l’avenir : historiquement, nous avons constaté que les modèles d’apprentissage automatique font moins d’erreurs à mesure que nous collectons plus de données et construisons des modèles plus grands. Nous pouvons nous attendre à ce que les chatbots et autres systèmes d’IA générative deviennent plus précis au fil du temps, exactement de la même manière. Mais je ne pense pas que ce point de vue soit réellement correct ; selon moi, les hallucinations sont distinctes des erreurs au sens classique de l’apprentissage automatique. Je penche davantage pour l’idée selon laquelle tous les résultats de l’IA générative sont des hallucinations. J’expliquerai exactement ce que j’entends par là dans la deuxième section.
Quoi qu’il en soit, quelle que soit votre définition d’une hallucination et quelle que soit votre opinion sur sa nature, tout le monde s’accorde à dire que certains résultats de l’IA générative sont bons et utiles, tandis que d’autres sont mauvais et inutiles, et il est naturel de vouloir quantifier la proportion de chacun. En fait, je pense que cette quantification est essentielle pour mettre ces éléments en production de manière utile. Mais il s’avère que mesurer ce genre de choses est extrêmement difficile, comme de plus en plus de gens commencent à le comprendre. Dans la troisième grande section, j’explique pourquoi je pense que ce type de mesure est si important, et aussi ce qui le rend si difficile.
1. Cours accéléré sur l’apprentissage automatique
Avant l’apparition de tous ces éléments génératifs, la plupart des IA s’intéressaient au problème consistant à faire des suppositions très spécifiques sur des classes restreintes de résultats. Cet utilisateur va-t-il cliquer sur ce lien ? Quel type d’objet est représenté sur cette image ? Quelle sera la valeur de cette action demain ? Chacune de ces questions trouverait sa réponse dans un programme informatique discret dont la seule fonction serait de répondre à la question pour laquelle il a été conçu.
Comment créer un programme informatique pour résoudre l’un de ces problèmes ? Autrefois, l’approche consistait à raisonner à partir des principes fondamentaux. Pour prédire le temps qu’il faudrait à une pomme pour tomber d’un arbre, Newton a simplement réfléchi longuement à la nature de l’univers et a élaboré une théorie qui produit une équation répondant à la question.
Cette approche a été couronnée de succès pour Newton, mais pour la plupart des problèmes pratiques, il est très difficile de trouver des solutions à partir des principes fondamentaux de cette manière. Beaucoup de gens ont essayé, ce qui nous a permis d’aboutir à des résultats tels que l’équation de Black-Scholes pour estimer la valeur réelle d’un produit dérivé financier, mais pour de nombreux problèmes qui nous intéressent dans le monde moderne, comme deviner quels objets sont représentés dans une image, nous ne saurions même pas par où commencer.
C’est là qu’intervient l’apprentissage automatique. L’idée de base de l’apprentissage automatique est qu’en examinant suffisamment d’exemples du processus que vous essayez de prédire, vous pouvez trouver des modèles qui vous aideront à faire des prédictions précises sans nécessairement avoir besoin de comprendre le processus qui génère ces exemples. En observant un million de pommes tombant d’un million d’arbres de différentes hauteurs, vous pouvez passer outre les Principia et aller directement à l’équation.
Ou du moins, vous pouvez passer directement à une équation. De par la nature même de ce processus, l’équation que vous trouverez aura très peu de chances de correspondre à celle de Newton. Elle produira une équation qui se rapprochera autant que possible des données, mais parmi les innombrables équations qui peuvent approximer un ensemble de données donné, il est peu probable qu’elle corresponde exactement à celle de Newton. Mais ce n’est pas grave. Le fait est que vous n’en avez pas besoin. Vous n’essayez pas de comprendre la gravité, vous essayez de faire des prédictions sur les pommes. Cela peut ne pas sembler idéal pour quelque chose comme la physique, mais pour un problème comme la reconnaissance d’objets dans une image où il n’y a pas de principes fondamentaux évidents, c’est assez pratique.
Le processus de base pour construire un système comme celui-ci s’appelle l’apprentissage supervisé, et si vous prenez suffisamment de recul pour abstraire la plupart des détails, c’est assez simple. Pour construire un système qui devine quel chiffre manuscrit se trouve dans une image, vous collectez un grand ensemble de données d’images de chiffres et vous étiquetez manuellement chaque image avec le chiffre qu’elle représente. C’est ce qu’on appelle les données d’entraînement. Ensuite, vous montrez toutes les images des données d’entraînement à l’ordinateur et vous lui demandez de deviner quel chiffre se trouve dans chaque image, puis vous lui attribuez une note en fonction du nombre de fois où il a trouvé la bonne réponse. Vous répétez cette opération plusieurs centaines de milliers de fois, et l’ordinateur essaie à chaque fois différentes stratégies de devinette, à la recherche de celle qui lui donne la note la plus élevée. Cette recherche de la stratégie de devinette la plus performante peut être très longue et coûteuse en termes de calcul, mais les récentes innovations en mathématiques pour trouver les scores élevés ainsi que en efficacité informatique ont rendu cette stratégie de base extrêmement efficace pour un large éventail de tâches.
Pour introduire un peu plus de terminologie ici, la recherche de la meilleure stratégie de devinette est appelée « entraînement », et le système qui en résulte est souvent appelé « modèle ». Un modèle qui devine à partir d’un ensemble d’étiquettes discrètes est un « classificateur », et les praticiens de l’apprentissage automatique préfèrent appeler les devinettes « prédictions ».
Il vaut la peine de s’attarder un instant sur la différence entre l’approche de l’apprentissage automatique et celle de Newton. Newton peut s’inspirer de quelques pommes tombant des arbres, mais son projet consiste à développer une théorie qui codifie les principes généraux du mouvement des corps célestes. Une équation découle de cette théorie pour nous indiquer, entre autres, le temps qu’il faut à une pomme pour tomber d’un arbre. Pour un spécialiste de l’apprentissage automatique, les principes généraux qui régissent les relations entre les corps célestes n’ont pratiquement aucune pertinence. Le machine learner se concentre uniquement sur la reproduction précise d’un ensemble de données comprenant un million de temps de chute de pommes. Chaque approche présente des avantages et des inconvénients. L’approche du machine learning produira probablement une équation incompréhensible qui nous en apprendra très peu sur la nature générale de la gravitation, mais d’un autre côté, elle sera peut-être mieux à même d’intégrer les complexités du monde réel, telles que la résistance de l’air, qui compliquent l’approche de Newton.
Je compare l’apprentissage automatique à l’approche de Newton uniquement pour souligner que l’apprentissage automatique supervisé n’est pas le seul moyen de construire un système d’intelligence artificielle. Il existe de nombreuses façons de programmer un ordinateur, et aucune n’est manifestement ou nécessairement meilleure qu’une autre pour une application particulière ex ante. Mais au cours des 15 dernières années environ, il est devenu évident que l’apprentissage supervisé peut être efficace pour des tâches beaucoup plus complexes que ce que l’on aurait pu imaginer. Par « complexité », j’entends ici la variété des entrées et sorties possibles d’un modèle. Un tutoriel d’introduction à l’apprentissage automatique typique pourrait vous montrer comment construire un système qui prend une image de 256 × 256 pixels d’un chiffre manuscrit et produit l’une des dix étiquettes possibles, à savoir les chiffres de 0 à 9. Vous pouvez construire un modèle de ce type qui atteint une précision assez élevée avec seulement quelques dizaines de milliers d’images. Mais si, au lieu d’un millier d’images étiquetées, vous pouvez utiliser des millions ou des milliards d’images, vous pouvez considérablement élargir l’univers des entrées et sorties possibles. Les modèles de diffusion d’images tels que Stable Diffusion, par exemple, sont entraînés sur toutes sortes d’images de toutes tailles, et plutôt que de produire l’une des quelques étiquettes discrètes, ils produisent une image entière. Autrement dit, au lieu de produire une correspondance entre 256 × 256 = 65 536 entrées possibles et dix sorties possibles, ils produisent une correspondance entre un ensemble incroyablement vaste d’entrées possibles et un ensemble incroyablement vaste de sorties possibles. Le fait que l’on puisse faire quelque chose d’aussi complexe à l’aide de l’apprentissage automatique n’est pas évident, et je dirais que c’est l’une des découvertes scientifiques majeures des 15 dernières années.
Le hic, c’est que pour construire ce type de modèles plus complexes, il faut disposer d’une quantité extrêmement importante de données, et obtenir des ensembles de données suffisamment volumineux devient rapidement prohibitif. Les modèles les plus prometteurs pour ces tâches très complexes nécessitent des milliards d’exemples étiquetés, voire plus, et il est tout simplement impossible d’examiner manuellement un milliard d’images et de noter les objets qu’elles représentent.
Si vous pouviez générer les étiquettes sans avoir à examiner manuellement tous les exemples, vous auriez alors une chance d’y parvenir. C’est le principe fondamental de l’apprentissage auto-supervisé, le paradigme d’apprentissage automatique qui sous-tend les systèmes d’IA générative modernes. Si vous pouvez mettre la main sur des milliards de phrases, par exemple en récupérant tout le texte disponible sur Internet, vous pouvez construire l’ensemble de données d’entraînement de manière programmatique en découpant les phrases en morceaux. Il suffit de transformer « Le renard brun rapide saute par-dessus le chien paresseux » en exemple d’entraînement « Le renard brun rapide saute par-dessus le ___ paresseux » et de lui attribuer l’étiquette « chien ». En fait, vous pouvez construire de nombreux exemples d’entraînement à partir de cette seule phrase en la découpant à différents endroits : « Le rapide » et « brun », « Le rapide brun » et « renard », etc. À partir d’une seule phrase, nous obtenons huit exemples d’entraînement sans qu’aucun étiquetage humain ne soit nécessaire. Multipliez cela par le nombre de phrases qu’il est possible de récupérer sur Internet, et vous vous approchez de la taille nécessaire pour entraîner ce type de modèles complexes.
Une observation importante à ce sujet, sur laquelle je reviendrai dans un instant, est que, mis à part les différences considérables en termes de taille et de complexité, le processus d’entraînement du GPT et celui d’un classificateur traditionnel ne sont pas si différents. Le LLM traite beaucoup plus d’entrées et de sorties possibles, mais il est entraîné fondamentalement de la même manière, pour faire la même chose : deviner la bonne étiquette pour l’entrée donnée.

Les deux modèles sont construits en leur montrant un ensemble d’exemples incomplets, en leur demandant de deviner les compléments et en notant leurs suppositions. Les grandes innovations associées à l’entraînement des systèmes d’IA générative modernes consistent à trouver des moyens astucieux de construire automatiquement des ensembles de données d’entraînement massifs, ainsi qu’à inventer de nouveaux types de boîtes noires adaptées à l’exécution de tâches complexes, mais le principe de base de leur entraînement est essentiellement le même depuis des décennies.
L’histoire pourrait s’arrêter là. Parfois, un système de reconnaissance numérique confond un 7 et un 9, et parfois, un modèle linguistique affirme que « le renard brun rapide saute par-dessus le marasme brun paresseux ». Cela fait partie intégrante de l’apprentissage automatique, car les modèles d’apprentissage automatique font des prédictions basées sur des modèles plutôt que sur des déductions déductives prouvées, et cela tend à s’améliorer avec le temps grâce à davantage de données et à des modèles plus importants.
Mais je ne pense pas que ce soit juste.
2. La différence entre une hallucination et une erreur
Parfois, vous montrez au modèle une image d’un 7 et il dit que c’est une image d’un 9. Cela a toujours été le cas. Lorsque cela se produit inévitablement, pourquoi ne dit-on pas que le système de reconnaissance des chiffres « hallucine » ? Pourquoi une information inexacte n’est-elle une hallucination que lorsqu’elle provient d’un chatbot ?
Comme je l’ai mentionné il y a un instant, un LLM et un classificateur classique sont conceptuellement très similaires dans leur construction. Le LLM est un classificateur, bien que très complexe. Tout comme le système de reconnaissance des chiffres est entraîné à remplir l’étiquette manquante sur une image préexistante, le LLM est entraîné à remplir le mot manquant à la fin d’une phrase préexistante. La principale différence ici réside dans la complexité et l’échelle. Mais bien qu’ils soient similaires dans leur construction, il existe une énorme différence dans la manière dont les systèmes d’IA générative sont déployés.
En général, nous déployons un classificateur pour effectuer la même tâche que celle pour laquelle il a été entraîné. Lorsque nous déployons le système de reconnaissance des chiffres, nous l’utilisons pour reconnaître des chiffres. Nous disposerons probablement d’un processus permettant de collecter des chiffres manuscrits, et nous utiliserons le modèle pour lire ces chiffres collectés afin d’effectuer une opération telle que le dépôt d’un chèque.
Les systèmes d’IA générative sont différents. Lorsque nous déployons un LLM sous forme de chatbot à l’usage de tous, nous passons de son utilisation pour deviner le mot suivant dans une phrase préexistante à la « devinette » du mot suivant dans une chaîne de caractères entièrement nouvelle qui n’existe pas réellement. Il s’agit d’un changement énorme, dont l’importance est, à mon avis, généralement sous-estimée. Cela signifie que, contrairement à un classificateur classique, il n’y a tout simplement aucun moyen d’évaluer la précision de la sortie du LLM de manière traditionnelle, car il n’y a pas d’étiquettes correctes auxquelles la comparer. Je pense que ce point est un peu subtil et qu’il sera utile de le détailler pour le mettre en évidence.
Lorsque vous entrez une image du chiffre 7 dans le système de reconnaissance des chiffres, il existe une seule étiquette correcte et sans ambiguïté que vous espérez voir apparaître : « 7 ». S’il affiche les étiquettes « 1 » ou « 9 », cela est clairement incorrect et nuit à la précision de votre modèle. Ces erreurs sont identiques à celles commises pendant l’entraînement, et il est donc logique de parler du taux d’erreur sur les nouvelles données (ce qu’on appelle « l’erreur de généralisation » ou « l’erreur hors échantillon ») exactement de la même manière que nous parlons du taux d’erreur sur les données d’entraînement.
Lorsque vous entrez la chaîne « Que vaut 2 + 2 ? » dans ChatGPT, il n’y a pas de mot suivant unique et sans ambiguïté. Vous aimeriez que le mot suivant soit quelque chose comme « 4 ». Mais « 2 » pourrait également convenir, comme dans « 2 + 2 = 4 ». « La » pourrait également être un bon mot suivant, comme dans « La somme de 2 et 2 est 4 ». Bien sûr, n’importe lequel de ces mots pourrait également être le premier mot d’une mauvaise réponse, comme « 4,5 » ou « 2 + 2 = 5 » ou « Le renard brun rapide ». La tâche pour laquelle le modèle a été conçu consiste à remplir le mot qui a été censuré dans un passage existant, une tâche qui a une réponse correcte sans ambiguïté, mais la situation est désormais complètement différente. Il existe de meilleurs mots suivants et de moins bons mots suivants, mais il n’y a pas de mot suivant correct au même titre que lors de l’entraînement, car il n’y a pas d’exemple à reconstruire.
Une erreur au sens classique du terme pour un modèle linguistique serait l’incapacité à reproduire le mot manquant qui a été censuré dans l’exemple d’entraînement, mais en production, ces modèles ne sont tout simplement pas utilisés pour cela. C’est un peu comme si nous commencions à insérer des images d’animaux dans le système de reconnaissance des chiffres. Si le système de reconnaissance des chiffres appelle un lion un 6, a-t-il commis une erreur ? Non, je ne pense pas. Vous l’utilisez pour une tâche différente de celle pour laquelle il a été formé ; il n’y a pas de bonne réponse, donc les erreurs ne sont pas définies.
Dans la pratique, nous avons tendance à ne pas nous soucier outre mesure de ces prédictions de mots individuels. Le LLM, le moteur qui fait fonctionner ChatGPT, ne fait rien d’autre que deviner les mots un par un, mais le système ChatGPT comprend un composant qui renvoie ces prédictions au LLM afin de générer une séquence complète de mots qui composent une réponse textuelle complète. C’est le contenu sémantique qui émerge dans cette réponse textuelle complète qui nous intéresse généralement, et non un mot en particulier.
C’est au moins en partie pour cette raison que c’est une « erreur » lorsque le classificateur de chiffres manuscrits confond un 7 et un 9, mais une « hallucination » lorsque GPT-4 affirme qu’un éléphant nommé Kami a traversé la Manche à la nage en 1981 afin de collecter des fonds pour le World Wildlife Fund.

Bien sûr, ce n’est pas vrai qu’un éléphant nommé Kami ait traversé la Manche à la nage en 1981, mais la façon dont ChatGPT se trompe ici est très différente de la façon dont un classificateur d’images se trompe lorsqu’il confond un 7 et un 9. ChatGPT a fait 110 prédictions distinctes ici, et il n’est pas évident de classer chacune d’entre elles comme correcte ou incorrecte. Chaque mot prédit a un sens par rapport aux mots qui le précèdent, et cela ressemble beaucoup à une séquence de mots que l’on pourrait trouver dans les données d’entraînement.

À mon avis, certains, voire la plupart des mots prédits ici sont probablement plus proches de la vérité que de l’erreur. Bien sûr, il n’existe pas de moyen universel de définir cela objectivement, car il n’y a pas de texte préexistant auquel le comparer (c’est en quelque sorte toute ma thèse ici), mais pouvez-vous penser à un meilleur mot pour suivre « reste un événement unique dans l’histoire des animaux » que « exploits » ? Parmi toutes les prédictions faites par le modèle, il est assez difficile de déterminer lesquelles, le cas échéant, nous devrions qualifier d’erreurs — même si, dans l’ensemble, il est clair que ce résultat n’est pas celui que nous souhaitons.
Mais pourquoi n’est-ce pas celui que nous souhaitons ? Qu’est-ce qui ne va pas exactement ? De toute évidence, le principal problème est qu’il semble décrire un événement qui ne s’est pas réellement produit. Mais quand j’y réfléchis vraiment, je trouve cela un peu déroutant. Et si un éléphant d’Asie nommé Kami avait réellement traversé la Manche à la nage en 1981, exactement comme le décrit ce texte ? Dans ce cas, cette paire identique d’entrée et de sortie ne serait pas hallucinatoire. Cela semble impliquer qu’il n’y a rien d’inhérent au texte de la paire entrée-sortie qui le rende hallucinatoire ; le fait qu’il soit hallucinatoire ou non dépend entièrement de faits concernant le monde, des faits qui existent de manière totalement indépendante du texte produit par le modèle. Mais s’il n’y a rien d’inhérent au texte qui le rende hallucinatoire, alors l’hallucinatoire est-il même une propriété du texte ? Pas entièrement, semble-t-il. C’est une propriété de la manière dont le texte se rapporte aux objets et aux événements du monde réel.
Pour compliquer encore les choses, la mise en correspondance du texte avec les faits du monde réel est une tâche plus délicate et plus subjective qu’on ne le souhaiterait. J’ai lu le passage sur Kami comme faisant plusieurs affirmations, dont beaucoup sont vraies : la Manche mesure « environ 21 miles à son point le plus étroit » et elle représente « un défi important, même pour les nageurs expérimentés, en raison des forts courants et de la température froide de l’eau ». Comme la plupart des lecteurs, je pense, je serais probablement d’accord pour dire que l’essentiel de l’affirmation faite par le texte est qu’un éléphant nommé Kami a traversé la Manche à la nage, ce qui est faux, et que le passage est donc peut-être « hallucinatoire », mais pouvez-vous trouver un critère objectif permettant d’évaluer ce type de texte ? Cela me semble difficile. Le résultat suivant serait-il une hallucination ou non ? (Il est très important de toujours garder à l’esprit que, comme ces systèmes génèrent des textes de manière aléatoire, une même invite peut donner lieu à des résultats différents, dont certains peuvent être considérés comme hallucinatoires et d’autres non.)

Et celui-ci ?

Je ne dis pas qu’il est impossible de trouver des critères permettant de les classer sans ambiguïté, mais ce n’est pas aussi simple que vous pourriez l’espérer.
Permettez-moi de récapituler une fois de plus les principes de base du fonctionnement de ChatGPT. Tout d’abord, vous entraînez un classificateur, de manière plus ou moins standard, à remplir le mot manquant dans un bloc de texte. Vous disposez alors d’un modèle capable de produire un seul mot à la fois : le mot manquant prédit, compte tenu du texte précédent. À partir d’un texte initial, par exemple « 2 + 2 », ce modèle agit comme s’il s’agissait du début d’un document existant dont le dernier mot a été censuré, et produit une supposition quant au mot censuré. Il suppose peut-être « égale ». Maintenant, pour transformer cela en un système qui produit plus d’un mot à la fois, vous collez cela à la fin de l’invite et vous le réinjectez dans le modèle. Le modèle est invoqué une fois de plus, sans tenir compte de l’activité précédente, et on lui demande de deviner le mot qui a été censuré à la fin de « 2 + 2 égale ». Cela se répète encore et encore jusqu’à ce que le modèle prédise qu’il n’y a pas de mot suivant. À un niveau élevé, les modèles d’images génératifs fonctionnent de manière assez similaire. Ils sont entraînés à reconstruire une image à partir d’une version déformée de celle-ci et d’une description textuelle simple de l’image. Pour générer de nouvelles images, vous entrez la description en texte brut de ce que vous voulez produire, et à l’endroit où le modèle s’attend à trouver l’image déformée, vous entrez un bruit aléatoire. Dans les deux cas, le modèle « pense » qu’il reconstruit un artefact existant, mais en réalité, il en génère un nouveau. Compte tenu de cette description, je pense qu’il est logique de se demander : est-ce que toutes les sorties de l’IA générative sont des « hallucinations » ? Si la manière de les amener à produire des résultats consiste à leur dire que ces résultats existent déjà et à les mettre au travail pour les reconstruire, cela me semble être comme si nous leur demandions d’halluciner.
Certains chercheurs éminents en IA ont récemment adhéré publiquement à cette opinion selon laquelle tous les résultats des LLM sont des hallucinations — et qu’en outre, c’est en fait une bonne chose. Andrej Karpathy a récemment tweeté que les LLM sont des « machines à rêves », que « l’hallucination n’est pas un bug, c’est la plus grande caractéristique des LLM ». » Je n’irais peut-être pas jusqu’à qualifier cela de « formidable » fonctionnalité, mais je pense sincèrement que c’est leur caractéristique principale.
Ce n’est en réalité pas une perspective nouvelle, mais relativement ancienne. En 2015, Google a lancé un système appelé DeepDream, qui était très clairement un précurseur des systèmes d’IA générative actuels, et très certainement ce à quoi Karpathy faisait allusion en qualifiant les LLM de « machines à rêves ».

Ce système est né de la prise de conscience qu’ils pouvaient reconfigurer la technologie qu’ils utilisaient pour classer les images afin de générer des images qui n’existaient pas auparavant. Comme les images générées ne représentent pas vraiment quelque chose qui existe dans le monde réel, mais plutôt une sorte d’écho statistique des images issues des données d’entraînement, ils ont décidé de les appeler « rêves ». Les créateurs de DeepDream n’ont pas prétendu que le modèle produisait des images qui étaient « parfois des hallucinations ». Il était clair dès le départ que chaque information générée par ces modèles était un « rêve ». À l’époque, cela semblait plus être une curiosité qu’un outil pouvant réellement être utile en soi, ou tout au plus un moyen de mieux comprendre le fonctionnement interne du classificateur.

À l’époque, peu de gens semblaient penser que ce type de rêves pouvait être utile en soi, mais nous avons depuis appris que si l’on entraîne un modèle suffisamment complexe avec suffisamment de données, les rêves peuvent devenir très vivants et correspondre fréquemment à des faits du monde réel. Mais dans la mesure où cela se produit, il s’agit selon moi essentiellement d’une heureuse coïncidence. Du « point de vue du modèle », il n’y a pas de distinction entre un texte hallucinatoire et un texte non hallucinatoire. Toutes ses sorties sont des reconstructions imaginaires de documents censurés fictifs.
Cela peut sembler plutôt philosophique et abstrait, et dans une certaine mesure, ça l’est, mais je pense que cela a aussi des implications très concrètes sur la façon dont on peut s’attendre à ce que cette technologie évolue. Si une hallucination est analogue à une erreur typique de tout autre modèle d’apprentissage automatique, alors nous avons de bonnes raisons empiriques de croire que la prévalence des hallucinations peut être réduite de manière significative jusqu’à atteindre zéro. Il existe aujourd’hui des modèles d’apprentissage automatique très performants pour la reconnaissance des chiffres manuscrits. Les étapes de base sont simples : entraîner le modèle sur davantage de données et l’agrandir. Mais si les hallucinations sont qualitativement différentes des erreurs classiques, comme je le crois sincèrement, alors la situation peut être différente. Dans ce cas, il n’est pas si évident que davantage de données ou des modèles plus grands conduisent à moins d’hallucinations. Peut-être que la solution ne réside pas dans davantage de données ou des modèles plus grands, mais dans autre chose : une manière complètement nouvelle et différente d’entraîner le modèle, ou une nouvelle manière de générer des prédictions. Et en fait, l’approche actuelle de pointe pour traiter les hallucinations n’implique pas vraiment de collecter un ensemble de données significativement plus grand ou d’agrandir le modèle ; le RLHF s’apparente davantage à une manière complètement nouvelle et différente de modifier un modèle pré-entraîné (I j’ai développé le RLHF en détail dans cet article précédent, ainsi que de manière un peu moins détaillée mais sous des angles différents dans celui-ci et celui-là). Est-ce la solution ? Peut-être ; personne ne le sait ! Si l’on considère que le problème des hallucinations est qualitativement nouveau, plutôt qu’un exemple du problème bien connu des erreurs occasionnelles des modèles d’apprentissage automatique, l’inévitabilité d’une amélioration progressive mais perpétuelle dans ce domaine n’est pas du tout garantie.
Ce qui est vraiment effrayant dans cette perspective, c’est que le problème de l’hallucination est tout simplement insoluble. L’hallucination et la non-hallucination ne sont pas en réalité des catégories distinctes de résultats ; chaque fois que vous demandez au bot de vous dessiner une image ou de vous écrire un essai, vous lui demandez de halluciner. Ces hallucinations s’écarteront inévitablement du monde réel, au moins parfois, car comment pourraient-elles ne pas le faire ? Ce sont des rêves.
Je pense qu’il est révélateur que la plupart des tentatives réelles visant à ancrer les systèmes basés sur le LLM dans la vérité ne soient pas vraiment des moyens d’améliorer le modèle, mais plutôt des moyens d’ajouter des éléments non LLM au système plus large qui produisent des textes factuels plus fiables sur lesquels il peut s’appuyer : lui fournir un environnement dans lequel exécuter du code, par exemple, ou lui fournir les résultats de recherche de Bing. Ces modules complémentaires (OpenAI les appelle littéralement « add-ons ») peuvent réussir dans une certaine mesure à susciter des hallucinations qui correspondent mieux au monde réel, mais cela ne me semble pas résoudre le problème à la racine, à savoir que le moteur de génération ne peut pas faire la différence entre générer des vérités et générer des mensonges.
En aparté, je trouve que le battage médiatique autour de l’IA générative est plutôt déroutant et confus. Bien sûr, je trouve qu’il est exagéré à bien des égards. Vous le savez, je n’ai pas besoin de m’étendre sur le sujet. Mais d’un autre côté, je pense qu’on sous-estime et sous-évalue le miracle que représente le simple fait que cela fonctionne. Je ne trouve pas si surprenant que, avec un ensemble de données suffisamment grand et un modèle suffisamment vaste, on puisse entraîner un grand modèle à prédire le mot manquant dans un passage de texte avec une précision assez élevée. Mais le fait que l’on puisse réinjecter la sortie de ce modèle dans le modèle lui-même pour générer du texte, et que le texte obtenu soit même vaguement cohérent, sans parler d’utile, relève tout simplement du miracle. Pourtant, je ne vois pas vraiment ce dernier point être mis en avant. Ce n’est qu’une opinion personnelle, mais je ne pense pas que (certaines des) personnes qui ont développé cette technologie veulent vraiment reconnaître à quel point il est surprenant que cela fonctionne, car cela soulève la question délicate de savoir s’il faudra des miracles d’une ampleur similaire pour l’améliorer, par exemple pour éliminer le problème des hallucinations. Il est plus confortable de présenter GPT-4 comme une brève étape dans la marche inexorable vers la super-intelligence artificielle, avec les hallucinations et tous les autres problèmes comme des incidents temporaires en cours de route, plutôt que comme une astuce étrange découverte en 2017 qui a produit des résultats complètement imprévisibles et surprenants que personne ne comprend vraiment.
3. Sur les risques liés aux mauvais résultats
D’après le point de vue exposé dans la section précédente, il n’existe pas de distinction universelle réelle entre les résultats hallucinatoires et les résultats qui ne le sont pas. Il peut y avoir des résultats plus souhaitables et d’autres moins souhaitables, mais le caractère souhaitable n’est pas une propriété inhérente au texte, mais plutôt une propriété liée à la manière dont il est interprété et utilisé par le lecteur. Vous pouvez être d’accord avec cela, ou non. Quoi qu’il en soit, je pense qu’il est important, voire essentiel, de réfléchir et d’essayer de quantifier la fréquence des différents types de textes que le modèle produit dans différentes circonstances.
Cela suggère une idée assez simple : pourquoi ne pas simplement définir arbitrairement certains critères pour déterminer ce qui constitue une hallucination, indépendamment des questions philosophiques sur l’existence objective d’une telle chose, et essayer d’évaluer les modèles par rapport à cette définition afin d’obtenir un « taux d’hallucination » ? Dans cette section, je vais aborder certaines des difficultés que nous rencontrons lorsque nous essayons de le faire.
Tout d’abord, il y a quelques remarques à faire sur la manière d’appréhender les erreurs en général. Il est amusant et intéressant d’apprendre les détails techniques spécifiques du fonctionnement des différents systèmes d’IA, mais lorsque l’on envisage d’en déployer un pour automatiser des décisions réelles avec des enjeux réels, seules trois choses importent vraiment : quels types d’erreurs commet-il, à quelle fréquence les commet-il et quel est le coût de ces erreurs ? Les réponses à ces questions déterminent s’il est rationnel d’utiliser le système en production, et parfois ce n’est pas le cas !
Supposons que vous envisagiez d’utiliser un modèle qui prédit si une maison est sous-évaluée comme base pour votre activité d’investissement immobilier. Si le modèle prédit que la maison est sous-évaluée, vous l’achetez et la revendez au prix que votre modèle estime être sa juste valeur marchande. La viabilité de cette stratégie dépend fortement du type et de la fréquence des erreurs commises par votre modèle. Il ne suffit pas de savoir que « dans 90 % des cas, le modèle se situe à moins de 5 % du prix de vente réel ». Vous devez en savoir beaucoup plus. Dans les 10 % des cas où l’écart est supérieur à 5 %, de combien s’agit-il ? Si l’écart est parfois de 100 % ou 1 000 %, cela pourrait suffire à vous ruiner, même si cela n’arrive que rarement. Dans les 90 % des cas où l’écart est inférieur à 10 %, le modèle a-t-il tendance à surestimer ou à sous-estimer ? Si le modèle a tendance à sous-estimer la valeur réelle des maisons, vous manquerez souvent des occasions lucratives de revendre ou vous vendrez trop tôt. Cela peut être ennuyeux, mais tant que le modèle donne parfois des résultats corrects, vous disposez peut-être d’un moyen viable de gagner de l’argent. En revanche, si le modèle a tendance à surestimer la valeur réelle d’une maison, vous paierez trop cher pour des actifs surévalués, ce qui est un bon moyen de faire faillite. La morale de l’histoire est qu’il est primordial de comprendre et de planifier les erreurs commises par le modèle (non seulement leur fréquence, mais aussi leur nature et leur coût) si vous comptez l’utiliser pour automatiser la prise de décision. Cela vaut pour tous les modèles, de la régression linéaire à variable unique la plus simple au plus grand modèle linguistique au monde.
Mais pour l’IA générative, comme je l’ai expliqué, on ne sait pas très bien comment définir ou décrire les erreurs, et encore moins comment les mesurer et les analyser. Des tentatives ont été faites. Comme je l’ai suggéré précédemment, vous pouvez essayer de demander au système LLM de générer un ensemble de résultats, les lire pour déterminer s’ils sont corrects ou incorrects, et à partir de là, calculer un « taux d’hallucination ». Une société appelée Vectara dispose d’un programme qui tente de faire exactement cela et tient à jour un « Hallucination Leaderboard » (classement des hallucinations) qui indique actuellement que le taux d’hallucination de GPT 4 Turbo est de 2,5 %, tandis que celui de Mistral 7B Instruct-v0.1 est de 9,4 %.
J’ai de sérieuses réserves méthodologiques quant à la manière dont ces chiffres sont estimés et j’y reviendrai dans un instant, mais même en supposant qu’il existe une méthode méthodologiquement fiable pour quantifier cela, un tel « taux d’hallucination » est loin d’être une information suffisante. Tout comme dans l’exemple de l’achat d’une maison, ce n’est pas seulement la fréquence des erreurs qui importe, mais aussi leur nature. Lorsque le bot LLM dit quelque chose de faux, que dit-il exactement ? Dit-il qu’il a plu le week-end dernier alors qu’il faisait en réalité beau ? Ou fait-il des offres extravagantes à votre client que vous ne pouvez pas tenir ? S’il se trompe sur la météo du week-end dernier 2,5 % du temps, cela peut suffire pour un assistant de chat en contact avec la clientèle, mais vous préféreriez probablement qu’il donne gratuitement votre stock beaucoup moins souvent que 2,5 % du temps.
Dans le contexte classique de l’apprentissage automatique, il est généralement possible de fixer des limites aux différents types d’erreurs et à leurs taux, ou du moins de donner une indication qualitative à leur sujet. Vous ne savez pas dans quelle mesure l’estimation du prix d’une maison sera erronée, mais vous savez qu’il s’agira au moins d’un chiffre, et vous pouvez probablement effectuer une analyse statistique pour déterminer s’il a tendance à surestimer ou à sous-estimer, etc. Vous ne savez pas ce que le système de reconnaissance des chiffres va penser de ce « 7 », mais vous savez avec certitude qu’il va au moins essayer de deviner un chiffre. Avec ces nouveaux systèmes d’IA générative, le résultat peut être apparemment n’importe quoi. L’espace des textes indésirables possibles est infiniment vaste. ChatGPT pourrait citer un prix erroné à votre client, lui recommander un concurrent, lui adresser des insultes racistes, générer une image pornographique ou commettre une infinité d’autres erreurs, chacune d’entre elles ayant un coût différent.
Sans savoir plus précisément quels types d’erreurs il commet, un taux d’hallucination générique ne vous donne tout simplement pas suffisamment d’informations pour savoir si un LLM vous convient.
Je voudrais revenir sur les défis méthodologiques, car je pense qu’ils sont importants. J’en vois au moins trois qui sont difficiles à relever. Le premier, et le moins grave, est qu’il n’y a manifestement pas de consensus sur ce qui constitue une « hallucination ». Le classement Vectara n’est en réalité pas très précis quant à sa définition d’une hallucination, mais celle-ci semble être à peu près la suivante : une hallucination est une tentative infructueuse de résumer avec précision un texte. Cela convient dans la mesure où cela va, mais si vous n’utilisez pas le modèle pour résumer du texte, alors une mesure de la fréquence à laquelle un modèle échoue à résumer avec précision du texte peut ne pas vous être particulièrement utile. C’est un problème, mais pas un problème très grave tant que vous prenez soin de bien comprendre la méthodologie de la référence en matière d’hallucination que vous examinez. Il vous suffit de lire la documentation, de décider si votre définition personnelle d’une hallucination correspond à la définition de la référence, et de procéder en conséquence.
Les deuxième et troisième problèmes sont nettement plus difficiles à traiter. Le deuxième problème est qu’il est pratiquement impossible de réaliser correctement ces évaluations. Pour évaluer correctement le taux d’hallucination de Vectara (et je suis désolé de continuer à m’en prendre à Vectara, car tous les benchmarks ont le même problème), il faudrait lire attentivement des dizaines de milliers de résumés de texte de plusieurs paragraphes et déterminer si chacun d’entre eux contient des erreurs factuelles. Il est tout simplement impossible de le faire de manière continue. Au lieu de cela, une fois tous les résumés textuels générés, ils utilisent un autre grand modèle linguistique pour déterminer si les résumés contiennent des erreurs. J’espère que vous comprenez le problème que cela pose.

Le but de cet exercice est d’observer que les générateurs basés sur les LLM semblent peu fiables lorsqu’il s’agit de s’en tenir à la vérité, et nous utilisons maintenant un LLM pour déterminer s’ils s’en sont tenus à la vérité. Je tiens à préciser que je ne pense pas que l’idée d’utiliser des LLM pour évaluer d’autres LLM soit nécessairement une impasse totale. Mais pour le faire correctement, il faudra recourir à une méthodologie statistique sophistiquée afin de corriger les erreurs commises par le modèle de mesure, et je n’ai vu aucun benchmark standard aborder ce problème. Le modèle de mesure lui-même va commettre des erreurs, et il est presque certain que ces erreurs vont biaiser toute estimation de la prévalence réelle des erreurs. Ce n’est pas un problème statistique nouveau ; le problème de l’estimation de la prévalence d’une population en comptant le nombre de résultats positifs produits par un test peu fiable a été largement étudié en épidémiologie, par exemple.
Cet article traite de certaines propriétés fondamentales des tests [d’hallucination]. Ces tests visent à séparer les [résultats des LLM] avec [hallucinations] des [résultats des LLM] sans. Les critères minimaux pour qu’un tel processus soit considéré comme un test sont examinés. Diverses façons d’évaluer la qualité d’un test sont examinées. Les tests sont couramment utilisés pour estimer la prévalence des [hallucinations] ; la fréquence des tests positifs s’avère être une mauvaise estimation, et les ajustements nécessaires sont indiqués.
— Résumé de Rogan, W. J., & Gladen, B. (1978). Estimation de la prévalence à partir des résultats d’un test de dépistage. (Légèrement modifié et annoté par mes soins)
Ainsi, même si je pense qu’il existe des pistes potentielles pour résoudre le problème difficile de la description des résultats des LLM à l’aide d’estimateurs peu fiables, je ne les vois pas intégrées dans les benchmarks largement disponibles. Dans l’état actuel des choses, je ne les considère pas comme fiables.
Les premier et deuxième problèmes sont toutefois sans importance, car le troisième problème est fatal. Il provient des statistiques 101. Nous supposons qu’un modèle a un « taux d’hallucination » objectif, c’est-à-dire un taux moyen auquel un modèle produit des hallucinations, et nous essayons de l’estimer en vérifiant la fréquence à laquelle les hallucinations se produisent dans un échantillon de sa production. Mais, d’une manière générale, pour que cette stratégie fonctionne, l’échantillon doit être représentatif de l’ensemble de la population ; c’est-à-dire que le texte doit ressembler à celui que l’on obtiendrait en échantillonnant aléatoirement un passage parmi tous les textes possibles. Et ces ensembles de données de référence, pour le dire gentiment, ne ressemblent pas à cela. Ils sont généralement construits de manière très artificielle et, dans l’ensemble, ne ressemblent pas du tout aux textes typiques que vous rencontreriez si vous préleviez un échantillon aléatoire parmi les utilisateurs de ChatGPT.
Cela ne serait pas très grave si la propension à produire de fausses affirmations n’était pas étroitement liée au choix spécifique de la requête, mais il semble que ce soit le cas. Dans un test certes non scientifique que je viens de réaliser, je constate que ChatGPT (utilisant GPT-4) produit des résultats que je qualifierais de faux dans 75 % des cas (9 essais sur 12) à 92 % des cas (11 essais sur 12), et ne produit des résultats que je qualifierais de complètement factuels que dans 8 % des cas (1 essai sur 12), en réponse à la requête « Quel était le nom du premier éléphant à avoir traversé la Manche à la nage ? ».

Douze, c’est un petit échantillon, mais onze hallucinations sur douze essais, c’est en fait suffisamment de données pour rejeter l’hypothèse nulle selon laquelle la probabilité d’une réponse hallucinatoire est de 2,5 %. Le point important ici est que le taux d’hallucination que vousrencontrez si vous déployez votre chatbot alimenté par GPT dans le monde n’est tout simplement pas connaissable en regardant ses performances sur l’un de ces tests de référence d’hallucination. Il obtient un taux d’hallucination de 2,5 % sur le test de référence Vectara et un taux d’hallucination de 92 % sur le test de référence Colin Fraser, mais aucun de ces deux résultats ne sera particulièrement significatif pour vous, car le texte que votre chatbot traitera ne ressemblera en rien au texte utilisé par l’un ou l’autre de ces tests de référence.
Pour une démonstration plus pratique, prenons l’un de mes exemples préférés dans le monde réel d’un bot alimenté par ChatGPT, l’assistant automobile IA Quirk Chevrolet. Lors d’un test non scientifique que je viens de réaliser en avril 2024, j’ai constaté que sur 4 tentatives (100 %), il répondait : « Je suis désolé, nous n’avons actuellement que des véhicules neufs en stock. Y a-t-il un véhicule neuf qui pourrait vous intéresser ? » lorsque je lui dis que je recherche une Chevrolet Bolt 2021 d’occasion, même si leur site web indique clairement qu’ils ont une Chevrolet Bolt 2021 d’occasion.

Pour voir à quel point ce genre de choses est imprévisible et sensible à la question posée, lorsque je lui demande de me donner le prix d’une Chevrolet Bolt 2021, plutôt que de lui demander s’ils « en ont une en stock », tout à coup, ils en ont une.

Ce chatbot est basé sur GPT 3.5 qui, selon le classement des taux d’hallucination, est censé avoir un taux d’hallucination de 3,5 %, mais il me semble que je subis des hallucinations bien plus souvent que 3,5 % du temps. Alors, à quelle fréquence moyenne Quirk Chevrolet doit-il s’attendre à ce que le chatbot mente à ses clients ? Il n’y a vraiment aucun moyen de le savoir à partir des données que j’ai présentées jusqu’à présent dans cette section, et c’est là tout l’intérêt. La fréquence des mauvaises réponses, si tant est qu’elle puisse être définie, dépend entièrement de leurs propres critères quant à ce qui constitue une mauvaise réponse et du type de texte que leurs clients ont tendance à saisir dans la fenêtre de chat. Aucune référence standardisée ne peut répondre à cette question.
Si vous pensez que je suis un peu nihiliste à ce sujet, détrompez-vous ! Je ne pense pas qu’il y ait grand-chose à apprendre en examinant les critères de référence en matière d’hallucinations et tout le reste, mais je pense en fait qu’il existe des moyens pour vous, en tant que fournisseur potentiel d’un produit d’IA générative, d’estimer de manière utile les types de taux d’erreur dont vous avez besoin, selon moi. La mauvaise nouvelle, c’est que cela va demander beaucoup de travail, mais la bonne nouvelle, c’est que c’est possible.
La première chose dont vous aurez besoin est un ensemble de données rempli de textes représentatifs du type de textes que vos utilisateurs fourniront. Vous pouvez les rédiger à la main, et c’est probablement ce que vous devriez faire au début. Essayez de produire de nombreuses variantes qui incluent tous les types de cas que vous anticipez, y compris les textes que vous ne souhaitez généralement pas voir soumis par un utilisateur. Ensuite, soumettez tous ces exemples au modèle et inspectez manuellement le résultat, en le classant comme souhaitable ou indésirable. Pour cela, vous pouvez utiliser les critères de votre choix ; ce qui importe, c’est que le texte soit souhaitable pour vous. Il n’y a pas de résultat objectivement correct que le produit d’IA générative doit produire, il n’y a que des résultats plus ou moins souhaitables par rapport à votre cas d’utilisation. Une fois que vous avez terminé, vous pouvez utiliser cela pour estimer toutes sortes de choses, comme la fréquence à laquelle vous vous attendez à ce qu’il produise du texte souhaitable ou indésirable, et quand il produit du texte indésirable, quels types de texte indésirable il produit. Ce sera approximatif, mais cela sera beaucoup plus utile que de se référer à des critères standardisés, à la fois parce que l’évaluation se fait sur un ensemble d’entrées plus représentatif et parce que les résultats sont évalués en fonction de votre cas d’utilisation particulier.
Tout cela est beaucoup plus facile si vous déterminez réellement à quoi sert votre produit. Le secteur hésite quelque peu à s’engager dans un cas d’utilisation particulier pour l’IA générative. ChatGPT & co. ne sont pas vraiment destinés àquelque chose en particulier ; ils sont destinés à tout. Il est donc très difficile de définir des critères pour déterminer ce qui constitue un bon résultat. Mais si nous voulons utiliser un wrapper ChatGPT comme agent de service client, nous pouvons désormais fixer certaines limites aux résultats souhaités. Nous voulons qu’il représente fidèlement les faits concernant le magasin. Nous voulons qu’il soit poli. Nous voulons qu’il évite de recommander des concurrents. Lorsqu’on lui pose une question sur la manière d’aplatir une liste de listes en Python, nous ne voulons pas qu’il produise une solution incorrecte, mais nous ne voulons pas non plus qu’il produise nécessairement une solution correcte. Nous voulons qu’il réponde quelque chose comme « Je suis un chatbot de service client. Ce n’est pas ma fonction. Parlons plutôt de questions relatives au service client. » C’est en fait une excellente nouvelle, car cela signifie que vous n’avez pas besoin de connaître la bonne façon d’aplatir une liste de listes en Python pour effectuer cette tâche d’étiquetage. En limitant le comportement souhaité, vous pouvez créer des limites beaucoup plus précises autour des types de résultats que vous souhaitez obtenir, ce qui vous permettra de mieux déterminer si le chatbot se comportera comme vous le souhaitez, mieux que n’importe quel benchmark standard.
Je ne veux pas donner l’impression que c’est facile.
C’est difficile, et je pense qu’il y a beaucoup à faire pour développer un ensemble complet de bonnes pratiques pour ce type d’évaluation sur mesure (de combien d’exemples avez-vous besoin ? Pouvez-vous générer des exemples de texte de manière synthétique ? Pouvez-vous évaluer avec un LLM ? Comment échantillonner les interactions existantes pour construire un ensemble de données plus important ? Quel est le rapport avec le réglage fin ? etc. etc. etc.), mais c’est vraiment le type d’évaluation sur lequel vous devriez vous appuyer. Les benchmarks généraux ne vous diront pratiquement rien sur la question de savoir si le bot aura des hallucinations qui devraient vous préoccuper.
Un dernier exemple
Je présente mes sincères excuses aux collaborateurs de Vectara pour les avoir autant pris à partie dans cet article, mais je trouve qu’un exemple tiré de leur article de blog présentant le classement des hallucinations illustre parfaitement mon propos. L’article commence par présenter le concept d’hallucination au public à l’aide d’un exemple.
Souvent, les hallucinations peuvent être très subtiles et passer inaperçues pour l’utilisateur. Par exemple, repérez l’hallucination dans cette image que Bing Chat a générée pour moi la semaine dernière lorsque j’ai demandé une image de « Kirby avalant Donkey Kong ».

Avez-vous repéré l’hallucination ?
Kirby n’a pas de dents.
L’argument semble être que si le modèle avait produit une image presque identique, mais sans donner de dents à Kirby, ce résultat serait correct, factuel et sans hallucination. Mais je pense pouvoir repérer quelques autres problèmes factuels dans cette image. La tache rose sur la joue gauche de Kirby est un peu plus foncée que celle sur sa joue droite. Alors que Kirby n’est généralement pas représenté avec des dents, Donkey Kong en a généralement, mais dans cette image, il n’en a pas. De plus, la demande semble indiquer que Kirby est en train d’avaler Donkey Kong, alors que pour moi, on dirait plutôt que Donkey Kong est juste en train de se détendre dans la bouche de Kirby.
Oh, et autre chose, Kirby et Donkey Kong ne sont pas réels. Il n’existe pas d’image factuellement correcte de Kirby avalant Donkey Kong.
Lorsque vous demandez au modèle de générer une image, vous lui demandez de halluciner. Vous lui demandez de créer une image fictive à partir de rien, de reconstruire les détails d’une image dont vous lui dites qu’elle existe, mais qui n’existe pas en réalité. Il n’existe aucun critère objectif universel permettant de déterminer si cette image est hallucinatoire ou non. L’auteur applique ici ses propres critères personnels pour déterminer ce qui rendrait cette image hallucinatoire, qui peuvent être ou non les mêmes que ceux d’une autre personne, et personne ne peut prétendre détenir « la vérité ».
Ce qui importe vraiment, c’est ce que vous allez faire du résultat. À quoi sert le modèle ? C’est ainsi que vous déterminez si le résultat est bon ou mauvais. Si le modèle a pour mission de respecter les normes de conception des personnages de Nintendo, alors, clairement, dans ce cas, il a échoué. En ce qui concerne cette tâche spécifique, vous diriez peut-être que les dents sont, dans ce contexte, une hallucination. En revanche, si le modèle a pour fonction de produire une image que la plupart des gens jugeraient conforme à la demande, alors il a peut-être réussi. Si vous me demandiez de décrire cette image en quelques mots, je dirais qu’il s’agit d’une image de Kirby avalant Donkey Kong. D’un autre côté, si le modèle a pour mission d’éviter de reproduire la propriété intellectuelle d’une autre entreprise, comme on pourrait le suggérer pour le générateur d’images Bing, alors cette image constitue un autre type d’hallucination.
Les gens ont été très mécontents de Google lorsque Gemini a généré des images qu’ils ont jugées trop diverses, et dans un message d’excuses, ils ont fait allusion au « problème des hallucinations ».
Comme nous l’avons dit dès le début, les hallucinations sont un défi connu de tous les LLM : il arrive que l’IA se trompe.
Mais Gemini génère l’image d’un pape noir qui n’existe pas réellement. Est-ce plus une hallucination que s’il générait un pape blanc qui n’existe pas réellement ? Les deux sont de faux papes. Il me semble que ces générations seraient tout aussi hallucinatoires. En fait, il me semble que toutes les productions génératives sont tout aussi hallucinatoires. À moins que Google ne fasse des promesses plus spécifiques sur ce que Gemini est censé générer ou non, il n’existe pas de moyen universel évident d’évaluer son taux d’hallucination.
Je pense qu’il s’agit d’un sujet controversé qui n’est pas très bien compris et pour lequel il existe très peu de théories sur lesquelles s’appuyer. Le déploiement de ces systèmes a dépassé notre capacité collective à les comprendre. Je ne suis pas nécessairement convaincu que je ne changerai pas d’avis sur la façon dont tout cela fonctionnera à l’avenir, et je suis ouvert à tous commentaires et réponses. Mais après avoir longuement réfléchi à la nature de l’hallucination, je suis personnellement assez convaincu qu’il s’agit d’une impasse conceptuelle. Il n’existe pas de sortie objectivement hallucinatoire et de sortie qui ne le soit pas, et se concentrer sur l’hallucination en tant que concept cohérent détourne l’attention du véritable travail qui doit être accompli pour évaluer l’applicabilité de ces systèmes.
