Andrej Karpathy 刚刚发布了他写过的最“疯狂”的代码库之一——NanoChat。 这是一个从头开始构建的、简约但完整的类似 ChatGPT 的系统,教你如何以不到 100 美元的成本训练和运行自己的 LLM。 仅用约 8 千行干净的代码,它涵盖了所有内容,包括分词器(基于 Rust)、在 FineWeb 上的预训练、在 SmolTalk 上的中期训练、在 MMLU / GSM8K / HumanEval 上的 SFT、通过 GRPO 的可选 RL、高效推理与 KV 缓存 + 预填充/解码,以及一个 ChatGPT 风格的 WebUI。 (1/n)
很高兴发布新的代码库:nanochat! (这是我写过的最疯狂的之一)。 与我之前类似的代码库nanoGPT仅涵盖预训练不同,nanochat是一个从头开始的最小化全栈训练/推理管道,构建了一个简单的ChatGPT克隆,所有内容都在一个依赖最小的代码库中。你只需启动一个云GPU实例,运行一个脚本,最多4小时后,你就可以在一个类似ChatGPT的网页UI中与自己的LLM对话。 它大约有8000行我认为相当干净的代码,功能包括: - 使用新的Rust实现训练分词器 - 在FineWeb上预训练一个Transformer LLM,评估多个指标的CORE分数 - 在SmolTalk的用户助手对话、选择题、工具使用上进行中期训练。 - SFT,评估聊天模型在世界知识选择题(ARC-E/C,MMLU)、数学(GSM8K)、代码(HumanEval)上的表现 - 可选地在GSM8K上对模型进行RL训练,使用"GRPO" - 在引擎中高效推理模型,使用KV缓存,简单的预填充/解码,工具使用(轻量级沙箱中的Python解释器),通过CLI或类似ChatGPT的WebUI与其对话。 - 编写一份单一的markdown报告卡,总结并游戏化整个过程。 即使成本低至约100美元(在8XH100节点上约4小时),你也可以训练一个小型的ChatGPT克隆,能够进行简单对话,并能写故事/诗歌,回答简单问题。大约12小时的训练超越了GPT-2的CORE指标。当你进一步扩展到约1000美元(约41.6小时的训练)时,它会变得更加连贯,能够解决简单的数学/代码问题并参加选择题测试。例如,一个训练24小时的深度30模型(这大约等于GPT-3 Small 125M的FLOPs和GPT-3的1/1000)在MMLU上得分40分,在ARC-Easy上得分70分,在GSM8K上得分20分,等等。 我的目标是将完整的"强基线"堆栈整合到一个连贯、最小、可读、可黑客化、最大限度可分叉的代码库中。nanochat将是LLM101n的顶点项目(该项目仍在开发中)。我认为它也有潜力发展成一个研究工具或基准,类似于之前的nanoGPT。它绝不是完成、调优或优化的(实际上我认为可能还有很多低垂的果实),但我认为它的整体框架已经足够好,可以在GitHub上发布,所有部分都可以改进。 代码库链接和nanochat速跑的详细演练在回复中。
您可以启动一个GPU,运行脚本,并在大约4小时内拥有自己的聊天机器人。 Karpathy表示,$100的模型已经可以写诗和故事,并在CORE上超越GPT-2;$1000的模型接近GPT-3 Small 125M FLOPs,具有40 + MMLU和70 + ARC-Easy分数。 目标是一个统一、可读、可黑客的代码库,捆绑完整的“强基线管道”:nanoGPT的继任者,以及他即将推出的LLM101n课程的基础。
即使预算很小,结果也令人惊讶。 • $100 运行(8×H100,4小时):在CORE上超越GPT-2,能够写诗和短篇故事。 • $1000 运行(≈24小时,GPT-3 Small 125 M FLOPs,1/1000比例): – MMLU 40 + – ARC-Easy 70 + – GSM8K 20 + 这是一个真正的研究级迷你管道。
当有人问到 NanoChat 是否可以用来训练个人 LLM(在 Notion 笔记、健康数据等上),Karpathy 对这个想法泼了冷水: “这不是一个好的仓库……把这些微型模型想象成非常年轻的孩子;它们缺乏更大表亲的原始智能。” 如果你在个人数据上对它们进行微调,你可能会得到“可爱的模仿”,模仿你的写作风格,但它仍然会是糟糕的。 🪿
为什么个性化很难 要构建一个真正个性化的模型,你需要: • 准备高质量的基础数据 • 生成大量合成数据(复杂 + 多样) • 在强大的开放 LLM 上进行微调(例如 Tinker) • 可能混入大量预训练数据以保留一般智能 这仍然是今天的研究级领域,而不是一个周末项目。
更大的图景 Karpathy 将 NanoChat 视为新的 nanoGPT——一个最小但完整的框架,可以发展成为 LLM 研究、社区协作和教育的标准基线。 现在它尚未完全优化,但架构是稳固的——准备好让 GitHub 贡献者逐步推动它向前发展。
查看原文
4,006
15
本页面内容由第三方提供。除非另有说明,欧易不是所引用文章的作者,也不对此类材料主张任何版权。该内容仅供参考,并不代表欧易观点,不作为任何形式的认可,也不应被视为投资建议或购买或出售数字资产的招揽。在使用生成式人工智能提供摘要或其他信息的情况下,此类人工智能生成的内容可能不准确或不一致。请阅读链接文章,了解更多详情和信息。欧易不对第三方网站上的内容负责。包含稳定币、NFTs 等在内的数字资产涉及较高程度的风险,其价值可能会产生较大波动。请根据自身财务状况,仔细考虑交易或持有数字资产是否适合您。