Aller au contenu
The loss curve

À propos

The loss curve est un cours code-first pour construire un modèle de langage. Chaque chapitre te donne du code exécutable dans le navigateur ou sur ta machine, puis montre ce que ce code produit avec une visualisation liée aux mêmes données que le chapitre suivant réutilisera. À la fin, tu as un petit transformer entraînable sur ta propre machine.

C’est le pendant constructif de Step by Token. Ce site explique comment fonctionne un LLM ; celui-ci montre comment en construire un. Les deux sont pensés pour être lus ensemble, sans dépendre l’un de l’autre.

Méthode

Le principe d’organisation est artefact d’abord, code d’abord. Chaque chapitre commence par du code exécutable : lis la fonction, lance-la, regarde ce qui sort, puis lis les explications qui détaillent les morceaux importants.

Les chapitres sont cumulatifs. Le modèle bigramme du chapitre 1 est lissé au chapitre 2, reçoit un tokenizer appris au chapitre 3, des embeddings denses au chapitre 4, de l’attention au chapitre 8, devient un bloc transformer au chapitre 10, puis passe à l’entraînement et à l’inférence Python en local.

La promesse pédagogique est simple : rien n’est une boîte noire. Chaque ligne de code rencontrée peut être ouverte. L’implémentation de référence dans lib/ml/ est disponible pour comparer, courte, testée et alignée avec le chapitre.

Inspirations

La présentation doit beaucoup à The Nature of Code de Daniel Shiffman : des croquis manipulables comme unités pédagogiques, une voix ouverte et conversationnelle, et la patience de rendre un concept intéressant avant de passer au suivant.

L’architecture est nourrie par nanoGPT d’Andrej Karpathy, Distill, Jay Alammar, et les travaux publics qui ont rendu les lois de scaling et l’analyse mécanistique lisibles hors des laboratoires de frontière.

À propos de l’auteur

Dimitri Mérault

Je développe des applications iOS depuis 2009 — presque depuis l’ouverture de l’App Store. The Loss Curve est un projet d’une autre nature : il est né de mon intérêt pour les modèles de langage, et de la conviction que la façon la plus sûre de comprendre quelque chose est de le construire.

Quand les LLM sont entrés dans mon quotidien, les métaphores vagues ont cessé de suffire. Je voulais savoir ce qui se passe réellement entre un prompt et une réponse. Écrire chaque pièce de ce cours — le tokenizer, la tête d’attention, la boucle d’entraînement — m’a obligé à le découvrir. Rien ne révèle un trou dans sa compréhension plus vite que d’avoir à faire tourner le code.

J’aime les interfaces bien faites et les explications honnêtes. Ce site essaie d’être les deux : pas d’approximation là où un chiffre suffit, et aucune prétention à faire passer un modèle de 14 millions de paramètres pour plus qu’il n’est.

J’écris aussi Step by Token, qui explique le fonctionnement des modèles de langage sans demander d’écrire une ligne de code. Les deux sites sont la même curiosité prise par les deux bouts : l’un démonte un LLM, l’autre en assemble un.

M’envoyer un message

Crédits

Construit avec Next.js, React, Tailwind CSS, MDX, KaTeX, Shiki, D3, et Radix UI.

Typographie: Source Serif 4, Inter, JetBrains Mono, servies via next/font.

Le dataset de référence des chapitres 11 à 15 est TinyShakespeare (domaine public). La tokenization de ces chapitres utilise tiktoken avec le vocabulaire GPT-2.

v0.1 · 21 chapitres · stage 6