Intelligence artificielle : les mots qu'il faut comprendre avant de s'en servir
Ou : soixante-dix ans à annoncer que le problème sera réglé l’été prochain.
L’intelligence artificielle désigne l’ensemble des techniques qui permettent à un programme d’accomplir une tâche sans qu’on lui ait décrit la marche à suivre. C’est la seule définition qui tienne dans la durée, et elle a un défaut : sa frontière recule en permanence.
En 1954, l’expérience Georgetown-IBM traduisait soixante phrases du russe vers l’anglais et ses auteurs annonçaient le problème résolu sous trois à cinq ans. En 1966, le MIT lançait un projet d’été chargé de résoudre la vision par ordinateur pendant les vacances. Ces deux échecs ont la même cause : l’intuition que reproduire une compétence humaine demande à peu près l’effort que cette compétence demande à un humain. C’est faux dans les deux sens. Une machine bat les meilleurs joueurs de go depuis 2016 et n’arrive toujours pas à ramasser une chaussette de façon fiable.
Ce que recouvre l’intelligence artificielle, du calcul statistique jusqu’aux agents
Apprendre au lieu de programmer
Le glissement qui a tout changé ne porte pas sur la puissance des machines mais sur la méthode.
Dans la programmation classique, un humain écrit les règles et la machine les applique. Dans l’apprentissage automatique, un humain fournit des exemples et la machine en déduit les règles. Cette inversion a une conséquence désagréable : personne n’a plus accès aux règles en question. Elles existent, sous forme de nombres, mais elles ne se lisent pas.
L’apprentissage profond est la variante qui empile ces règles apprises sur de nombreuses couches. La méthode mathématique qui le rend possible, la rétropropagation, était publiée dès 1986 par Rumelhart, Hinton et Williams. Il a fallu attendre trois décennies pour que ça fonctionne, parce qu’il manquait deux choses sans rapport avec la théorie : des données en quantité, avec le jeu ImageNet et ses quatorze millions d’images étiquetées publié en 2009, et des cartes graphiques programmables, rendues accessibles par CUDA à partir de 2006.
Le déclic public date de 2012, quand le réseau AlexNet a fait chuter le taux d’erreur de la classification d’images d’environ vingt-cinq à seize pour cent en une seule année. Rien n’avait été inventé cette année-là. Les ingrédients avaient simplement fini par se rencontrer.
Plusieurs sous-domaines cohabitent sous le même mot. La vision par ordinateur traite les images. Le traitement automatique du langage traite le texte, discipline dont la première tentative célèbre, ELIZA, écrite par Joseph Weizenbaum au MIT en 1966, ne faisait que de la reconnaissance de motifs et a tout de même convaincu ses utilisateurs qu’elle les comprenait. Weizenbaum en a été assez inquiet pour écrire ensuite l’un des premiers livres d’éthique de la discipline.
Ce que manipule réellement un modèle de langage
La confusion la plus répandue aujourd’hui vient de ce que les grands modèles de langage ont absorbé le mot « intelligence artificielle » dans l’usage courant. Ils n’en sont qu’une branche, mais c’est la branche qui a un coût et une interface.
Un modèle de langage ne manipule pas des mots. Il manipule des tokens, fragments de texte issus d’un découpage statistique. En anglais un token vaut environ trois quarts de mot, en français un mot pèse plutôt un token et demi à deux, ce qui explique qu’un texte français coûte davantage qu’un texte anglais de même longueur. L’algorithme le plus répandu pour ce découpage a été publié par Philip Gage en 1994 comme méthode de compression de données, dans un article de quatre pages qui n’avait rien à voir avec le langage.
Ces tokens sont convertis en embeddings, c’est-à-dire en vecteurs de plusieurs centaines ou milliers de dimensions où la proximité géométrique traduit la proximité de sens. L’intuition derrière tout ça a été formulée par le linguiste John Rupert Firth en 1957 : on connaît un mot à la compagnie qu’il fréquente. Elle est devenue calculable en 2013 avec les travaux de Tomáš Mikolov et de son équipe chez Google.
L’architecture qui traite ces vecteurs s’appelle le transformer, publiée en 2017 par huit chercheurs de Google dans un article intitulé « Attention Is All You Need ». Le modèle décrit dans cet article comptait soixante-cinq millions de paramètres. Trois ans plus tard, GPT-3 en comptait cent soixante-quinze milliards.
Deux réglages gouvernent ce que le modèle peut faire à un instant donné. La fenêtre de contexte est la quantité de texte qu’il peut prendre en compte en une fois, et elle a été multipliée par plusieurs milliers depuis 2019. La température est le curseur qui décide si le modèle prend systématiquement le token le plus probable ou s’il s’autorise des choix moins attendus.
Une fenêtre plus grande n’est pas mécaniquement mieux. Une étude publiée par Liu et ses coauteurs en 2023 sous le titre « Lost in the Middle » a montré que les modèles exploitent mal l’information placée au milieu d’un contexte long, avec une performance en forme de courbe en U. Le défaut s’est atténué depuis, il n’a pas disparu.
Comment on oriente un modèle, du prompt aux poids
Il existe trois façons de faire produire à un modèle ce que vous attendez, et elles diffèrent surtout par leur coût.
La première consiste à mieux formuler la demande, ce que recouvre le prompt engineering. C’est gratuit, immédiat, et ça règle une bonne partie des cas. Le revers est que le résultat n’est pas transférable : une formulation réglée pour un modèle peut échouer sur un autre.
La deuxième consiste à fournir au modèle les documents dont il a besoin au moment de répondre, ce qui est le principe du RAG, posé par Lewis et ses coauteurs chez Facebook AI Research en 2020. Le modèle ne connaît pas vos données, on les lui met sous les yeux. C’est la réponse la plus économique au problème des connaissances manquantes ou périmées.
La troisième consiste à modifier le modèle lui-même, par fine-tuning. Longtemps réservée à ceux qui disposaient de dizaines de cartes graphiques, elle est devenue abordable avec la méthode LoRA proposée par Hu et ses coauteurs en 2021, qui n’entraîne qu’une fraction minime des paramètres au lieu de les reprendre tous.
L’ordre compte. Le fine-tuning apprend une manière de répondre, pas des faits. Employé pour injecter des connaissances, il revient à réécrire une encyclopédie pour y ajouter une ligne.
Là où ça casse
Deux défauts n’ont pas de correctif connu, et les confondre avec des bugs ordinaires est la source de la plupart des mauvaises décisions dans ce domaine.
Le premier est l’hallucination : le modèle produit une affirmation fausse avec exactement le même ton que lorsqu’il a raison. Ce n’est pas un dysfonctionnement, c’est le fonctionnement normal d’un système qui prédit une suite plausible sans disposer d’une notion de vérité. Les conséquences sont documentées. En 2023, un avocat new-yorkais a déposé devant un tribunal fédéral un mémoire citant six décisions de justice qui n’existaient pas, produites par un assistant conversationnel, et l’affaire s’est soldée par une amende. La difficulté n’est pas le taux d’erreur, c’est l’absence de signal distinguant les bonnes réponses des mauvaises.
Le second est la prompt injection, nommée par Simon Willison en septembre 2022 par analogie avec l’injection SQL. Un modèle ne distingue pas les instructions de son opérateur du texte qu’il est en train de lire. Quiconque contrôle une page, un courriel ou un document que le modèle consulte peut donc lui donner des ordres. L’OWASP place la prompt injection en tête de son classement des risques des applications bâties sur des modèles de langage, deux éditions consécutives. Aucune parade complète n’est connue à ce jour : on restreint les droits, on filtre les entrées et les sorties, on fait valider les actions sensibles par un humain. On ne ferme pas la porte.
Ce que le mot agent recouvre, et ce qu’il coûte
Un agent est un modèle de langage à qui l’on donne des outils et la permission de décider lui-même de leur enchaînement. La formalisation courante de ce fonctionnement, le schéma ReAct, a été publiée par Yao et ses coauteurs en 2022 : le modèle raisonne à voix haute, agit, observe le résultat, recommence.
C’est là que les deux défauts précédents changent de nature. Une hallucination dans une réponse écrite se corrige en la lisant. Une hallucination dans un agent qui a accès à un terminal s’exécute. Une prompt injection dans une conversation fait dire une bêtise au modèle. La même injection dans un agent qui lit vos courriels lui fait exécuter les instructions d’un inconnu.
L’utilité d’un agent et sa surface d’attaque sont donc le même mécanisme. On ne peut pas augmenter l’une sans augmenter l’autre, et c’est pour cette raison que la question de la limitation des droits accordés est plus décisive que celle du choix du modèle.
Récapitulatif
L’intelligence artificielle regroupe les techniques qui font apprendre une tâche à un programme au lieu de la lui décrire. L’apprentissage automatique en est la méthode générale, l’apprentissage profond sa variante à plusieurs couches, et les modèles de langage la branche qui occupe aujourd’hui l’essentiel des conversations.
Trois notions suffisent à comprendre ce que coûte et ce que peut un modèle de langage : le token, qui est l’unité facturée, l’embedding, qui est la représentation du sens, et la fenêtre de contexte, qui est la limite de ce qu’il voit à un instant donné. Trois autres suffisent à comprendre comment on l’oriente : le prompt, le RAG et le fine-tuning, par coût croissant.
Restent deux limites structurelles, l’hallucination et la prompt injection, qui ne se corrigent pas et se gèrent. Les seize définitions de cette section reprennent chacun de ces points en détail.