Andrej Karpathy vient de publier l'un des dépôts les plus "décalés" qu'il ait jamais écrits — NanoChat. C'est un système minimal mais complet, semblable à ChatGPT, que vous apprend à entraîner et à exécuter votre propre LLM pour moins de 100 $. Avec seulement ~8 k lignes de code propre, il couvre tout, le tokenizer (basé sur Rust), le pré-entraînement sur FineWeb, l'entraînement intermédiaire sur SmolTalk, le SFT sur MMLU / GSM8K / HumanEval, un RL optionnel via GRPO, une inférence efficace avec cache KV + pré-remplissage/décodage, et une interface Web de style ChatGPT. (1/n)
Excité de publier un nouveau dépôt : nanochat ! (c'est parmi les plus débridés que j'ai écrits). Contrairement à mon précédent dépôt similaire nanoGPT qui ne couvrait que le pré-entraînement, nanochat est un pipeline d'entraînement/inférence complet, minimal et de bout en bout d'un simple clone de ChatGPT dans une base de code unique et minimale en dépendances. Vous démarrez une boîte GPU dans le cloud, exécutez un seul script et en aussi peu que 4 heures plus tard, vous pouvez parler à votre propre LLM dans une interface web similaire à ChatGPT. Il pèse environ 8 000 lignes de code que je trouve plutôt propre pour : - Entraîner le tokenizer en utilisant une nouvelle implémentation en Rust - Préformer un LLM Transformer sur FineWeb, évaluer le score CORE sur un certain nombre de métriques - Entraîner à mi-parcours sur des conversations utilisateur-assistant de SmolTalk, des questions à choix multiples, l'utilisation d'outils. - SFT, évaluer le modèle de chat sur des questions à choix multiples de culture générale (ARC-E/C, MMLU), mathématiques (GSM8K), code (HumanEval) - RL le modèle en option sur GSM8K avec "GRPO" - Inférence efficace du modèle dans un moteur avec cache KV, pré-remplissage/décodage simple, utilisation d'outils (interpréteur Python dans un bac à sable léger), communiquer avec lui via CLI ou WebUI similaire à ChatGPT. - Rédiger un seul rapport markdown, résumant et ludifiant l'ensemble. Même pour aussi peu que ~100 $ de coût (~4 heures sur un nœud 8XH100), vous pouvez entraîner un petit clone de ChatGPT avec lequel vous pouvez un peu discuter, et qui peut écrire des histoires/poèmes, répondre à des questions simples. Environ ~12 heures dépassent la métrique CORE de GPT-2. En augmentant davantage jusqu'à ~1000 $ (~41,6 heures d'entraînement), il devient rapidement beaucoup plus cohérent et peut résoudre des problèmes simples de mathématiques/code et passer des tests à choix multiples. Par exemple, un modèle de profondeur 30 entraîné pendant 24 heures (ce qui équivaut à peu près aux FLOPs de GPT-3 Small 125M et 1/1000 de GPT-3) atteint des scores dans les 40 sur MMLU et 70 sur ARC-Easy, 20 sur GSM8K, etc. Mon objectif est d'obtenir l'ensemble du "strong baseline" dans un dépôt cohérent, minimal, lisible, hackable et maximement forkable. nanochat sera le projet phare de LLM101n (qui est encore en développement). Je pense qu'il a également le potentiel de devenir un cadre de recherche ou un benchmark, similaire à nanoGPT avant lui. Ce n'est en aucun cas fini, réglé ou optimisé (en fait, je pense qu'il y a probablement pas mal de fruits à portée de main), mais je pense qu'il est à un endroit où le squelette global est suffisamment correct pour qu'il puisse être mis sur GitHub où toutes ses parties peuvent être améliorées. Le lien vers le dépôt et un guide détaillé du speedrun de nanochat se trouvent dans la réponse.
Vous pouvez déployer un GPU, exécuter le script et avoir votre propre chatbot en discussion dans ~4 heures. Karpathy dit que le modèle à 100 $ peut déjà écrire des poèmes et des histoires et surpasser GPT-2 sur CORE ; 1000 $ le rapproche de GPT-3 Small 125M FLOPs avec 40 + MMLU et 70 + scores ARC-Easy. L'objectif est un dépôt unifié, lisible et modifiable qui regroupe l'ensemble du "pipeline de référence solide" : un successeur à nanoGPT et la colonne vertébrale de son prochain cours LLM101n.
Même avec un petit budget, les résultats sont surprenants. • Exécution de 100 $ (8×H100, 4 heures) : dépasse GPT-2 sur CORE, peut écrire des poèmes et des nouvelles. • Exécution de 1000 $ (≈24 heures, GPT-3 Small 125 M FLOPs, échelle 1/1000) : – MMLU 40 + – ARC-Easy 70 + – GSM8K 20 + c'est un véritable mini-pipeline de recherche.
Lorsque quelqu'un a demandé si NanoChat pouvait être utilisé pour entraîner un LLM personnel (sur des notes Notion, des données de santé, etc.), Karpathy a refroidi l'idée : "Ce n'est pas un bon dépôt pour ça... Pensez à ces micro-modèles comme à de très jeunes enfants ; ils manquent de l'intelligence brute de leurs cousins plus grands." Si vous les affinez sur des données personnelles, vous pourriez obtenir un "mignon perroquet" qui imite votre style d'écriture, mais ce sera toujours du désordre. 🪿
Pourquoi la personnalisation est difficile Pour construire un modèle véritablement personnalisé, vous devez : • Préparer des données de base de haute qualité • Générer une multitude de données synthétiques (complexes + diverses) • Affiner sur un LLM open fort (par exemple, Tinker) • Éventuellement mélanger de grandes données de pré-entraînement pour conserver l'intelligence générale C'est encore un domaine de recherche aujourd'hui, pas un projet de week-end.
Vue d'ensemble Karpathy considère NanoChat comme le nouveau nanoGPT— un cadre minimal mais complet qui peut évoluer en une base standard pour la recherche sur les LLM, la collaboration communautaire et l'éducation. Pour l'instant, il n'est pas entièrement optimisé, mais l'architecture est solide—prête pour que les contributeurs de GitHub l'améliorent, module par module.
Afficher l’original
4,64 k
15
Le contenu de cette page est fourni par des tiers. Sauf indication contraire, OKX n’est pas l’auteur du ou des articles cités et ne revendique aucun droit d’auteur sur le contenu. Le contenu est fourni à titre d’information uniquement et ne représente pas les opinions d’OKX. Il ne s’agit pas d’une approbation de quelque nature que ce soit et ne doit pas être considéré comme un conseil en investissement ou une sollicitation d’achat ou de vente d’actifs numériques. Dans la mesure où l’IA générative est utilisée pour fournir des résumés ou d’autres informations, ce contenu généré par IA peut être inexact ou incohérent. Veuillez lire l’article associé pour obtenir davantage de détails et d’informations. OKX n’est pas responsable du contenu hébergé sur des sites tiers. La détention d’actifs numériques, y compris les stablecoins et les NFT, implique un niveau de risque élevé et leur valeur peut considérablement fluctuer. Examinez soigneusement votre situation financière pour déterminer si le trading ou la détention d’actifs numériques vous convient.