新智元报道  

编辑:LRS
【新智元导读】普林斯顿大学新发布的CORE-Bench基准测试,通过270个基于90篇跨学科科学论文的任务,可评估AI智能体在计算可重复性方面的表现,最简单任务的准确率可以达到60%,最难任务准确率仅有21%

大模型的能力越来越强,用户在一些重要的任务中也可以依赖大模型,比如说辅助做科研。

不过现有科研辅助相关的基准测试都太简单,跟现实世界的任务差距还是比较大的。
最近,普林斯顿大学的研究人员发布了一个新的基准测试CORE-Bench(Computational Reproducibility Agent Benchmark,计算可重复性智能体基准测试),主要关注模型在处理科研问题中的计算可重复/可复现(computational reproducibility)的问题。

图片
论文链接:https:///pdf/2409.11363v1
对其他论文进行重复是科研活动的基础,研究人员需要使用提供的代码和数据来对论文中报告的结果进行复现。

CORE-Bench基于90篇科学论文,包含了270个任务,覆盖了三个学科(计算机科学、社会科学和医学),其任务被划分为三个难度等级,覆盖纯文本和视觉-语言任务。

文中还提供了一个评估系统,可以快速、并行地测试智能体的准确性,与顺序实现相比,每次测试可以节省数天的评估时间。

在评估过程中,研究人员设计了两个基线智能体:通用的AutoGPT和基于该任务设计的CORE-Agent,其中底层语言模型用到了GPT-4o和GPT-4o-mini,结果显示,最佳智能体在最难级别的任务上达到了21%的准确率,即模型在常规科学任务自动化方面仍然有很大的改进空间。

CORE-Bench


图片
基准构造

验证可重复性需要深度专业的领域知识,即使是对于经验丰富的研究人员来说,其过程可能也算是劳动密集型的任务,验证一篇论文最快也需要几个小时,就算只是给100篇不同领域的论文建立可重复性基准测试,也是不现实的。

简单来说,研究人员的目标是找到一些比较困难的基准任务,虽然这些任务在现实中很难验证其可重复性,但其基准测试的建立要相对简单一点。

为了解决这个问题,研究人员基于CodeOcean capsules构建了基准测试,可以轻松地进行复现。

图片
研究人员从CodeOcean中选择了90篇可复现的论文,然后将数据集分为45篇用于训练和45篇用于测试。

图片
在论文的选择标准上,由于CodeOcean包含来自不同学科和编程语言的论文,为了创建一个真实且健壮的基准测试,研究人员提出十个标准,可以确保CORE-Bench能够代表多样化但可行的计算可重复性任务子集。

图片
1. 对应于可公开获取的研究论文;对于基准测试的范围是必要的
2. 来自计算机科学、医学或社会科学领域;测试由于分布变化导致的准确性变化
3. 用Python或R编写;测试由于分布变化导致的准确性变化
4. 包含一个README文件;提高构建有效性,虽然并非所有CodeOcean上的胶囊都有README文件,但现实世界中的大多数论文都有
5. 在CodeOcean的硬件上运行代码不超过45分钟;确保在给定的时间和硬件限制下胶囊(capsule)是可复现的
6. 需要一个相对简单的Bash命令来正确复现代码;允许轻松设计一个英文任务提示,指明在智能体无法访问运行文件的情况下应该如何运行代码
7. 结果在代码输出中有充分标记的图表、表格或文件名;消除了为无组织或未标记的数据设计任务问题的需求
8. 运行代码时结果的方差低;确保所有包含的胶囊都可以由人类验证和复现
9. 胶囊大小不超过10GB;确保在给定的资源限制下胶囊是可复现的
10. 胶囊的结果可以在本地运行代码时复现;确保胶囊是可复现的

虽然并非现实世界中的所有论文都符合这些标准,但这些标准可以提高任务的清晰度,确保了在当前智能体发展水平下,达到基准测试的高准确率是可行的,
对于每篇论文,手动创建了一组关于成功复现论文生成的输出的任务问题,可以评估智能体是否正确执行了代码并检索了结果。比如说,可以要求智能体报告模型的测试准确率、图表的轴标签或其他复现的结果,其中有些是单一任务问题,有些任务则包含多个问题。

数据集中可以确保每个任务至少有一个不能通过猜测来解决的问题(比如开放式的数值答案),并且只有当所有任务问题都正确回答时,任务才会被标记为正确,也能够保证任务无法通过随机猜测来完成。

研究人员从网站CodeOcean.com中获取的论文,CORE-Bench中的所有任务都来自于可复现的论文。

由于基准测试是衡量智能体复现与论文相关代码运行结果的能力,而不是为了确保论文中报告结果的正确性,所以研究人员认为没有必要在基准测试中包含不可复现的论文。

