Le 11 février 2026, Andrej Karpathy a affirmé sur X avoir recréé un modèle GPT en seulement 243 lignes de Python. Une expérience pédagogique qui démonte pièce par pièce la mécanique des intelligences artificielles modernes.

On l’imagine souvent comme un monstre de complexité, ou une boîte noire impénétrable gardée par des géants de la tech.

Pourtant, Andrej Karpathy, une figure majeure de l’intelligence artificielle passée par OpenAI (ChatGPT) et Tesla, vient de recréer le cœur d’un modèle GPT en seulement… 243 lignes de code. Et tout cela uniquement en se servant du langage Python, précise-t-il dans un message publié sur X le 11 février 2026.

Andrej Karpathy en… 243 lignes de code. // Source : Andrej Karpathy - X
Le projet d’Andrej Karpathy en 243 lignes de code. // Source : Andrej Karpathy – X

Il ne s’agit évidemment pas d’un équivalent de ChatGPT ni d’un modèle capable de converser sur tous les sujets. Son script ne compte qu’environ 4 000 paramètres, contre des milliards pour les GPT industriels. Mais l’objectif est ailleurs : montrer que le principe fondamental d’un Transformer — l’architecture qui alimente les Generative Pre-trained Transformers — peut tenir dans un fichier étonnamment concis. De quoi démystifier l’un des outils les plus puissants de notre époque.

L’obsession de la simplicité : qui est Andrej Karpathy ?

Bien que le projet puisse paraître très accessible, il est important de garder une chose en tête : Andrej Karpathy n’est pas un développeur ordinaire. Il a rejoint OpenAI dès 2015 comme membre de l’équipe fondatrice, avant de devenir directeur de l’IA chez Tesla, où il a piloté la vision par ordinateur pour l’Autopilot. Mais au-delà de son CV, il est surtout connu pour sa pédagogie et sa volonté de revenir aux bases.

Sa rupture avec les méthodes classiques en est la preuve. Pour traiter les données, la majorité des développeurs utilisent des bibliothèques de haut niveau comme PyTorch ou TensorFlow.

Ces outils automatisent la gestion des tenseurs, la mémoire et le calcul des gradients. Un tenseur n’est rien d’autre qu’un tableau de nombres — plus ou moins multidimensionnel — qui permet de représenter des données et d’effectuer des calculs mathématiques massifs. Les gradients, eux, mesurent dans quel sens et de combien il faut modifier un paramètre pour réduire une erreur.

Andrej Karpathy, lui, s’en passe volontairement. Il code manuellement le passage du langage au calcul et expose chaque opération mathématique.

Tout commence par un simple fichier texte nommé names.txt. Andrej Karpathy y compile environ 32 000 prénoms, qui constituent l’unique source de données du modèle. Son objectif n’est pas de comprendre le sens des mots, mais d’apprendre à prédire la prochaine lettre à partir des précédentes.

Une partie du code d'Andrej Karpathy. // Source : Andrej Karpathy
Une partie du code d’Andrej Karpathy. // Source : Andrej Karpathy

Comme l’algorithme ne comprend pas les caractères, il associe à chaque lettre un numéro. Le texte devient alors une suite de nombres, prête à être manipulée par les calculs du modèle — à cela s’ajoute un symbole spécial marquant le début et la fin des prénoms. En clair, il traduit les mots dans la seule langue que le script peut traiter : celle des nombres.

Une fois les prénoms convertis, le script initialise ses paramètres : environ 4 000 nombres aléatoires appelés « poids ». Ce sont ces valeurs qui seront progressivement ajustées durant l’entraînement. Sans PyTorch, il doit également définir manuellement la taille des matrices pour que toutes les multiplications fonctionnent correctement.

Comment l’IA peut-elle apprendre de ses erreurs manuellement ?

Vient ensuite le cœur du Transformer : le mécanisme de self-attention, introduit en 2017 par Google et devenu la base des GPT. Celui-ci permet au modèle de pondérer l’importance des éléments précédents d’une séquence pour décider du suivant : chaque lettre « regarde » les autres et attribue un poids plus ou moins fort à leur influence.

Le script implémente la formule dite du Scaled Dot-Product Attention. Il crée trois matrices : les Queries, les Keys et les Values. En les multipliant, le modèle détermine quelles lettres précédentes doivent influencer la suivante. Un point essentiel : le modèle est contraint de ne regarder que les lettres déjà vues, jamais les suivantes.

