我对nanochat的笔记,包括它使用的训练数据的链接
Andrej Karpathy
Andrej Karpathy2025年10月13日
很高兴发布新的存储库:nanochat! (这是我写过的最精神错乱的作品之一)。 与我之前仅涵盖预训练的类似存储库 nanoGPT 不同,nanochat 是一个最小的、从头开始的、从头开始的、简单的 ChatGPT 克隆的全栈训练/推理管道,位于单个、依赖最少的代码库中。您启动一个云 GPU 盒,运行一个脚本,只需 4 小时后,您就可以在类似 ChatGPT 的 Web UI 中与自己的 LLM 对话。 它的重量为 ~8,000 行 imo 非常干净的代码,用于: - 使用新的 Rust 实现训练分词器 - 在 FineWeb 上预训练 Transformer LLM,评估多个指标的 CORE 分数 - SmolTalk 的用户助手对话、多项选择题、工具使用的中间训练。 - SFT,评估世界知识多项选择(ARC-E/C、MMLU)、数学(GSM8K)、代码(HumanEval)的聊天模型 - RL 型号可选在 GSM8K 上带有“GRPO” - 在具有 KV 缓存、简单预填充/解码、工具使用(轻量级沙箱中的 Python 解释器)、通过 CLI 或类似 ChatGPT 的 WebUI 与其对话的引擎中高效推理模型。 - 写一张降价成绩单,总结整件事并游戏化。 即使成本低至 ~100 美元(在 8XH100 节点上 ~4 小时),您也可以训练一个可以与之交谈的小 ChatGPT 克隆,它可以写故事/诗歌,回答简单的问题。大约 ~12 小时超过 GPT-2 CORE 指标。当您进一步扩展到 ~1000 美元(~41.6 小时的培训)时,它很快就会变得更加连贯,可以解决简单的数学/代码问题并参加多项选择测试。例如,训练 24 小时的深度 30 模型(这大约等于 GPT-3 Small 125M 的 FLOP 和 GPT-3 的 1/1000)在 MMLU 上进入 40 秒,在 ARC-Easy 上进入 70 秒,在 GSM8K 上进入 20 秒,等等。 我的目标是将完整的“强基线”堆栈放入一个有凝聚力、最小、可读、可破解、最大可分叉的存储库中。nanochat 将是 LLM101n 的顶点项目(仍在开发中)。我认为它也有潜力成长为一种研究工具,或者一个基准,类似于之前的 nanoGPT。它绝不是完成、调整或优化的(实际上我认为可能有很多唾手可得的果实),但我认为它处于一个整体骨架足够好的地方,它可以在 GitHub 上发布,在那里它的所有部分都可以改进。 回复中包含指向存储库的链接和 nanochat 速通的详细演练。
Sam Dobson 将模型的构建推送到 Hugging Face - 它需要 CUDA 才能运行,但我让 Claude Code 在上面搞了一会儿,它为我构建了一个在 macOS CPU 上运行的脚本,详细信息如下:
142.29K