LogoAIRosetta

AI大神Andrej Karpathy再推力作:nanochat震撼发布,开启微型ChatGPT时代

GitHub

SummaryAndrej Karpathy推出nanochat,一款端到端开源微型LLM工程,覆盖分词、预训练、中间训练、SFT、RL、推理与Web UI,白箱化流程可在约100美元、4小时内训练出ChatGPT风格模型。

在人工智能领域,Andrej Karpathy无疑是一位传奇人物。作为OpenAI的联合创始人、前Tesla AI总监,以及斯坦福大学CS231n课程的讲师,Karpathy一直致力于将复杂AI技术简化并普及。去年,他发布的nanoGPT项目以简洁的代码实现GPT模型的训练,迅速成为AI学习者和研究者的必备工具,获得数万星标和广泛赞誉。该项目仅用约300行代码重现了GPT‑2的预训练过程,帮助无数开发者理解大型语言模型(LLM)的核心机制。

如今,2025年10月13日,Karpathy再次出手,推出nanochat⁠—⁠⁠—⁠nanoGPT的升级版。这一项目一经发布,便在GitHub上迅速积累约1.4万星标,并在X(前Twitter)、Hacker News和Medium等平台引发热议。 nanochat不再局限于预训练,而是构建了一个完整的端到端ChatGPT式管道,包括分词、预训练、中间训练、监督微调(SFT)、强化学习(RL)、推理和Web UI交互。Karpathy本人称其为“我写过的最疯狂的仓库之一”,强调其简洁、依赖最小化和高度可hack性。 项目在短短几天内获得数万浏览量,社区反馈热烈,许多开发者表示这将重塑AI教育和小型LLM研究。

根据GitHub仓库描述,nanochat的目标是提供一个“强基线”栈,用于Eureka Labs的LLM101n课程的顶点项目。 它允许用户在预算有限的情况下(如100美元、4小时训练)创建自己的ChatGPT克隆体,这在AI民主化浪潮中具有里程碑意义。权威来源如Marktechpost报道称,nanochat标志着微型LLM训练的突破,极大降低了入门门槛。

项目概述:nanochat的核心特性与创新

nanochat是一个全栈LLM实现,总代码量约8000行,采用MIT许可,高度模块化,便于fork和修改。 与nanoGPT仅覆盖预训练不同,nanochat涵盖整个管道:从数据准备到Web服务。关键特性包括:

  • 分词器:使用全新的Rust实现BPE(Byte Pair Encoding)分词器,支持高效的令牌化处理。测试命令如python ‑m pytest tests/test_rustbpe.py ‑v ‑s确保其可靠性。
  • 预训练:基于Hugging Face的FineWeb‑EDU数据集,训练Transformer模型。评估使用CORE分数,包括ARC‑Challenge、ARC‑Easy、GSM8K、HumanEval和MMLU等基准。
  • 中间训练与微调:使用SmolTalk数据集进行用户‑助手对话训练,支持多选题和工具使用。SFT阶段优化聊天能力,RL阶段可选使用“GRPO”在GSM8K上强化数学能力。
  • 推理引擎:高效的KV缓存、预填充/解码,支持Python解释器沙箱工具。CLI和ChatGPT式Web UI允许实时交互。
  • 评估与报告:自动生成markdown报告卡,总结指标并游戏化过程。例如,100美元级模型的SFT结果:ARC‑Easy≈0.388、MMLU≈0.315、GSM8K≈0.046、HumanEval≈0.085。

模型架构基于GPT‑like Transformer,可配置深度(如‑‑depth=26或30)。训练FLOPs约4e19(100美元级),相当于与幼儿园孩子对话的水平;扩展到1000美元(41.6小时)可达GPT‑2或更高。 数据从Hugging Face获取,强调开源协作。

相比nanoGPT,nanochat扩展了全栈能力,灵感来源于modded‑nanoGPT,后者引入指标和排行榜。 Medium文章称其为“大型语言模型训练的黑箱手术刀”,突出其教育价值。

