ChatGPT a oublié sa calculette, ou pourquoi le modèle est nul en maths (apprentissage, émergence et pensée magique)

On sait les merveilles que peut faire ChatGPT, mais on en connaît moins les limites. Par exemple, ChatGPT est plus nul que n’importe quelle calculette en calcul, alors qu’il est censé pour voir résoudre des problèmes de maths.

Si on demande à ChatGPT (avec GPT3.5 ou même GPT4) de multiplier des nombres à 4 ou 5 chiffres, le résultat est quasiment toujours faux1. Le résultat est approximativement dans l’ordre de grandeur cherché, mais il est faux. Voir l’exemple suivant (copie d’écran obtenue le 13/05/2024 avec ChatGPT / GPT3.5 ; on voit que ChatGPT peut même proposer plusieurs réponses fausses sans problème).

Le vrai résultat est 1 162 238 184. GPT peut donc fournir une idée de l’ordre de grandeur du résultat, mais donne un résultat faux.

Que peut-on en dire ?

En premier lieu, ce résultat est surprenant. Les modèles de langue sont connus pour pouvoir faire plein de choses, des tâches linguistiques qu’ils font plutôt bien (dialoguer, répondre à des questions, traduire, etc.), mais aussi pour aider à coder (écrire du code informatique, commenter des programmes, etc.) et, enfin, résoudre des problèmes mathématiques simples. On voit qu’on en est encore loin. GPT tourne sur les ordinateurs parmi les plus puissants du monde, capables de faire des calculs hallucinants, mais ChatGPT est juste incapable de faire une multiplication à 5 chiffres qu’une calculette de poche fait très bien. Comment est-ce possible ? Mystère… On est en tout cas loin de la super intelligence qu’on nous vante (même si, soyons honnêtes, ceci pourrait sans doute être résolu en un tour de main par OpenAI – il suffirait justement que OpenAI permette que ChatGPT accède à une calculette et fasse de vrais calculs plutôt des inférences par analogie, quand il s’agit de nombres).

La question suivante est justement celle-là. Pourquoi ça ne fonctionne pas ? Comment ChatGPT peut-il faire ce type d’erreur, alors que le modèle est censé pouvoir faire des maths simples ? Pourquoi ChatGPT n’a-t-il pas accès à un module de calcul simple ? On peut dire sans trop de risque que la raison est dans l’approche adoptée : l’idée que presque tout peut se résoudre par apprentissage, et même par induction à partir de l’observation d’une quantité quasi infinie de données. Or, il paraît difficile d’induire les règles de la multiplication juste à partir d’une infinité d’exemples2. Cela semble même un peu absurde et un peu vain. Les modèles informatiques ne sont pas obligés de copier la façon de faire des humains, mais quand même, le fait que personne n’apprenne à multiplier juste en regardant des milliards d’exemples doit a minima interroger. On apprend la multiplication parce qu’on nous en apprend les règles et, à la limite, s’il n’y avait pas de système éducatif, on pourrait imaginer pouvoir en retrouver les règles par un raisonnement logique. En bref, l’humain essaie de résoudre des problèmes (avec un but en tête), pas juste d’inférer des règles par observation de quantités d’exemples, sans autre méthode.

Il est toutefois intéressant de voir que ChatGPT a acquis des connaissances sur les nombres. Par exemple, dans le cas de la multiplication, les derniers chiffres et les premiers sont quasiment toujours bons (comparer 1,161,222,984 et 1,161,513,784, résultats proposés par ChatGPT, et 1,162,238,184, le « vrai » résultat de la multiplication proposée). L’ordre de grandeur est aussi raisonnable (un peu plus d’un milliard), si tant est que ça veuille dire quelque chose pour une multiplication. ChatGPT a donc inféré des connaissances sur les nombres et, peut-être, la multiplication, mais il n’a pas appris à multiplier. Voir des milliards d’exemples (de nombres et de multiplications) n’a pas suffi.

ChatGPT, et son architecture, même si on n’en connaît pas les détails, reste un système linguistique. La “tokenisation“, la “vectorisation“, les “transformers“, les “word embeddings” sont incomparables pour traiter de sémantique, encoder le sens des mots et faire des analogies. Pour comparer des expressions, générer des paraphrases (y compris des traductions, que l’on peut voir —si on n’a pas peur des métaphores osées —comme une paraphrase de langue à langue), etc. Mais la souplesse dont on a besoin pour la langue est d’une certaine manière orthogonale à ce dont on a besoin pour faire des mathématiques. Le résultat 15436 * 75294, c’est un chiffre précis, alors qu’il y a probablement mille façons différentes de traduire une phrase, même aussi simple que « Longtemps je me suis couché de bonne heure » (ou, pour prendre un autre exemple, « l’amitié » a quelque chose à voir avec « l’affection », les deux mots sont proches sur le plan sémantique, ce que permet d’encoder la vectorisation, mais cette proximité n’est sans doute pas de la même nature que la proximité entre 4 et 5 sur le plan arithmétique).

D’une manière plus globale, ça veut dire que les systèmes de type GPT sont parfaits pour manier les langues, que ces systèmes peuvent être couplés avec d’autres architectures pour l’analyse d’image, de vidéo, ou de mathématiques, mais ce n’est pas une seule architecture qui résoudra tous les problèmes. On est donc encore loin d’une intelligence générale (la fameuse AGI dont on nous rebat les oreilles), même si les modèles de générations de texte, d’images et de vidéos ont fait des progrès impressionnants ces dernières années (et même si les modèles sont « super humains » par bien des façons. Mais on pourrait aussi dire qu’une simple calculette était déjà « super humaine » dans son domaine de compétence dans les années 1970 !).

Comme le disait François Chollet il y a quelques jours sur Twitter, une « compétence » n’émerge pas magiquement des données.

Il faut qu’il y ait assez d’exemples pour que le système puisse en tirer des régularités, et aussi que le modèle ait une architecture qui puisse permettre d’optimiser l’apprentissage en fonction des données (et, comme on l’a vu, on n’a a priori pas besoin exactement de la même architecture pour apprendre à faire des maths et pour apprendre des tâches linguistiques, au moins pour ce qui concerne les approches actuelles).

Ce qui est un peu inquiétant, c’est que le débat semble souvent irrationnel autour de ce que peuvent ou pourraient faire les modèles d’IA récents, même au cœur de la communauté scientifique. L’idée d’ « émergence » (donc la terminologie même employée) a un côté magique et en grande partie irrationnel qui n’aide pas à avoir une discussion sereine (ou, tout simplement, scientifique) sur la question. Le fait qu’un système comme ChatGPT ne puisse correctement multiplier des nombres à 4 ou 5 chiffres devrait pourtant nous interpeler sur les capacités et les limites réelles de ces systèmes.




Citer ce billet
Thierry Poibeau (2024, 13 mai). ChatGPT a oublié sa calculette, ou pourquoi le modèle est nul en maths (apprentissage, émergence et pensée magique). Hors-texte. Consulté le 19 juin 2024, à l’adresse https://doi.org/10.58079/11nwe

  1. Sur la question, voir “Faith and Fate: Limits of Transformers on Compositionality” (N. Drizi et al., NeurIPS 2023). []
  2. Là encore, voir (N. Drizi et al., NeurIPS 2023) pour un examen approfondi. []

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Rechercher dans OpenEdition Search

Vous allez être redirigé vers OpenEdition Search