Ressources numériques en sciences humaines et sociales OpenEdition Nos plateformes OpenEdition Books OpenEdition Journals Hypothèses Calenda Bibliothèques OpenEdition Freemium Suivez-nous

Why is ChatGPT so Bad at Math?

We know the wonders ChatGPT can perform, but we are less aware of its limitations. For example, ChatGPT is worse than any calculator at math, even though it is supposed to be able to solve math problems.

If you ask ChatGPT (with GPT-3.5 or even GPT-4) to multiply numbers with 4 or 5 digits, the result is almost always wrong1. The result is approximately within the right order of magnitude, but it is incorrect. See the following example (screenshot obtained on 13/05/2024 with ChatGPT / GPT-3.5; you can see that ChatGPT can even propose several wrong answers without any issue).


Multiplication with ChatGPT.

The correct result is 1,162,238,184. GPT can thus provide an idea of the order of magnitude of the result, but gives an incorrect answer.

What can we say about this?

First of all, this result is surprising. Language models are known for being able to do many things, linguistic tasks that they do quite well (conversing, answering questions, translating, etc.), but also for helping with coding (writing computer code, commenting on programs, etc.) and, finally, solving simple math problems. We can see that we are still far from that. GPT runs on some of the most powerful computers in the world, capable of performing astonishing calculations, but ChatGPT is just incapable of performing a 5-digit multiplication that a pocket calculator can handle very well. How is that possible? At first sight, this seems a mystery… We are certainly far from the super intelligence that is being touted (although, to be honest, this could probably be easily resolved by OpenAI—it would just require OpenAI to allow ChatGPT to access a calculator and perform real calculations instead of making inferences by analogy when it comes to numbers).

The next question is precisely that. Why doesn’t it work? How can ChatGPT make this type of error when the model is supposed to be able to do simple math? Why doesn’t ChatGPT have access to a simple calculation module? We can safely say that the reason lies in the approach adopted: the idea that almost everything can be solved through learning, and even through induction from the observation of an almost infinite amount of data. However, it seems difficult to induce the rules of multiplication just from an infinite number of examples.2 This even seems a bit absurd and somewhat futile. Computer models don’t have to copy the way humans do things, but still, the fact that no one learns to multiply just by looking at billions of examples should at least be questioned. We learn multiplication because we are taught the rules and, at the limit, if there were no educational system, we could imagine being able to find the rules through logical reasoning. In short, humans try to solve problems (with a goal in mind), not just infer rules by observing quantities of examples, without any other method.

It is, however, interesting to see that ChatGPT has acquired some knowledge about numbers. For example, in the case of multiplication, the last digits and the first digits are almost always correct (compare 1,161,222,984 and 1,161,513,784, results proposed by ChatGPT, and 1,162,238,184, the “real” result of the proposed multiplication). The order of magnitude is also reasonable (a bit more than a billion), if that means anything for a multiplication. ChatGPT has thus inferred some knowledge about numbers and perhaps multiplication, but it has not learned to multiply. Seeing billions of examples (of numbers and multiplications) was not enough.

ChatGPT, and its architecture, even if we don’t know the details, remains a linguistic system. Tokenization, vectorization, transformers, and word embeddings are incomparable for dealing with semantics, encoding the meaning of words, and making analogies. To compare expressions, generate paraphrases (including translations, which can be seen—if we aren’t afraid of bold metaphors—as paraphrasing from one language to another), etc. However, the flexibility needed for language is, in a certain way, orthogonal to what is needed for mathematics. The result of 15436 * 75294 is a precise number, whereas there are probably a thousand different ways to translate a sentence, even one as simple as “Longtemps, je me suis couché de bonne heure” (or, to take another example, “friendship” has something to do with “affection”; the two words are semantically close, which vectorization allows us to encode, but this proximity is probably not of the same nature as the proximity between 4 and 5 in arithmetic terms).

In a more global sense, this means that GPT-type systems are perfect for handling languages, that these systems can be coupled with other architectures for image, video, or mathematical analysis, but it is not a single architecture that will solve all problems. We are still far from general intelligence (the famous AGI that we keep hearing about), even if text, image, and video generation models have made impressive progress in recent years (and even if the models are “superhuman” in many ways. But we could also say that a simple calculator was already “superhuman” in its field of competence in the 1970s!).

As François Chollet said a few days ago on Twitter, a “skill” does not magically emerge from data.


Machine learning models cannot solved tasks outside of their training distribution.

There need to be enough examples for the system to be able to identify regularities, and also the model must have an architecture that can optimize learning (and, as we have seen, we do not necessarily need exactly the same architecture to learn how to do math and to learn linguistic tasks, at least concerning current approaches).

What is a bit concerning is that the debate often seems irrational about what recent AI models can or could do, even within the scientific community. The idea of “emergence” (thus the very terminology used) has a magical and largely irrational aspect that does not help to have a calm (or, quite simply, scientific) discussion on the issue. The fact that a system like ChatGPT cannot correctly multiply numbers with 4 or 5 digits should nonetheless prompt us to consider the real capabilities and limitations of these systems.

  1. On this question, see “Faith and Fate: Limits of Transformers on Compositionality” (N. Drizi et al., NeurIPS 2023). []
  2. Here again, see (N. Drizi et al., NeurIPS 2023) for more explanations. []

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.


  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. []