autoresearch 自主研究
Karpathy 开源项目:让 AI Agent 在单 GPU 上自动运行 nanochat 训练实验,通过修改代码、训练 5 分钟、评估验证损失,循环迭代,实现夜间无人值守的模型研究。
爱鲜报评分
0 人评分
99k
星数
否
中文
Python
主语言
是
活跃
9
贡献者
人工分析
EDITORIAL推荐理由
该项目展示了 AI Agent 驱动自动化研究的新范式,将研究者从手动调参中解放出来,只需编写 program.md 指令即可。代码精简(仅三个核心文件),实验可复现且对比公平,非常适合对 LLM 训练和 Agent 应用感兴趣的开发者学习与实验。
适用场景
- 单 GPU 环境下的 LLM 训练实验自动化
- AI Agent 自主迭代优化模型超参数
- 研究机构或爱好者进行夜间无人值守训练
- 学习 nanochat 简化实现与训练流程
- 探索 Agent 驱动科研的工作流设计
优点
- 代码极简,核心仅三个文件,易于理解和修改
- 固定 5 分钟训练预算,实验可公平对比
- 自包含,仅依赖 PyTorch 和少量包
- Agent 自动迭代,可夜间运行产出大量实验记录
- 由 Karpathy 发起,社区关注度高,有多个平台分支
缺点
- 仅支持单 NVIDIA GPU(如 H100),平台受限
- 训练时间短,模型规模小,结果不适用于大规模场景
- 需要自行配置 Claude/Codex 等 Agent 并禁用权限
- 默认超参数针对 H100,小设备需手动调整
- 项目较新,生态和文档仍在完善中
autoresearch 自主研究
autoresearch 是 Andrej Karpathy 发起的一个实验性项目,旨在让 AI Agent 自动在单 GPU 上运行 nanochat 训练实验。你只需给 Agent 一个简单的 LLM 训练环境,它就能在夜间自主修改代码、训练 5 分钟、检查验证损失是否改善,并保留或丢弃改动,循环往复。第二天早上,你会得到一份实验日志和一个可能更好的模型。
核心思路
传统研究需要人工修改 Python 文件、调参、跑实验。而 autoresearch 将这一过程交给 Agent:你不再直接编辑训练代码,而是编写 program.md Markdown 文件,为 Agent 提供上下文和指令,相当于编程一个“自主研究组织”。
项目结构
仓库刻意保持精简,只有三个关键文件:
prepare.py:固定常量、一次性数据准备(下载数据、训练 BPE 分词器)和运行时工具(数据加载、评估)。不可修改。train.py:Agent 唯一编辑的文件,包含完整的 GPT 模型、优化器(Muon + AdamW)和训练循环。架构、超参数、批量大小等均可调整。program.md:给 Agent 的基础指令,由人类编辑和迭代。
工作流程
- 准备环境:安装
uv,运行uv sync安装依赖。 - 一次性数据准备:
uv run prepare.py(约 2 分钟)。 - 手动验证:
uv run train.py跑一次训练(约 5 分钟)。 - 启动 Agent:在仓库中打开 Claude/Codex 等 Agent,禁用权限,提示它阅读
program.md并开始实验。
训练固定为 5 分钟(墙钟时间,不含启动/编译),指标为 val_bpb(验证集每字节比特数),越低越好,且与词表大小无关,便于公平比较架构改动。
设计特点
- 单文件修改:Agent 只改
train.py,范围可控,diff 易审查。 - 固定时间预算:无论平台如何,训练总是 5 分钟,每小时约 12 次实验,一夜约 100 次。优点是实验直接可比,且能找到该时间预算下最适合你平台的最优模型;缺点是不同平台的结果不可比。
- 自包含:除 PyTorch 和少量小包外无外部依赖,无分布式训练,无复杂配置。
平台支持
目前仅支持单张 NVIDIA GPU(在 H100 上测试)。社区已有针对 macOS、Windows 等平台的分支(如 autoresearch-macos、autoresearch-mlx、autoresearch-win-rtx)。若要在更小设备上运行,建议调整超参数:使用更低熵的数据集(如 TinyStories)、减小 vocab_size、降低 MAX_SEQ_LEN、减小 EVAL_TOKENS、降低 DEPTH、使用 WINDOW_PATTERN 为 "L"、降低 TOTAL_BATCH_SIZE 等。
适用人群
该项目适合对 LLM 训练、AI Agent 自动化研究感兴趣的开发者、研究者和爱好者。需要一定的深度学习基础和 GPU 环境配置经验。
评论
- 暂无评论,来写第一条吧。