Cette règle garantit qu’il prédit réellement la prochaine lettre au lieu de « voir le futur ». Si l’IA a déjà lu « LIS », elle doit estimer la probabilité que la lettre suivante soit « A », pour le prénom « LISA ». Le principe est exactement le même que celui des grands modèles de langage : prédire le prochain token à partir du contexte.

Lorsqu’il se trompe — par exemple en proposant « LISW » au lieu de « LISA » — le programme calcule une loss, une mesure mathématique de l’erreur. Plus la probabilité attribuée à la bonne lettre est faible, plus cette valeur est élevée. C’est à ce moment que le modèle « réalise » qu’il s’est trompé.

Habituellement, des bibliothèques comme PyTorch automatisent le calcul des gradients nécessaires à la correction grâce à un simple appel de fonction.

Ici, Andrej Karpathy réimplémente lui-même un moteur d’autograd minimaliste, inspiré de son projet micrograd. Un moteur d’autograd est un système capable d’enregistrer toutes les opérations mathématiques effectuées par le modèle afin d’en calculer automatiquement les dérivées — c’est-à-dire mesurer précisément comment chaque paramètre influence l’erreur finale.

Chaque addition, chaque multiplication et chaque logarithme est suivi afin de pouvoir remonter la chaîne complète des opérations et déterminer dans quel sens ajuster chaque paramètre.

Il s’agit de calcul différentiel, la branche des mathématiques qui étudie les variations, appliqué ligne par ligne. Un exercice que peu d’ingénieurs prennent encore le temps de coder à la main, non parce qu’il serait incompréhensible, mais parce que les outils modernes le rendent inutile en pratique. Le script applique ensuite l’optimiseur Adam pour mettre à jour les paramètres.

Une IA capable d’inventer des prénoms réalistes ?

Le résultat final frappe par sa simplicité. Après quelques minutes passées à ingérer cette liste de prénoms, le script de 243 lignes commence à produire ses propres créations. Il ne se contente pas de répéter ce qu’il a appris : il génère des prénoms inédits mais plausibles, statistiquement cohérents avec le corpus d’origine.

Le modèle ne comprend pourtant rien au sens des mots, ne dialogue pas et n’a jamais été entraîné sur Internet. Il apprend uniquement à prédire la prochaine lettre d’un prénom à partir des précédentes. Mais le principe est exactement le même que celui des systèmes beaucoup plus vastes : ajuster des paramètres pour réduire l’erreur de prédiction, encore et encore.

Andrej Karpathy ne prétend bien sûr pas rivaliser avec les modèles géants d’OpenAI, de Microsoft ou de Google. En 243 lignes, il n’a pas recréé un chatbot conversationnel universel — il en dévoile la charpente. Son script, qu’il présente comme un « projet d’art », est comme une radiographie qui montre que le cœur d’un Transformer tient toujours dans quelques formules mathématiques et des opérations élémentaires.

Découvrez les bonus

+ rapide, + pratique, + exclusif

Zéro publicité, fonctions avancées de lecture, articles résumés par l'I.A, contenus exclusifs et plus encore.

Découvrez les nombreux avantages de Numerama+.

S'abonner à Numerama+

Vous avez lu 0 articles sur Numerama ce mois-ci

Il y a une bonne raison de ne pas s'abonner à

Tout le monde n'a pas les moyens de payer pour l'information.
C'est pourquoi nous maintenons notre journalisme ouvert à tous.

Mais si vous le pouvez,
voici trois bonnes raisons de soutenir notre travail :

  • 1 Numerama+ contribue à offrir une expérience gratuite à tous les lecteurs de Numerama.
  • 2 Vous profiterez d'une lecture sans publicité, de nombreuses fonctions avancées de lecture et des contenus exclusifs.
  • 3 Aider Numerama dans sa mission : comprendre le présent pour anticiper l'avenir.

Si vous croyez en un web gratuit et à une information de qualité accessible au plus grand nombre, rejoignez Numerama+.

S'abonner à Numerama+
Toute l'actu tech en un clien d'oeil

Toute l'actu tech en un clin d'œil

Ajoutez Numerama à votre écran d'accueil et restez connectés au futur !


Pour ne rien manquer de l’actualité, suivez Numerama sur Google !