上周我把Claude塞进一个循环脚本,让它在我的RTX 3070上跑了一整夜。醒来一看,模型性能涨了25%。不是因为我变强了,是我睡觉的时候有个agent在替我试错。
这个思路来自Andrej Karpathy提过的autoresearch概念。核心就五个字:让机器去撞墙。人类做ML研究,瓶颈从来不是算力,是注意力。你想一个实验、写代码、等训练、看结果、再想下一个——这一套下来,一天能跑两轮就算高效。agent不一样,它每分钟都能完成一次完整的 propose-implement-train-evaluate-decide 循环,而且不需要睡觉。
![]()
具体怎么跑?我拆一下这个循环:
第一步,Propose。agent先看当前模型的loss曲线和各项指标,然后提议一个具体的代码改动。可能是调学习率,可能是改attention head的数量,也可能是把layer norm换个位置。
第二步,Implement。它直接写Python代码,把改动落地到PyTorch模型里。不需要我动手。
第三步,Train。在PubMed的医学文本数据上训练。数据量不大,但足够验证改动方向对不对。
第四步,Evaluate。拿新loss和基线比。有改善就进下一步,没有就回滚。
第五步,Decide。设定一个阈值,超过就保留,否则git revert。不留恋,不纠结。
第六步,Repeat。带着新的上下文,回到第一步继续。
这个循环跑了一晚上,100次实验。结果是:93次失败,7次成功。成功率7%,听起来很惨?但这就是研究的真相。人类研究者的一天,可能也就试两三个想法,还都是你觉得"大概能成"的保守选择。agent不管这些,它把我觉得"肯定不行"的路也走了一遍。
那7次成功的实验里,有些东西我确实想不到。比如一个特定的attention head配置,我自己调模型的时候从来没试过那个组合。还有batch size的调整,数值看起来很不合理,但居然work了。最打脸的是layer normalization的 placement,我原来的假设被直接推翻。
硬件成本呢?RTX 3070,8GB显存,现在二手大概500美元。CPU是普通桌面级的AMD Ryzen,32GB内存,1TB NVMe SSD。一晚上电费加Claude API调用,总共不到0.5美元。关键是我把推理放在本地跑,没有走云服务商的按量计费。如果这100次实验都扔给AWS的A100实例,账单会很难看。
代码本身很简陋,大概300行Python。Claude Sonnet负责推理和代码生成,PyTorch管训练,SQLite记实验日志,Git做版本控制。没有什么高深架构,就是循环写得好,prompt写得清楚,评估标准定得明确。
这件事给我几个挺深的体会。
第一, autonomy的前提是metrics必须清晰。你不能跟agent说"让模型更好",你得给它一个数字,一个可以比较的数字。loss、perplexity、F1,什么都行,但必须单一、可量化、无歧义。
第二,failure不是bug,是feature。93%的失败率在人类团队里会被认为是灾难,但对agent来说这只是筛选成本。当单次实验的成本趋近于零,你就可以承受极高的失败率。这和生物进化的逻辑一样:大量变异,环境选择,保留优势。
第三,consumer hardware真的够用了。不是每个研究都需要A100集群。很多改进来自于架构选择和超参组合,而不是 brute force 的算力堆砌。RTX 3070的8GB显存确实限制了模型规模,但对于实验迭代来说,速度比大小更重要。
第四,overnight是killer use case。这个场景太舒服了:晚上提交,早上收结果,白天用人脑做判断和方向选择。人和机器的分工变得明确——机器负责穷举和验证,人负责定义问题和解读模式。
如果你想复现,门槛比想象中低。需要一张GPU(3060都能跑),一个Claude或GPT的API key,一个明确的优化指标,以及调试循环的耐心。最难的部分不是写代码,是定义什么叫"更好"。很多团队卡在这里:业务指标和模型指标对不上,或者优化目标本身在漂移。
这个实验也让我重新思考"自动化研究"的边界。agent现在能做的是局部优化:在给定架构里调超参,改训练策略,试不同的正则化组合。但它还不能做架构层面的创新,不能提出全新的inductive bias,也不能判断一个研究方向值不值得投入。这些还需要人。
但局部优化已经很有价值了。很多论文里的"trick",其实就是某个超参的特定取值,或者某个模块的特定配置。这些东西靠人工网格搜索很难覆盖,靠agent的随机探索反而容易撞出来。未来可能会出现一种新分工:人类研究者负责提出假设和框架,agent负责在框架内做 exhaustive search,然后人类再从agent的发现里提炼规律。
最后说一点局限。这个实验是在PubMed数据上做的,任务相对标准。如果是更复杂的 multimodal 任务,或者需要外部工具调用的场景,循环的稳定性会下降。agent写的代码不总是对的,有时候能跑通但逻辑有bug,有时候训练到一半OOM。这些都需要监控和fallback机制。
另外,25%的improvement是相对于我自己的baseline而言。这个baseline本身没有经过仔细调优,所以提升空间比较大。如果起点已经是SOTA水平,agent能榨出来的边际收益会小很多。但反过来说,大部分实际落地的模型都远没到SOTA,这时候autoresearch的价值反而更大。
我把代码整理了一下,核心就是那个300行的orchestrator。不复杂,但prompt engineering花了挺长时间。怎么让Claude提出合理的改动建议,怎么让它写出能直接执行的代码,怎么定义"成功"的阈值,这些都需要迭代。工具本身很快,但让工具稳定工作很慢。
overnight跑100次实验这件事,以前只有大厂的研究团队能做,现在一张消费级显卡加几百行代码就能实现。这不是说个人研究者能取代团队,而是说验证想法的成本急剧下降了。你可以更快知道一个想法行不行,从而更快决定是深入还是放弃。在资源有限的情况下,这种快速试错的能力可能比单次实验的质量更重要。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.