
nanochat
Andrej Karpathy · Autres · Chatbot
nanochat est un framework open source et complet d'entraînement de LLM, créé par Andrej Karpathy, qui construit un modèle de langage de type ChatGPT à partir de zéro. Il couvre tout le pipeline, de la tokenisation et du pré-entraînement jusqu'à l'ajustement fin, l'évaluation et l'inférence, dans une seule base de code d'environ 8 000 lignes. Vous louez un nœud GPU, vous lancez un script et, quelques heures plus tard, vous discutez avec le modèle que vous venez d'entraîner, via une interface web ou la ligne de commande.

À propos de nanochat
Qu'est-ce que nanochat
nanochat est la configuration expérimentale la plus simple pour entraîner de grands modèles de langage. Il est pensé pour un seul nœud GPU, le code est minimal et facile à modifier, et il parcourt toutes les étapes importantes d'un LLM : tokenisation, pré-entraînement, entraînement intermédiaire, ajustement fin supervisé, apprentissage par renforcement en option, évaluation et inférence. Karpathy le présente comme le meilleur ChatGPT que 100 dollars puissent acheter.
L'objectif n'est pas de rivaliser avec les modèles de pointe. Un modèle nanochat entraîné pendant quelques heures reste une petite curiosité, capable de tenir des conversations simples, de raconter des histoires et de répondre à des questions basiques. Ce que vous obtenez à la place, c'est un pipeline d'entraînement complet et lisible que vous pouvez réellement comprendre et modifier. C'est pourquoi il s'impose peu à peu comme le projet final du cours LLM101n de Karpathy.
La limite, honnêtement : c'est un outil d'apprentissage et de recherche, pas un modèle de production. Karpathy lui-même déconseille de l'ajuster sur vos propres textes. Un modèle aussi petit imite le style de surface, sans saisir le raisonnement plus profond d'un LLM de premier plan. Si vous voulez cela, ajustez un modèle ouvert plus grand comme Llama 3 ou passez par la recherche documentaire avec un système plus imposant.
Pour commencer
- Démarrez un serveur GPU cloud avec un seul nœud 8XH100 (le prix du marché tourne autour de 24 dollars de l'heure).
- Clonez le dépôt depuis GitHub et installez le gestionnaire de projets
uvsi vous ne l'avez pas déjà. - Lancez le script
runs/speedrun.sh, qui gère la préparation des données, l'entraînement et l'ajustement fin de bout en bout. - Attendez quelques heures. Le script entraîne un modèle de niveau GPT-2 et publie ses scores.
- Lancez le serveur web ou la CLI et discutez avec votre modèle tout frais.
Informations sur le produit
Aperçu des tarifs, des plateformes compatibles et des performances de nanochat.
Idéal pour
Les utilisateurs, tâches et cas d'usage où cet outil convient le mieux.
Utilisateurs
- Étudiants en apprentissage automatique
- Chercheurs et amateurs
- Petites équipes qui explorent des modèles personnalisés
Tâches
- Entraîner un modèle de langage de la classe GPT-2
- Étudier le pipeline d'un LLM
- Comparer des réglages d'entraînement
Cas d'usage
- Lancer votre premier entraînement de bout en bout
- Donner un cours ou animer un atelier
- Expérimenter le week-end
Fonctionnalités clés
Un script, tout le pipeline
Le speedrun de nanochat relie tout le processus sur un serveur vierge. Il prépare les données, entraîne un tokeniseur, pré-entraîne le transformer, exécute l'entraînement intermédiaire et l'ajustement fin, et produit un modèle avec lequel vous pouvez parler. Une seule commande remplace le patchwork habituel d'outils séparés, ce qui est justement la raison de tout garder dans un dépôt unique plutôt que de l'éparpiller entre plusieurs projets.
Le réglage de profondeur
nanochat est conçu pour entraîner toute une famille de modèles au calcul optimal en changeant un seul paramètre : --depth, le nombre de couches du transformer. Tout le reste, y compris la largeur, les têtes d'attention, les plannings de taux d'apprentissage et l'horizon d'entraînement, est calculé automatiquement. Vous voulez le niveau GPT-2 ? Réglez la profondeur sur 26. C'est à peu près là que se situe la capacité de GPT-2.
Tokeniseur en Rust et préparation de données propre
Le tokeniseur est écrit de zéro en Rust pour la vitesse, et le pipeline de données reconditionne un sous-ensemble du jeu de données FineWeb-Edu en fichiers Parquet compacts pour le streaming. C'est la plomberie ingrate. Mais c'est la partie que la plupart des tutoriels sautent, et elle est ici au complet.
Moteur d'inférence avec interface web
L'entraînement se termine par quelque chose que vous pouvez vraiment utiliser. nanochat embarque un moteur d'inférence efficace avec cache KV, ainsi qu'une CLI et une interface web de type ChatGPT. Il y a aussi un bac à sable Python léger pour les appels d'outils, si bien que le modèle tente d'exécuter du code. Ce dernier point est une belle touche.
Étape de RL en option
Au-delà de l'ajustement fin supervisé, vous pouvez lancer une étape de renforcement en option avec l'algorithme GRPO sur le jeu de données mathématiques GSM8K. C'est une étape bonus plutôt qu'une exigence centrale, mais elle montre comment on peut pousser un petit modèle sur des tâches évaluables, ce qui est réellement utile si votre recherche touche au raisonnement ou aux mathématiques.
Bulletin en Markdown
Après l'entraînement, nanochat génère un unique bulletin en Markdown qui résume l'exécution. Il se lit comme une fiche de scores, avec la taille du modèle, le temps d'entraînement et les résultats sur des tests comme MMLU, ARC-Easy et GSM8K. Les comparaisons deviennent faciles. Gardez-le.
Sous licence MIT et facile à modifier
Tout le projet est ouvert sous licence MIT et compte environ 8 000 lignes, surtout du Python avec un peu de Rust. Le code est fait pour être lu, forké et modifié. Karpathy l'a écrit en grande partie à la main, et la structure reste proche du métal, ce qui veut dire qu'il y a peu de magie cachée pour vous surprendre quand vous commencez à fouiller.
Avantages et inconvénients
Avantages
- Couvre tout le pipeline d'un LLM, du tokeniseur à l'interface de chat, dans un petit dépôt.
- Entraîne un modèle de la classe GPT-2 pour environ 100 dollars de location GPU, bien loin de ce que cela coûtait en 2019.
- Ne demande qu'un seul nœud GPU, donc vous évitez la complexité de l'entraînement distribué.
- La licence MIT et un code lisible facilitent le fork et l'adaptation à vos propres expériences.
- Tient un classement actif du speedrun qui montre jusqu'où d'autres ont poussé la même tâche.
Inconvénients
- Ce n'est pas un modèle de production. Le résultat est un petit modèle d'apprentissage, pas un rival de GPT-4 ou Claude, alors n'attendez pas de réponses léchées.
- Il faut tout de même du matériel GPU réel ou un compte cloud ; impossible d'entraîner sur un ordinateur portable ou un téléphone.
- L'ajuster pour imiter un style d'écriture personnel ne marche pas bien, car le modèle de base est trop petit pour absorber autre chose que des motifs de surface.
- La configuration suppose une certaine aisance avec Linux, Python et la ligne de commande, ce qui exclut les utilisateurs non techniques.
Questions fréquentes
nanochat sert à entraîner et exécuter un petit modèle de langage de type ChatGPT à partir de zéro. On l'utilise pour comprendre le fonctionnement des LLM de bout en bout, pour tester des idées d'entraînement à moindre coût et pour construire un chatbot fonctionnel à partir d'un seul script.
Contenus associés
Découvrez des outils, des compétences et des articles liés à nanochat.
Alternatives à nanochat
BinkBink
BinkBink · AutresBinkBink est une plateforme de jeux en ligne gratuite et un créateur de jeux par IA qui permet à n'importe qui de transformer une courte description textuelle en un jeu de navigateur jouable. Vous pouvez plonger dans des centaines de jeux créés par la communauté. Ou décrivez votre propre idée, jouez-y en quelques secondes, puis partagez-la avec vos amis. Vous voulez créer votre propre jeu ? Pas besoin de coder. Aucun moteur à installer, aucun téléchargement, aucune prise de tête.

Audiogen
Audiogen Inc. · AutresAudiogen est un générateur de musique par IA conçu par Audiogen Inc., une petite équipe de recherche qui a passé environ deux ans et demi à entraîner son propre modèle de musique générative et à bâtir une interface web autour. Au lieu d'une simple zone de texte, cet outil de musique par IA transforme la timeline en une Station de Travail Audio Générative (GAW), pensée pour les débutants, où l'inpainting, l'extension, le remix et l'édition de pistes fonctionnent davantage comme de la peinture sur une toile. Le produit est encore en bêta, l'accès passe donc par une liste d'attente ou une invitation. Les formules payantes ne sont pas encore publiées.
Aiml API
AIMLAPI OÜ · AutresAiml API est une API unifiée de modèles d'IA qui place plus de 1000 modèles d'OpenAI, Google, Anthropic et d'autres derrière un seul point d'accès et une seule facture. Vous écrivez du code contre un unique schéma compatible OpenAI, puis vous passez d'un modèle de chat, d'image, de vidéo ou d'audio à un autre en changeant une chaîne de modèle. Elle convient aux développeurs et aux petites équipes qui veulent un accès multimodèle sans jongler avec une douzaine de comptes de fournisseurs distincts, et elle supprime le casse-tête habituel de la facturation quand on teste plusieurs prestataires. Une seule clé couvre tout.
