新智元报道
编辑:英智 桃子
【新智元导读】AI已经能够自主科研了!AMD霍普金斯祭出「智能化实验室」不仅能独立完成文献调研到论文撰写全流程工作,还能将研究成本暴降84%。
AI离自主科研,真的越来越近了!
最近,Hyperbolic联创Jasper Zhang在采访中称,AI智能体已经可以自主租用GPU,利用PyTorch进行开发了。
其实,在科研方面,AI智能体也是一把能手。
只要脑海里有科研的奇思妙想,一份高质量的研究报告甚至连代码,都能很快呈现在你眼前。
这不,AMD联手霍普金斯打造出的一款「智能体实验室」,瞬间在全网爆火。
这个超牛的AI系统,代号叫做Agent Laboratory,全程靠LLM驱动!
从文献综述开始,到开展实验,再到最后生成报告,就像一位不知疲倦的科研小能手,一站式搞定整个科研流程。
Agent Laboratory由LLM驱动的多个专业智能体组成,自动处理编码、文档编写等重复耗时的任务。
在研究的每个阶段,用户都可以提供反馈与指导。Agent Laboratory旨在助力研究人员实现研究创意,加速科学发现,提高研究效率。
论文地址:https://arxiv.org/abs/2501.04227
研究发现:
由o1-preview驱动的Agent Laboratory产出的研究成果最佳;
与现有方法相比,Agent Laboratory生成的代码达到先进水平;
人类在各阶段提供的反馈,显著提升了研究的整体质量;
Agent Laboratory大幅降低研究费用,与传统研究方法相比,费用减少了84%。
Agent Laboratory有三个关键阶段:文献综述、实验设计和报告撰写。
由LLM驱动的专业智能体(如博士、博士后等)协同工作,承担文献综述、实验规划、数据准备和结果解释等工作。这些智能体还会集成arXiv、Hugging Face、Python和LaTeX等外部工具,来优化结果。
文献综述
文献综述阶段,旨在收集、整理与给定研究主题相关的论文,为后续研究提供参考。
在这个过程中,博士智能体借助arXiv API检索相关论文,并执行三个主要操作:摘要、全文和添加论文。
摘要:从与初始查询相关的前20篇论文中提取摘要
全文:提取特定论文的完整内容
添加论文:将选定的摘要或全文纳入到文献综述
该过程并非一次性完成,而是迭代进行。智能体多次执行查询,依据论文内容评估其相关性,筛选出合适的论文,构建全面的文献综述。
当通过「添加论文」命令达到指定数量(N=max)的相关文献后,文献综述才会完成。
实验环节
实验环节包括制定计划、数据准备、运行实验和结果解释。
制定计划
在这个阶段,依据文献综述和研究目标,智能体需要制定一份详尽且可行的研究计划。
博士和博士后智能体通过对话协作,明确研究方法,比如要采用哪些机器学习模型、使用什么数据集,以及实验的主要步骤。
达成一致后,博士后智能体通过「计划」命令提交该计划,作为后续子任务的行动指南。
数据准备
在此阶段,ML工程师智能体负责执行Python命令来运行代码,为实验筹备可靠的数据。该智能体有权限访问 HuggingFace数据集。
代码完成后,ML工程师智能体通过「提交代码」命令提交。在正式提交前,代码会先经过Python编译器检查,确保不存在编译问题。若代码有错误,这个过程将反复进行,直至代码无误。
运行实验
在运行实验阶段,ML工程师智能体借助mle-solver模块来执行之前制定的实验计划。
mle-solver是一个专门的模块,主要功能是自主生成、测试以及优化机器学习代码,其工作流程如下:
A. 命令执行
在命令执行阶段,初始程序是从预先维护的高性能程序中选取的。
mle-solver通过「REPLACE」和「EDIT」这两个操作,对这个程序进行迭代优化。
「EDIT」操作会选定一系列行,用新生成的代码替换指定的内容。「REPLACE」操作会直接生成一个全新的Python文件。
B. 代码执行
执行代码命令后,编译器会检查新程序在运行时是否存在错误。
若程序成功编译,系统会给出一个得分。若该得分高于现有程序,顶级程序列表就会更新。
要是程序编译失败,智能体就会尝试修复代码,最多尝试3次。如果修复失败,就会返回错误提示,重新选择或生成代码。
C. 程序评分
通过基于LLM奖励模型对编译成功的代码打分,评估mle-solver生成的机器学习代码的有效性。
该奖励模型会依据研究计划、生成的代码以及观察到的输出,对程序进行评分,评分范围是0到1。得分越高,表明程序能够更有效地实现研究目标。
D. 自我反思
无论代码运行成功与否,mle-solver都会依据实验结果或者错误信号进行反思。智能体会思考每个步骤,力求优化最终结果。
如果程序编译失败,求解器就会琢磨下一次迭代时该怎么解决这个问题。要是代码成功编译且有了得分,求解器则会思考怎样提高这个分数。这些反思旨在帮助系统从错误中学习,并在后续迭代中提高代码质量和稳定性。
E. 性能稳定化
为避免性能出现波动,采用了两种机制:顶级程序采样和批量并行化。这两种策略在探索新解决方案和优化现有方案之间找到平衡,让代码修改过程更加稳定 。
顶级程序采样:指维护一组评分最高的程序。在执行命令前,会从这组程序中随机挑选一个,既能保证程序的多样性,又能确保质量。
批量并行化:求解器每进行一步操作,都会同时对程序做出N次修改,然后从这些修改中挑选出评分最高的,去替换顶级集合里评分最低的程序。
研究者在MLE-bench的10个ML挑战中单独评估了mle-solver。mle-solver始终优于其他求解器,获得了更多奖牌,并在10个基准中的6个中达到了高于中位数的人类表现。
解释结果
在此阶段,博士和博士后智能体一同探讨对mle-solver得出的实验结果的理解,旨在从实验结果中提炼出有价值的见解。
当他们就某个有意义的解释达成共识,且认为该解释能为学术论文增添价值时,博士后智能体便会通过「解释」命令提交该解释,为后续的报告撰写提供支撑。
撰写研究报告
报告写作阶段,博士和教授智能体负责把研究成果整理成一份完整的学术报告。这一过程借助名为paper-solver的模块,来迭代生成并完善报告。
paper-solver并非要完全取代学术论文的写作过程,而是以人类易于理解的格式,对已完成的研究成果进行总结。
该模块生成的报告遵循学术论文的标准结构。paper-solver模块的工作流程如下:
A. 初始报告框架
paper-solver的首要任务是生成研究论文的初始框架。该框架框架遵循学术规范,采用了LaTeX编译所需的格式,生成的论文能直接进入审阅和修改环节。
B. ArXiv研究
paper-solver可按文献综述接口访问arXiv,探索与当前撰写主题相关的文献,还可以查找可引用的论文。
C. 报告编辑
使用「EDIT」命令,对LaTeX代码进行迭代和修改,确保论文与研究计划相符、论点清晰且满足格式要求。
D. 论文审阅
这个系统借助基于LLM的代理,模拟科学论文的审阅过程,遵循NeurIPS会议的审稿指南对论文进行评估。
E. 论文完善
在论文修改阶段,根据三个评审代理给出的反馈意见,博士智能体负责决定论文是需要修订。这一过程能够持续优化研究报告,直至达到较高标准。
辅助驾驶模式
Agent Laboratory有两种运行模式:自主模式和辅助驾驶模式。
自主模式下,用户仅需提供初始研究思路,此后整个过程完全无需人工干预。每完成一个子任务,系统便会自动按顺序推进至下一个子任务。
辅助驾驶模式下,同样是先提供研究思路。不同的是,每个子任务结束时设有检查点。在这些检查点,人工审阅者会对代理在该阶段的工作成果(如文献综述总结、生成的报告等)进行审阅。
人工审阅者有两个选择:一是让系统继续推进到下一个子任务;二是要求代理重复当前子任务,并给出改进建议,助力代理在后续尝试中表现更佳。
o1-preview总分最高
通过比较15篇由10位博士审阅的论文,研究者分析了3个LLM(gpt-4o、o1-mini、o1-preview)在实验质量、报告质量和实用性方面的表现。人类评审者使用NeurIPS风格的标准来评估论文。
o1-preview的总分最高(4.0/10),其次是o1-mini(3.8)和gpt-4o(3.5)。o1-preview在实用性和报告质量方面表现出色,o1-mini在质量上领先。
而在重要性和贡献这两项上,所有模型的表现都较为普通,这反映出模型在原创性和影响力方面存在局限。
所有模型的得分均低于NeurIPS的平均分,表明生成的论文在技术性和方法论的严谨性上显著不足。凸显了进一步优化Agent Laboratory的必要性,让其生成的内容符合高质量出版物的标准。
在辅助驾驶模式下,研究人员对论文的实用性(3.5/5)、延续性(3.75/5)、满意度(3.63/5)和可用性(4.0/5)进行了评分。辅助驾驶模式下的论文质量从3.8/10提高到4.38/10。
运行时间和成本分析显示,gpt-4o的计算效率和成本效益最佳,完成时间为1165.4秒,成本为2.33美元,优于o1-mini(3616.8秒,7.51美元)和o1-preview(6201.3秒,13.10美元)。
报告撰写是成本最高的阶段,尤其是o1-preview(9.58美元)。
Agent Laboratory的出现,无疑是科研领域的一次重大革新,展现了AI在助力科研上的巨大潜力。
尽管它还存在一些需要完善的地方,如生成论文在某些方面与高质量出版物标准尚有差距,但它所带来的高效、便捷以及新思路,已经让我们看到了未来科研发展的新方向。
参考资料:
https://arxiv.org/pdf/2501.04227
https://x.com/SRSchmidgall/status/1877164749668102233
https://agentlaboratory.github.io/