想象一下:你下班前给 AI 布置任务——”优化一下这个 LLM 训练的架构和超参数”,然后回家睡觉。第二天早上回来,AI 已经跑了上百次实验,并把最优结果整理成报告放在那等你。这不是科幻,这是 Karpathy 写的 AutoResearch。
AutoResearch 是 Andrej Karpathy(AI 领域传奇人物、斯坦福 CS231n 讲师、前 Tesla AI 总监)开源的 AI 科研自动化框架,让 AI Agent 在单块 GPU 上自主运行 LLM 训练实验。GitHub 已斩获 47k Stars,6.5k Forks,MIT 许可证。

相关链接
- GitHub:https://github.com/karpathy/autoresearch
- Karpathy 推文:https://x.com/karpathy
- nanochat 基座模型:https://github.com/karpathy/nanochat
AutoResearch 是什么
AutoResearch 的核心理念非常简洁:给 AI Agent 一个真实但小型的 LLM 训练环境,然后让它自主探索最优的模型架构和超参数。
你不需要懂分布式训练、不需要集群,只要有一块 NVIDIA GPU(Karpathy 在 H100 上测试)。训练代码是 nanochat 的简化单文件实现,门槛极低。
整个系统的运行逻辑是一个自动化的实验循环:Agent 修改代码 → 训练 5 分钟 → 检查 val_bpb 指标是否改善 → 保留或丢弃 → 重复。你设置好后就可以去睡觉,第二天收获一份实验日志和(希望是)一个更强的模型。
核心设计
1. 三个核心文件,职责分离
Karpathy 有意把项目压缩到极简,整个 repo 只有三个真正重要的文件:
- prepare.py:数据准备、tokenizer 训练、运行时工具函数。不需要改。
- train.py:完整的 GPT 模型、Muon+AdamW 优化器、训练循环。Agent 只改这个。
- program.md:Agent 的指令文件。人只改这个。
这种设计保证了:Agent 的修改范围可控(只动 train.py),实验 diff 可审查,迭代方向由人通过 program.md 引导。
2. 固定 5 分钟时间预算
每次训练固定运行 5 分钟(wall clock,不含启动编译时间),这个设计有几个妙处:
- 无论 Agent 把模型改多大或多小,实验都是公平可比的
- 时间预算固定 = 每次实验约 12 次/小时,睡眠 8 小时 ≈ 100 次实验
- 系统在固定时间内为你找到当前硬件配置下的最优模型
3. 唯一评价指标:val_bpb
val_bpb = validation bits per byte,越低越好。这个指标的好处是与词表大小解耦,架构变化(如 vocab_size 调整)也可以公平比较。
4. 自包含,无复杂依赖
只依赖 PyTorch 和几个小包,无分布式训练、无复杂配置。一块 GPU、一个文件、一个指标。
快速上手
环境要求
- 单块 NVIDIA GPU(测试于 H100)
- Python 3.10+
- uv 包管理器
安装与准备
# 1. 安装 uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# 2. 安装依赖
uv sync
# 3. 下载数据并训练 tokenizer(一次性,约2分钟)
uv run prepare.py
# 4. 手动跑一次训练实验(约5分钟)
uv run train.py
如果以上命令都能跑通,说明环境正常,可以进入自动化研究模式了。
启动 Agent
在 repo 目录启动 Claude/Codex(并禁用所有权限),然后发送:
Hi have a look at program.md and let's kick off a new experiment! let's do the setup first.
program.md 本质上就是一个极轻量的 Skill。
社区 Fork(小型硬件支持)
原版需要 H100 级别 GPU,但社区已产出多个适配低显存的 Fork:
| Fork | 平台 |
|---|---|
| miolini/autoresearch-macos | MacOS(M系列) |
| trevin-creator/autoresearch-mlx | MacOS(MLX) |
| jsegov/autoresearch-win-rtx | Windows RTX |
| andyluo7/autoresearch | AMD |
在低显存设备上运行,建议使用 TinyStories 数据集(GPT-4 生成的短故事,数据分布更窄,小模型也能出合理效果),并相应调低 DEPTH、vocab_size、MAX_SEQ_LEN、TOTAL_BATCH_SIZE 等参数。
适用人群
- AI 研究人员:用 AI 加速超参数搜索和架构探索
- LLM 爱好者:在消费级硬件上实验训练自己的小模型
- Karpathy 粉丝:学习他如何用极简代码解决复杂问题
- AI 工程学习者:nanochat 单文件实现是极好的 LLM 训练学习素材
技术亮点
- 极简设计:三个文件、一个指标、一块 GPU,解决核心问题
- 可复现性强:固定时间预算使实验结果可横向比较
- 可审计:Agent 只改 train.py,diff 小而清晰
- 47k Stars:Karpathy 本人的影响力 + 切实可用的科研工具
- 社区活跃:已支持 MacOS M系列、Windows RTX、AMD 等多平台
- nanochat 基座:单文件 GPT 训练实现,代码简洁可读,是学习 LLM 训练的好教材
总结
AutoResearch 看起来是一个略带”玩笑”性质的项目(README 开头的科幻设定很幽默),但实际是一个非常实用的 AI 科研自动化工具。Karpathy 用极简的代码实现了一个完整的研究循环:设定目标 → 自动实验 → 评估 → 迭代。
47k Stars 说明这个方向击中了很多人——谁不想让 AI 帮自己做那些枯燥但耗时的调参实验呢?更何况,program.md 作为人机协作接口的设计,以及 train.py 的单文件极简风格,都值得学习和借鉴。
© 版权声明
本站部分内容源于网络收集,文章等版权归原作者所有,若需删稿请联系管理员邮箱:[email protected]
相关文章
暂无评论...