SciCodePile: A 128GB Corpus and Executable Benchmark for Challenging Scientific Code Generation
本文介绍了 SciCodePile,这是一个包含 128GB 规模的巨量科学代码语料库以及一个包含 200 个任务的可执行基准测试,旨在证明当前的语言大模型在生成科学代码方面存在显著困难,同时表明在该数据集上进行训练能实质性地提升其性能。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正试图教一个超级聪明的机器人如何编写代码。你已经教会了它基础知识:如何搭建一个简单的网站、如何制作一个计算器,或者如何整理一个播放列表。因为它读过数百万本关于这些方面的书籍和网站,所以它在处理这些“通用”任务时表现得相当出色。但现在,你想看看这个机器人能否处理那些真正困难的任务:为科学家编写代码。我们讨论的是模拟病毒传播、计算蛋白质折叠或模拟新药中原子行为的代码。这就是“科学代码”。它与普通代码不同,因为这不仅仅是让计算机执行某项操作,而是要确保计算机的数学和逻辑能够匹配真实、混乱且复杂的自然法则。如果机器人的语法写对了,但科学逻辑错了,结果就不只是一个程序漏洞(bug),而是一次失败的实验或一次危险的误算。大问题在于:我们目前的 AI 机器人——它们擅长编写标准代码——真的能承担科学家的重任吗?
于是,有了 SCICODEPILE,这是一个庞大的新项目,它充当了这些 AI 机器人的巨型专业训练场和严格的期末考试。这篇论文背后的研究人员认为,要真正测试 AI 是否能处理科学编程,他们需要两样东西:一个海量的真实世界科学代码库来学习,以及一个严格的测试,要求代码必须能够真正“运行”并产生结果,而不仅仅是在纸面上看起来很完美。
首先,他们构建了这个库。他们并没有随机抓取代码;他们是在互联网上搜寻了 3 7,737 个公开的代码仓库,专门寻找与化学、生物、物理和其他科学相关的项目。他们过滤掉了垃圾信息,最终得到了一个规模达 128GB 的科学代码集合。可以把这想象成一个包含来自数千个真实科学实验室的所有说明书、蓝图和代码的图书馆。他们以四种不同的方式组织了这个库:原始代码文件、项目功能摘要、特定函数的指令,以及问题与解决方案对。这就像是将一个堆满汽车零件的杂乱车库整理成一个标签清晰的博物馆,让你能同时看到引擎、手册以及零件如何组装在一起的图解。
接下来,他们构建了这场考试。他们创建了一个包含 200 个任务 的基准测试。但关键在于:他们并没有仅仅要求 AI 编写看起来与人类答案相似的代码。他们将 AI 生成的代码放入一个“沙盒”中——一个安全的、隔离的数字游乐场——并运行它。如果代码崩溃、给出了错误的数值或未能通过测试,即视为失败。这是一个基于代码是否真正“奏效”的及格/不及格测试。
那么,这些机器人表现如何呢?结果让人清醒地认识到了现实。即使是最聪明的 AI 模型——那些通常能在编程测试中拿高分的模型——在面对科学内容时也显得非常吃力。在“填空式”任务中,最优秀的模型也只达到了完美得分的 38% 左右。但在“使其奏效”的考试中,数据更加惨淡。表现最好的模型也仅有 12.30% 的通过率。这意味着对于每 100 个科学编程问题,AI 答错了 88 个。这表明,虽然 AI 越来越擅长编写“看起来正确”的代码,但距离编写具有科学可靠性的代码还有很长的路要走。
研究人员还展示了这个新库实际上对教导机器人非常有用。当他们让一个较小的 AI 模型学习这 128GB 的库时,其性能显著提升。这就像是给学生一叠教科书而不是几张闪卡;突然之间,他们对材料的理解深刻得多。
简而言之,SCICODEPILE 是一个巨大的新工具,它在说:“嘿,AI,你擅长编程,但你还没准备好成为一名科学家。”它提供了训练它们更好的资源,以及观察它们是否真正学会了的严格测试。它是一个警钟,提醒我们:尽管我们正在取得巨大进步,但在“能写代码的机器人”与“能做真正科学研究的机器人”之间,仍然存在着巨大的鸿沟。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。