Qu’est-ce que nanochat ?
nanochat est une base de code petite et lisible d'Andrej Karpathy qui couvre tout le pipeline d'un modèle de chat : tokeniseur, pré-entraînement, fine-tuning, apprentissage par renforcement, évaluation et une interface de chat.
Selon le README, il entraîne un modèle qui bat le score de benchmark CORE de GPT-2 pour environ 48 $, soit environ deux heures sur un nœud 8xH100 à environ 3 $ par heure-GPU, ou plus près de 15 $ sur des instances spot. Un classement communautaire suit l'exécution la plus rapide, qui se situait à 1,65 heure en mars 2026.
Il est destiné à l'apprentissage et à la recherche, pas à produire un assistant utile. Il n'a pas de versions taguées, et le dernier commit sur main était le 3 juillet 2026.
nanochat vaut-il le coup ?
nanochat est la vue de bout en bout la plus claire de comment un modèle de chat est fabriqué, et rien de ce qu'il produit n'est destiné à être utilisé. Le dépôt a environ 58 900 étoiles. Il étend nanoGPT de Karpathy, qui ne couvrait que le pré-entraînement, à l'entraînement de tokeniseur, au fine-tuning supervisé, à l'apprentissage par renforcement, à l'évaluation et à un chat CLI. Le README décrit le résultat comme un peu comme parler à un enfant de maternelle.
Le choix de conception qui le rend enseignable est un seul bouton. Réglez --depth et le code dérive la largeur, les têtes, les taux d'apprentissage et l'horizon d'entraînement pour que le modèle sorte optimal en calcul ; la capacité de GPT-2 se situe autour de la profondeur 24 à 26. Il n'y a pas d'objets de configuration ni d'usines de modèles, et le guide de contribution dit que les changements doivent fonctionner pour chaque profondeur.
L'économie est le titre. GPT-2 a coûté environ 43 000 $ à entraîner en 2019, dit le README ; le speedrun de référence bat son score CORE pour environ 48 $ sur un nœud 8xH100 loué. Un seul GPU produit des résultats quasi identiques huit fois plus lentement, et les cartes avec moins de 80 Go de mémoire ont besoin d'une --device-batch-size plus petite. Un chemin CPU et Apple silicon existe mais n'entraîne qu'un modèle jouet en des dizaines de minutes.
L'activité a ralenti. Le dernier commit sur main était le 3 juillet 2026 et il n'y a pas de versions taguées, alors traitez-le comme une implémentation de référence plutôt qu'une bibliothèque maintenue. Il ne fine-tune pas les modèles ouverts existants ; c'est le travail de TRL ou Unsloth, et le billet de lancement d'octobre 2025 est désormais en partie périmé, comme le README lui-même avertit.
Là où il fait la différence
Un ingénieur ML qui passe du travail appliqué au pré-entraînement
Comprendre chaque étape d'un LLM en le faisant tourner une fois
Louez un nœud 8xH100, lancez runs/speedrun.sh dans une session screen et lisez chaque script pendant qu'il s'entraîne. Environ 48 $ à la demande, plus près de 15 $ en spot, achète un modèle que vous avez entraîné de zéro et avec lequel vous pouvez discuter.
Un enseignant universitaire qui donne un cours de NLP de niveau master
Donner aux étudiants un labo d'entraînement de zéro sans cluster
Les étudiants entraînent des modèles de profondeur 12 en environ cinq minutes de pré-entraînement par exécution, ou de minuscules modèles CPU et Apple silicon, et comparent les changements sur les bits par octet de validation. Le code est assez petit pour être donné en lecture.
Un ingénieur de recherche qui teste une idée d'optimiseur ou de données
Vérifier si un changement accélère le temps vers GPT-2
Forkez, changez une chose, relancez un d12 ou d16 et comparez val_bpb et CORE dans Weights & Biases. Un résultat positif peut être soumis au classement avec son commit.
Avant de vous engager
- Mise en route
- Clonez, puis `uv sync --extra gpu` (ou `--extra cpu`) et `bash runs/speedrun.sh` ; l'exécution de référence prend environ 1,5 à 2 heures sur 8xH100, puis `python -m scripts.chat_cli` pour lui parler.
- Données et confidentialité
- Tourne localement ; télécharge les jeux de données de pré-entraînement et de chat depuis Hugging Face (NVIDIA ClimbMix, SmolTalk) et journalise vers Weights & Biases si vous l'activez. Code MIT ; les jeux de données portent leurs propres licences.
- Coût à grande échelle
- Pas d'édition payante. Environ 24 $ l'heure pour un nœud 8xH100 à 3 $ par heure-GPU, soit environ 48 $ par exécution de niveau GPT-2 ; le projet vise des micro-modèles entraînables pour moins de 1 000 $.
- Limites
- Pas de versions ; dernier commit le 3 juillet 2026 ; moins de 80 Go de VRAM a besoin d'un réglage de taille de lot ; les chemins XPU et MPS ne sont pas testés par l'auteur ; le RL ne prend pas en charge float16.
Les points forts
- Du tokeniseur à l'interface de chat dans une seule base de code lisible
- Bat le score CORE de GPT-2 pour environ 48 $ de temps GPU
- Un seul réglage --depth dérive les autres hyperparamètres
- Classement de speedrun public avec des commits reproductibles
Les points faibles
- Les exécutions significatives ont besoin d'un nœud 8xH100 loué
- Les modèles de sortie sont des jouets par conception
- Pas de versions taguées ; dernier commit juillet 2026
- Ne peut pas fine-tuner les modèles à poids ouverts existants
Idéal pour
Les apprenants et chercheurs qui veulent comprendre l'entraînement de LLM de bout en bout.
Alternatives à nanochat
nanochat : questions fréquentes
- nanochat vaut-il le coup ?
- Tout un pipeline d'entraînement de LLM que vous pouvez lire en un après-midi et faire tourner pour le prix d'un dîner, à condition de pouvoir louer huit H100. Nous lui donnons 4.3 sur 5.
- Combien coûte nanochat ?
- Gratuit et open source sous la licence MIT.
- Quels sont les inconvénients de nanochat ?
- Les exécutions significatives ont besoin d'un nœud 8xH100 loué; les modèles de sortie sont des jouets par conception; pas de versions taguées ; dernier commit juillet 2026; ne peut pas fine-tuner les modèles à poids ouverts existants.
- À qui s’adresse nanochat ?
- Les apprenants et chercheurs qui veulent comprendre l'entraînement de LLM de bout en bout.
- Combien coûte nanochat pour une équipe ou en production ?
- Pas d'édition payante. Environ 24 $ l'heure pour un nœud 8xH100 à 3 $ par heure-GPU, soit environ 48 $ par exécution de niveau GPT-2 ; le projet vise des micro-modèles entraînables pour moins de 1 000 $.
- nanochat est-il sûr pour les données de l’entreprise ?
- Tourne localement ; télécharge les jeux de données de pré-entraînement et de chat depuis Hugging Face (NVIDIA ClimbMix, SmolTalk) et journalise vers Weights & Biases si vous l'activez. Code MIT ; les jeux de données portent leurs propres licences.
- Quelles sont les meilleures alternatives à nanochat ?
- Les alternatives les plus proches que nous avons testées sont LLMs from Scratch et TRL.
Réponses vérifiées le 23 oct. 2026.