安装过程:从零起步的详细指南

安装nanochat相对简单,主要依赖PyTorch和uv包管理器。推荐在云GPU(如Lambda的8xH100节点)上运行,成本约24美元/小时。

  • 准备环境:启动新GPU实例(如Lambda GPU Cloud)。克隆仓库:
[code] git clone https://github.com/karpathy/nanochat.git [/code]
cd nanochat
  • 安装依赖:使用uv创建虚拟环境:
uv venv
source .venv/bin/activate
uv sync

这会安装PyTorch、numpy等基本库。无额外pip安装需求。

  • 数据准备:下载FineWeb和SmolTalk数据集 shard:
[code] python -m nanochat.dataset -n 150  # 对于100美元级 [code]

对于更大模型,如300美元级(d26),下载更多shard:‑n 450。

  • 测试分词器:确保Rust BPE正常:
[code]python -m pytest tests/test_rustbpe.py -v -s [code]

如果使用单GPU或低VRAM设备,调整device_batch_size避免OOM(Out of Memory)。对于非CUDA(如xpu/mps),需手动调整。 Hacker News讨论中,用户分享了在A100上的优化经验。

使用过程:从训练到交互的端到端体验

nanochat的使用以speedrun脚本为核心,允许一键端到端运行。

  • 快速启动(Speedrun):在屏幕会话中运行,以记录日志:
screen -L -Logfile speedrun.log -S speedrun bash speedrun.sh

按Ctrl‑A D脱离,tail speedrun.log监控进度。4小时内完成100美元级训练,包括基训、中训、SFT、RL、评估和推理。

  • 查看结果:训练后,检查报告:
cat report.md

示例表格显示各阶段指标。

  • 启动Web UI:激活虚拟环境后:
[code] python -m scripts.chat_web [code]

访问URL(如http://your‑ip:8000/),如ChatGPT般交互。示例提示:“告诉我你是谁”(可能产生幻觉),“天空为什么是蓝色的”。支持工具使用,如Python代码执行。

  • 更大模型训练:修改speedrun.sh。例如d26模型:
[code] python -m nanochat.dataset -n 450 & [code]
torchrun --standalone --nproc_per_node=8 -m scripts.base_train -- --depth=26 --device_batch_size=16
torchrun --standalone --nproc_per_node=8 -m scripts.mid_train -- --device_batch_size=16

单GPU省略torchrun,使用梯度累积。

YouTube视频演示了完整过程,强调其娱乐性和教育性。 X用户分享了在Hyperbolic GPU上训练的体验,成本仅48美元。

社区反响与潜在影响

nanochat发布后,迅速登上Hacker News热榜,开发者称其为“最佳100美元ChatGPT”。 Karpathy的X帖获近2万点赞,数百回复讨论优化潜力。 Reddit用户猜测其部分由AI代理编写,代码注释丰富。 LinkedIn和Facebook帖子强调其开源价值,推动AI平民化。

影响上,nanochat可作为研究工具,类似nanoGPT的递归自改进基准,成为AI从业者最佳的实践伙伴。 它促进小型LLM的创新,适用于边缘设备和教育。Product Hunt将其评为热门产品。

结论:AI未来的微型曙光

nanochat的发布标志着Karpathy在AI教育领域的又一巅峰。它不仅延续nanoGPT的简洁精神,还扩展到全栈,实现“100美元ChatGPT”的梦想。 尽管项目未完全优化,但其可hack性预示着社区驱动的改进。未来,nanochat或将成为LLM基准,推动递归自改进。作为AI爱好者,不妨试一试⁠—⁠⁠—⁠或许下一个突破就从你的fork开始。

项目来源:nanochat: https://github.com/karpathy/nanochat?tab=readme‑ov‑file

CopyrightStatement

Comment

Please login before commenting

NoComments

RelatedNews

LoadingMore

AI大神Andrej Karpathy再推力作:nanochat震撼发布,开启微型ChatGPT时代 - Airosetta News