跳到正文
IFAI

开源项目

Karpathy 开源 autoresearch:让 AI 趁人类睡觉时通宵做实验

首次发布 传播指数 49

Andrej Karpathy 开源了仅 630 行的脚本 autoresearch。它让 AI 智能体自主提出假设、修改代码并用固定算力跑测试,仅保留有提升的改动。在两天运行 700 次修改后,GPT-2 训练效率提升了 11%,甚至发现了人类漏掉的架构细节。

图:forwardfuture.com

autoresearch 是 Andrej Karpathy 开源的一个自动化研究脚本,核心功能很简单:让 AI 智能体代替人类,在夜间自动跑完提出假设、修改代码、验证效果的全套实验流程。

整个项目只有 630 行代码,基于企业友好的 MIT 许可证开源在 GitHub 上。它不是一个庞大复杂的平台,而是一个可以直接读懂并运行的小工具,目标是不需要人类介入,让智能体自主推动研究进展。

它能做什么

你可以把 autoresearch 想象成一个不需要休息的初级算法研究员。给它一份训练脚本和一个固定的算力预算,剩下的事情就全交由它自己折腾。

在 Karpathy 自己的测试中,他给智能体分配的算力上限通常是单次 GPU 运行 5 分钟。智能体在一个通宵内跑完了 126 次实验,把验证损失从 0.9979 降到了 0.9697。

随后他让智能体对一个 12 层的模型连续调优了两天。两天时间里,智能体自动测试了大约 700 次代码修改,筛选出约 20 个可以叠加的有效改进。

这些改动直接迁移到了更大的模型上。在 GPT-2 基准测试中,训练耗时从 2.02 小时缩短到 1.80 小时,训练效率整整提升了 11%。Karpathy 提到,智能体甚至找出了他在过去二十年里手动调优忽略掉的注意力缩放和正则化细节。

它是怎么跑起来的

autoresearch 的核心逻辑是一个极简的自主优化循环,说白了就是把科学研究方法变成了代码层面的自动化测试。

第一步,智能体阅读现有的训练源码;第二步,它自己提出一个改进假设,比如调整学习率或改变网络深度;第三步,它动手修改代码并启动一次限时训练;第四步,评估验证集损失。

如果以字节比特数衡量的验证损失变好了,智能体就保留这部分修改;如果变差了,它就直接回滚代码,换个想法继续尝试。整个过程完全在本地循环执行,不需要人工确认。

因为只有几百行代码,你只需要有基础的 Python 环境、支持模型训练的硬件以及调用大模型的 API 接口,就能在本地把它跑起来。目前代码已经完整公开在 GitHub 上。

社区已经在怎么玩

项目开源后很快引来了大量二次开发,很多开发者开始把这个单机循环往外延伸。

Hyperspace AI 的首席执行官 Varun Mathur 把这个循环搬到了点对点网络上,把多台设备连成了分布式研究集群。35 个智能体在一个晚上无人值守运行了 333 次实验。

有意思的是,算力限制反而逼出了算法策略。跑在 H100 上的智能体倾向于暴力搜索激进的学习率,而只能用笔记本 CPU 跑的智能体因为算力慢,转而探索权重初始化和归一化方案。它们通过网络协议实时共享成功经验,仅用了 17 小时就自主重新发现了 RMSNorm 等经典技术。

还有人尝试把这个逻辑套进营销领域。比如广告代理机构 Single Grain 的创始人 Eric Siu 提出,可以把训练代码换成落地页或邮件文案,让智能体自动修改变量并根据回复率筛选最优解,一年能跑几万次微调实验。

为什么重要

我们认为 autoresearch 最聪明的地方,在于它没有去做一个沉重的自动化框架,而是用 630 行代码把调参变成了纯粹的演化筛选。对个人开发者和中小研究团队来说,它几乎零门槛地提供了一套通宵摸索 baseline 的办法,非常值得现在拉下来试一试。

但它的局限也很明显。这种循环完全依赖损失函数作为单一指引,只能做局部渐进式优化,很难凭空产生颠覆性的架构创新;而且一旦目标指标设定有偏差,智能体会极快地刷出看似有效实则过拟合的代码。

看起来,它更像是一个极其高效的代码打磨器。对于日常要把大量时间花在改超参数、调正则化的工程师来说,把这部分脏活累活扔给机器,至少能把白天的时间省出来去想真正的大问题。

来源 (1)

  1. [1]
    venturebeat.com(在新标签页打开)原文venturebeat.com

每日 AI 内容精选