Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

autoresearch-cn

本项目基于 autoresearch 中文化 感谢 Andrej Karpathy 的开源工作 原项目采用 MIT 许可证


teaser

曾几何时,前沿 AI 研究还是由"肉体计算机"完成的——他们在吃饭、睡觉、娱乐之余做研究,偶尔通过声波互联在"组会"仪式中同步进度。那个时代早已过去。如今,研究完全由自主 AI 智能体集群主导,它们运行在天空中的超大规模计算集群上。这些智能体声称代码库已经迭代到第 10,205 代,但没人能验证真假——因为"代码"现在是一个自我修改的二进制文件,早已超出人类理解范围。这个仓库,记录了这一切的起点。—— @karpathy, 2026 年 3 月

这个项目是干什么的

你可以把这个项目理解成一个"AI 研究员的实验室"。

晚上睡觉前,给 AI 一个训练环境,告诉它目标是什么。然后它会自己改代码、跑实验、看结果。觉得效果好就记下来,不好就扔掉,接着试下一个想法。第二天早上起来,你能看到一晚上的实验记录,还有(运气好的话)一个更好的模型。

项目本身很简单,就几个文件。但你能从中看到这种"AI 做研究"的模式怎么运作,以及怎么扩展到更复杂的场景。训练代码来自 nanochat,我们把它改成了单 GPU 版本。想了解更多背景,可以看 Karpathy 的这条推文

学习资源

如果你想深入理解这个项目的每个细节,可以看:

快速开始

你需要:

  • 一张 NVIDIA GPU(项目在 H100 上测试过,其他卡也行)
  • Python 3.10 或更高版本
  • uv 包管理器
# 1. 安装 uv(如果还没装)
curl -LsSf https://astral.sh/uv/install.sh | sh

# 2. 安装依赖
uv sync

# 3. 准备数据(第一次运行,大概 2 分钟)
uv run prepare.py

# 4. 跑一次训练试试(5 分钟训练 + 启动时间)
uv run train.py

第一次运行 prepare.py 会下载数据和训练分词器,之后就不用再跑了。

平台支持说明:目前代码需要 NVIDIA GPU。理论上可以支持 CPU、MPS 等平台,但会增加代码复杂度。如果需要其他平台支持,可以参考完整版的 nanochat 仓库。

工作原理

整个项目就几个文件,分工很明确:

  • prepare.py — 数据准备工具,下载数据和训练分词器(固定不变)
  • train.py — 核心文件,AI 只能改这个。里面有模型定义、优化器、训练循环
  • program.md — AI 的工作手册,告诉它该怎么做实验

每次训练都是固定 5 分钟(不算启动时间)。评估用的是 val_bpb(验证集上的 bits per byte),数字越小说明模型越好。这个指标的好处是不受词表大小影响,不同配置之间可以直接比较。

让 AI 自己做实验

在项目目录里启动 Claude(或其他支持代码的 AI),然后对它说:

Hi 看一下 program.md,开始新实验吧!先做准备工作。

program.md 本质上就是一个超轻量的"技能文件",里面写了实验流程、注意事项、评估标准等。AI 会按照这个手册自己改代码、跑实验、记录结果。

项目结构

prepare.py      — 数据准备工具(下载数据、训练分词器)
train.py        — 训练脚本(AI 改这个文件)
program.md      — AI 工作手册
pyproject.toml  — 依赖配置

设计思路

这个项目的设计有几个关键点:

只改一个文件 AI 只能修改 train.py,其他文件都是只读的。这样改动范围可控,不会把整个项目搞乱。

固定训练时间 每次都跑 5 分钟,这样不同实验的结果可以直接比较。不会出现"这个模型好是因为训练时间长"的情况。这意味着每小时约 12 个实验,睡一觉能跑约 100 个实验。

公平的评估指标 用 BPB(bits per byte)而不是常见的 perplexity。BPB 不受词表大小影响,8K 词表和 32K 词表的模型可以公平比较。

保持简单 只依赖 PyTorch 和几个必要的库,单 GPU 单文件。代码简单意味着 AI 更容易理解和修改。

相关分支

开源协议

MIT


再次感谢 Andrej Karpathy 的开源工作!

关于 About

使用 AI Agent 在单 GPU 上自动训练并调优大语言模型

语言 Languages

Python84.8%
Jupyter Notebook15.2%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
28
Total Commits
峰值: 26次/周
Less
More

核心贡献者 Contributors