大家好,我是何三,独立开发者

今天要给大家分享一个超级有趣的项目——karpathy/autoresearch。这个项目让我大开眼界,它展示了 AI 智能体如何自主进行机器学习研究。

为什么这个项目值得关注?

想象一下,传统的 AI 研究是什么样的:研究人员每天在代码库中修改参数、调整架构、训练模型、等待结果、分析性能,周而复始。这个过程既耗时又费力,而且容易受人类认知局限的影响。

而 autoresearch 项目提出了一种全新的研究范式:让 AI 智能体自主进行实验。你只需要给它一个基础的训练代码,它就会自动修改代码、训练模型、评估结果、保留改进、丢弃失败,然后循环往复。你睡觉的时候,它可能已经完成了上百次实验。

核心原理:自动化研究循环

autoresearch 的核心思想非常简单但很强大:

  1. 固定时间预算:每次训练运行 5 分钟(不包括启动和编译时间)
  2. 自动迭代:智能体修改代码 → 训练 → 评估 → 决定保留或丢弃
  3. 公平比较:使用 val_bpb(验证集每字节数的比特数)作为指标,这个指标与词汇表大小无关,可以公平比较不同架构

自动化研究循环

这个设计的巧妙之处在于: - 可比较性:无论智能体修改了什么(模型大小、批次大小、架构等),都在相同的时间内运行,结果可以直接比较 - 平台优化:它会自动找到在你的硬件平台上最优的配置 - 高效迭代:大约每小时可以进行 12 次实验,一晚上可以完成约 100 次实验

项目结构:极简设计

这个项目故意保持非常简洁,只有三个核心文件:

  • prepare.py:固定常量、一次性数据准备(下载训练数据、训练 BPE 分词器)和运行时工具(数据加载器、评估器)。这个文件不会被修改。

  • train.py:智能体唯一修改的文件。包含完整的 GPT 模型、优化器(Muon + AdamW)和训练循环。一切都可以修改:架构、超参数、优化器、批次大小等。

  • program.md:给智能体的指令。人类编辑这个文件来配置研究组织。

项目结构

这种设计的优点是: - 修改范围可控,diff 容易审查 - 自包含,除了 PyTorch 没有外部依赖 - 专注于训练逻辑,不被其他细节干扰

快速开始

让我用一个简单的例子展示如何使用这个项目:

# 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

如何运行智能体

运行智能体非常简单,你只需要:

  1. 在这个仓库中启动你的 Claude/Codex 或其他 AI 助手
  2. 禁用所有权限
  3. 提示类似这样的内容:"Hi have a look at program.md and let's kick off a new experiment! let's do the setup first."

智能体就会根据 program.md 中的指令开始自主研究。

技术细节

训练代码

train.py 包含了一个简化的单 GPU nanochat 实现。核心组件包括:

  • GPT 模型:完整的 Transformer 架构
  • 优化器:Muon + AdamW 组合
  • 训练循环:完整的训练逻辑

评估指标

使用 val_bpb(验证集每字节数的比特数)作为主要指标。这个指标的优势是: - 与词汇表大小无关 - 可以公平比较不同架构 - 越低越好

时间预算

每次训练运行固定 5 分钟的墙钟时间(不包括启动和编译)。这确保了: - 实验之间可以直接比较 - 研究进度可预测 - 适合自动化迭代

实际应用场景

应用场景

这个项目虽然是一个演示,但它展示了几个重要的应用方向:

  1. 自动化超参数调优:让 AI 自动找到最优的模型配置
  2. 架构搜索:自动探索不同的网络架构
  3. 快速原型验证:快速验证新想法是否值得深入
  4. 教学工具:帮助学生理解机器学习研究过程

局限性

需要注意的是,这个项目也有一些限制:

  • 目前只支持单块 NVIDIA GPU(测试过 H100)
  • 固定时间预算意味着结果不能直接与其他平台比较
  • 代码保持简洁,没有包含所有可能的优化

总结

autoresearch 项目虽然代码量不大,但它展示了一个令人兴奋的未来:AI 智能体可以自主进行机器学习研究。这种自动化研究范式可能会彻底改变我们做研究的方式。

关键要点: - 简单但强大:核心思想简单,但影响深远 - 自动化迭代:让 AI 自动完成重复性的实验工作 - 公平比较:固定时间预算确保实验可比较 - 极简设计:专注于核心功能,避免复杂性

这个项目不仅是一个技术演示,更是对未来 AI 研究方式的一次大胆探索。随着 AI 能力的不断提升,我们可能会看到越来越多的自动化研究工具出现。

如果你对机器学习研究感兴趣,这个项目绝对值得深入研究和实验。即使不直接使用,它也能给你带来很多启发。