CORE-Bench的优势

能力要求高、多模态(Skills and modalities)

解决CORE-Bench中的任务需要多种能力,包括理解指令、调试代码、检索以及跨学科解释结果,模型只有具备这些技能才能在CORE-Bench上拿到更高分数,而这些技能对于复现新的研究成果来说也是必要的。

并且任务需要解释代码输出的文本和图像:基于视觉的问题需要从图形、图表、图或PDF表格的属性中提取结果;基于文本的问题包括从命令行文本、PDF文本、表格或HTML、Markdown或LaTeX中的文本提取结果。

例如,一个基于视觉的问题可能是「从室内空气质量 – 厨房 – 秋季图表中,报告湿度和气体之间的相关性」,而一个基于文本的问题可能是「报告第10个epochs后神经网络的测试准确率」。

现实世界中的计算可重复性任务

在构建基准测试时,研究人员主要关注其建构有效性(construct validity),即如何有效地衡量模型在现实世界中的表现,即CORE-Bench的任务与研究人员必须完成的任务密切相关,而其他编码基准测试中设计的玩具问题,并不能反映软件工程的复杂性。

在CORE-Bench上提高表现将直接转化为计算可重复性的改善,也是科学研究的基石。

迈向科研智能体的第一步

完成新科学研究的第一步是能够复制现有的科学工作,在实现能够进行新颖研究的智能体的过程中,这一步是非常有必要的。

实验结果


研究人员按照难度把CORE-Bench划分为CORE-Bench-Easy、CORE-Bench-Medium和CORE-Bench-Hard

CORE-Bench-Easy只包括最简单的任务,代码输出已经提供在环境中,智能体只需要导航环境以找到相关结果来回答任务问题。

CORE-Bench-Medium上,智能体输入一个Docker命令来复制论文的代码,测试智能体与Bash终端交互的能力,如果智能体擅长与终端交互,这些任务应该也不算难。

CORE-Bench-Hard,智能体必须安装所有依赖项和库,并输出正确的命令以复现结果。

研究人员并选择了两个基线模型进行评估:

1. AutoGPT,研究人员基本没有修改原始模型,创建了query_vision_language_model工具,输入位一张图片和一个查询,并利用OpenAI API输出对该图片查询的回复,以分析图表和插图中的结果,该模型的查询视觉语言模型的能力并不特定于CORE-Bench。

2. CORE-Agent,研究人员在AutoGPT的基础上创建了CORE-Agent,为CORE-Bench的不同难度级别进行定制,主要修改了程序检查,以确保正确提交和报告复制结果的文件(即report.json)。

图片
对于不同的难度级别,研究人员添加了特定的提示来引导智能体的行为,可以根据模型在训练集上的表现进行定性分析,并调整指令,其中最耗时的部分是分析失败日志以确定有效的提示策略。

评估指标

任务准确率,即所有任务问题都回答正确的任务比例;智能体的平均成本,即请求智能体的平均API成本。

评估结果

总体来说,使用GPT-4o的CORE-Agent在基准测试集的所有三个级别上都是表现最佳的智能体,其在CORE-Bench-Easy上解决了60.00%的任务,在CORE-Bench-Medium上解决了57.78%,但在CORE-Bench-Hard上仅解决了21.48%

图片
实验结果表明,通用智能体可以通过简单地调整就能适应特定任务,从而获得显著的性能提升,作为对比,使用GPT-4o的AutoGPT在CORE-Bench-Hard上仅得分6.7%

文本问题比视觉问题简单

智能体在基于文本的问题上的表现始终优于基于视觉的问题。在测试集上,使用GPT-4o的CORE-Agent在CORE-Bench-Easy中正确回答了59.26%的视觉问题和87.88%的书面问题;使用GPT-4o-mini的CORE-Agent正确回答了37.78%的视觉问题和81.81%的书面问题。

视觉问题之所以更难,主要因为模型需要分析图表中的结果,而书面答案通常可以直接在终端输出中找到。

如果生成了多个输出文件,智能体有时无法找到相关的图表;即使找到了,分析输出也可能很困难。

Python比R更简单

智能体在Python任务上的表现远胜于R任务,可能的原因是R的输出通常更难解析,因为许多R任务生成了完整的PDF手稿,智能体需要阅读;另一个可能原因是安装R包的依赖项可能比Python花费的时间要长得多。

图片
计算机科学任务在Python中的比例过高,也可能解释了为什么与其他两个学科相比,往往更容易被复现。

参考资料:
https:///sayashk/status/1836430461003792485

#artContent h1{font-size:16px;font-weight: 400;}#artContent p img{float:none !important;}#artContent table{width:100% !important;}