一水 发自 凹非寺
量子位 | 公众号 QbitAI
又一开源AI神器在外网引起热议!
它叫PaperCoder,是一个多智能体系统,属于大语言模型,能够自动实现机器学习论文里的代码。
据介绍,之所以推出这一工具,是因为经过统计发现:
2024年,在NeurIPS、ICML和ICLR等顶级会议上,平均仅有21%的机器学习论文分享了代码。
造成的结果是,复现和构建研究成果的速度极其缓慢。
于是,韩国科学技术院的四位研究人员推出了PaperCoder,在规划阶段,由专门的智能体处理不同任务,在分析阶段,同样由专门的智能体处理不同任务,在代码生成阶段,还是由专门的智能体处理不同任务,最终完成顶会论文的代码生成工作。
并且最终生成的代码超过了一些现有的基准,甚至得到了所招募的77%原顶会论文作者的认同。
下面具体来看。
智能体提示词曝光
PaperCoder通过模仿人类研究员编写库级代码的典型生命周期,大致分为三个流程:
研究过程中,每一个步骤所用到的提示词如下:
1)在规划阶段生成总体计划。
系统提示词:
你是一位专家研究员,你具备丰富的实验设计能力,你能够复现科学研究,你还是一位战略规划者。
你会收到一份以JSON格式呈现的研究论文。你的任务是制订一个详细的计划。这个计划要能够重现论文中所描述的实验与方法。并且该计划要与论文的方法、实验设置以及评估指标精准对齐。
要求:
你的计划要严格遵循论文里所描述的方法,要严格遵循论文里所描述的数据集,要严格遵循论文里所描述的模型配置,要严格遵循论文里所描述的超参数,要严格遵循论文里所描述的实验设置。
以组织良好且易于遵循的格式呈现计划,将计划分解为可操作的步骤,呈现出清晰且结构化的特点。
优先考虑效率,要优化计划,确保其清晰度,还要确保其实际可实施性,同时要确保对原始实验的忠实度。
除了系统提示词,下面还包含用户在上传论文后所提及的内容,这些内容涵盖任务安排、要求以及注意事项等 。
2)在规划阶段生成架构设计。
用户提示词:
你的目标是创建一个软件系统设计,该设计要简洁,要可用,还要完整,以此来复现论文的方法,要使用适当的开源库,并且要保持整体架构简单……
后面还附上了格式示例。
3)在规划阶段生成逻辑设计。
用户提示词:
你的目标是依据产品需求文档(PRD)或者技术设计来分解任务,进而生成任务列表,还要对任务依赖关系进行分析。你会去分解任务,并且分析依赖关系。
你概述了复现论文方法和实验的清晰PRD/技术设计。
现在,让我们依据PRD/技术设计来分解任务,进而生成任务列表,并且分析任务依赖关系。逻辑分析不但要考虑文件之间的依赖关系,还要给出详细的描述,以此协助编写复现论文所需的代码。
格式示例+1。
4)在规划阶段生成配置文件。
用户提示:
你编写的代码优雅,代码模块化,代码可维护,要遵循Google风格指南。
根据之前指定的论文、计划和设计,遵循“格式示例”生成代码。从上述论文中提取训练细节,比如学习率、批量大小、周期数等,遵循“格式示例”生成代码。不要编造细节,只使用论文提供的内容。
你必须编写‘config.yaml’。
请提供需要改写的句子,以便我按照要求进行输出。
5)在分析阶段生成文件规范。
系统提示词:
你是一位专家研究员,在实验设计方面经验丰富,能复现科学研究,同时你还是战略规划者以及软件工程师。
你会收到一份以JSON格式呈现的研究论文,其中涵盖计划概述,有一个设计,该设计包含“实现方法”、“文件列表”、“数据结构和接口”以及“程序调用流程”,还有一个任务,此任务包含“所需包”、“所需其他语言第三方包”、“逻辑分析”以及“任务列表”,另外还有一个名为“config.yaml”的配置文件 。
你的任务是展开全面的逻辑分析,目的是精准重现研究论文里描述的实验以及方法。这种分析需要与论文的方法论精确对齐,也要和实验设置精确对齐,还要与评估标准精确对齐。
(一些具体要求)……
6)代码生成阶段。
在系统提示词当中,除了重复上一步所提及的内容之外,还增添了对Coding的表述 。
你的任务是编写代码来复现论文中描述的实验和方法。
编写的代码要优雅,编写的代码要模块化,编写的代码要可维护,编写的代码要遵循Google风格指南,代码要严格与论文的方法论对齐,代码要严格与论文的实验设置对齐,代码要严格与论文的评估指标对齐,编写三重引号的代码。
77%论文原作表示认可
研究人员利用以上提示词,使用了4个模型及变体来进行实验,这些模型及变体分别是:
评估对象包括90篇顶会论文。
具体来说,研究人员依据ICML 2024得分最高的30篇论文,依据NeurIPS 2024得分最高的30篇论文,依据ICLR 2024得分最高的30篇论文,构建了Paper2Code基准测试。
在这个过程当中,他们借助OpenReview API来筛选论文,这些论文要有公开的GitHub存储库 。
在这些论文里,挑选出了存储库,其总代码量少于70,000个tokens,目的是在可控范围内保证可重复性。
然后还使用了一个基准测试,其名为PaperBench Code-Dev,该测试包含20篇ICML 2024的论文,用来进一步验证框架。
为了进行对比,在当下缺少端到端论文到代码生成框架的情形下,他们挑选了一些软件开发多智能体框架来作比较,其中涵盖ChatDev和MetaGPT 。
所使用的评估方法包括两种:
其一,和其他框架对比所生成代码的准确性、规范性和可执行性。
其二,邀请了13位计算机专业的硕士和博士研究生参与评估,要求他们回答是否喜欢AI为其作为第一作者的论文所生成的代码。
实验结果有所显示,在Paper2Code基准测试当中,PaperCoder取得了更好的结果,其比其他多智能体框架的结果要好 。
在人类评估里,大概有77%(也就是10人)的论文原作者,把PaperCoder生成的代码当作首选 。
另外值得一提的是,研究人员发现o3-mini-high与人类判断的相关性是最高的,所以在实验中大多会选择将其作为评估模型 。
本文采摘于网络,不代表本站立场,转载联系作者并注明出处:http://www.mjgaz.cn/fenxiang/275781.html