Réponse courte
Commencez par l’exemple nanoGPT d’Andrej Karpathy, qui entraîne en quelques minutes un modèle caractère par caractère sur Shakespeare avec un portable ordinaire, puis passez à son projet nanochat, qui exécute toutes les étapes d’un petit robot conversationnel et peut atteindre le niveau de GPT-2 pour environ 48 $ US de temps GPU loué. Regarder la perte diminuer et le texte s’améliorer vous en apprend plus sur les modèles de langage que n’importe quelle explication.
Question de suivi Qu’est-ce que cela vous apprend que l’utilisation de ChatGPT ne vous apprendra jamais?
Utiliser ChatGPT, c’est comme conduire une voiture; entraîner vous-même un tout petit modèle, c’est comme ouvrir le capot. Vous ne construirez rien qui fasse concurrence à un assistant commercial, et ce n’est pas le but. En un après-midi, vous pouvez voir un programme qui commence par produire des caractères au hasard apprendre lentement l’orthographe, puis des mots, puis quelque chose qui ressemble à du Shakespeare. Chaque idée abstraite sur les modèles de langage devient quelque chose que vous avez vu se produire sur votre propre écran.
En octobre 2026, un parcours d’apprentissage populaire vient du chercheur en IA Andrej Karpathy, qui publie du code d’entraînement court et lisible. Son ancien projet, nanoGPT, est maintenant marqué comme obsolète au profit de nanochat, mais son exemple sur Shakespeare reste la première étape la plus douce, parce qu’il fonctionne sans carte graphique.
Étape 1 : un modèle caractère par caractère sur votre portable
L’exercice pour débutants de nanoGPT entraîne un modèle au niveau des caractères : au lieu de mots ou de jetons, il prédit une lettre à la fois. Les données d’entraînement sont un seul fichier de 1 Mo contenant les pièces de Shakespeare. Il vous faut Python et PyTorch installés, puis trois commandes à lancer dans le dossier du projet :
python data/shakespeare_char/prepare.py
python train.py config/train_shakespeare_char.py --device=cpu --compile=False --eval_iters=20 --log_interval=1 --block_size=64 --batch_size=12 --n_layer=4 --n_head=4 --n_embd=128 --max_iters=2000 --lr_decay_iters=2000 --dropout=0.0
python sample.py --out_dir=out-shakespeare-char --device=cpu
La première commande transforme le texte en nombres. La deuxième entraîne un petit transformeur de 4 couches qui regarde 64 caractères en arrière à la fois; le README indique environ trois minutes sur le processeur d’un portable. La troisième demande au modèle d’écrire. Sur un Mac à puce Apple, remplacer cpu par mps utilise la partie graphique intégrée et peut aller deux à trois fois plus vite. Avec un vrai GPU, les réglages par défaut entraînent en environ trois minutes un modèle plus grand, de 6 couches, qui produit un pastiche nettement meilleur.
À essayer : lancez les trois commandes, sauvegardez un échantillon du résultat, puis réentraînez avec --max_iters=200 au lieu de 2000 et comparez les deux échantillons côte à côte. Vous voyez la différence que fait un entraînement plus long.
Étape 2 : des données simples, des histoires étonnamment fluides
Le modèle Shakespeare produit l’apparence de l’anglais plutôt que du sens. Un article de 2023 de Ronen Eldan et Yuanzhi Li, TinyStories, a montré jusqu’où les petits modèles peuvent aller quand les données sont simples. Les auteurs ont généré de courtes histoires avec GPT-3.5 et GPT-4 en n’utilisant que des mots qu’un enfant typique de 3 ou 4 ans comprend. Des modèles de moins de 10 millions de paramètres, certains avec un seul bloc de transformeur, entraînés sur ces histoires, ont écrit des histoires fluides et cohérentes de plusieurs paragraphes, avec une grammaire presque parfaite. La leçon : ce qu’un modèle peut faire dépend autant de ses données que de sa taille. Entraîner un très petit modèle sur des histoires simples comme celles-là fait un bon deuxième projet.
Étape 3 : toute la chaîne d’un robot conversationnel avec nanochat
nanochat couvre toutes les étapes qui transforment du texte en assistant conversationnel : l’entraînement d’un découpeur en jetons (tokenizer), le préentraînement sur une grande collection de textes, l’ajustement fin pour la conversation, l’évaluation et une interface de clavardage simple. Un seul script, runs/speedrun.sh, exécute le tout. Sur un serveur loué équipé de huit GPU Nvidia H100, le README indique qu’il atteint le niveau de GPT-2 en environ deux heures pour à peu près 48 $ US, ou environ 15 $ US sur des instances ponctuelles moins chères. L’entraînement de GPT-2 lui-même avait coûté environ 43 000 $ US en 2019. Le code tourne aussi sur un seul GPU, environ huit fois plus lentement, et un script distinct, runs/runcpu.sh, entraîne une version beaucoup plus petite sur un Mac ou un processeur ordinaire en quelques dizaines de minutes, avec des résultats faibles mais instructifs.
Un seul réglage, --depth, le nombre de couches, contrôle la taille du modèle et fixe automatiquement les autres choix, ce qui permet de voir facilement comment la taille change la qualité. Karpathy compare la conversation avec le modèle final du speedrun à une conversation avec un enfant de maternelle, et suggère de lui demander qui vous êtes pour le voir halluciner.
Qu’est-ce que cela vous apprend que l’utilisation de ChatGPT ne vous apprendra jamais?
Qu’un modèle prédit le prochain jeton, sans rien de plus mystérieux. Vous voyez la perte d’entraînement, un seul nombre qui mesure à quel point le modèle prédit mal le caractère suivant, diminuer étape par étape. Quand elle plafonne, la qualité cesse de s’améliorer. Les bancs d’essai et l’« intelligence » deviennent le résultat visible de ce seul nombre qui baisse.
Que les données façonnent tout. Entraînez sur Shakespeare et vous obtenez un texte à la Shakespeare; entraînez sur des histoires pour enfants et vous obtenez des histoires pour enfants. Les connaissances, le ton et les angles morts d’un modèle commercial viennent du même mécanisme, à une échelle bien plus grande.
Pourquoi les hallucinations se produisent. Votre tout petit modèle inventera des mots et des absurdités assurées, parce que produire des caractères suivants plausibles est tout ce qu’on lui a appris à faire. Voir cela se produire à petite échelle aide beaucoup à comprendre pourquoi les grands modèles inventent encore des choses.
D’où vient le coût. Changer le nombre de couches, la longueur du contexte ou le nombre d’étapes d’entraînement montre directement comment la mémoire, le temps et l’argent augmentent. Après cela, les manchettes sur les centres de données et les budgets de GPU se lisent autrement : vous avez payé vous-même un petit morceau de cette facture.
Sources
- nanoGPT (README) — Andrej Karpathy (GitHub), 12 novembre 2025
- nanochat (README) — Andrej Karpathy (GitHub), 3 juillet 2026
- TinyStories: How Small Can Language Models Be and Still Speak Coherent English? — arXiv, 12 mai 2023