
Paper2Code:好像复现论文成了可能
引言
可重复性是科学进步的基石,然而在机器学习领域,许多已发表论文并未附带相应的代码实现,阻碍了结果验证并延缓了科研进程。为了解决这一难题,KAIST 与 DeepAuto.ai 的研究团队提出了 PaperCoder——一种自动化框架,能够从机器学习研究论文中直接生成可执行的代码库。
PaperCoder 框架概述图 1:PaperCoder 的三阶段流程,展示了如何通过规划、分析和编码,将论文转换为完整的代码库。
相比于依赖现有代码片段或 API 的传统方案,PaperCoder 通过多代理系统,利用大型语言模型(LLM)模拟人类的软件开发流程,自动生成端到端、可执行的代码库。该系统由规划、分析和生成三个阶段组成,每个阶段由专门的 LLM 代理协同完成。
机器学习中的可重复性危机
机器学习社区正面临严峻的可重复性挑战。对近期顶级会议论文的统计显示,公开代码的比例极低:
机器学习会议中的代码可用性图 2:ICLR、NeurIPS 和 ICML 2024 上公开代码的论文比例。
如图所示,ICLR 2024 公开代码的论文仅占 21.2%,NeurIPS 2024 为 10.9%,ICML 2024 仅有 31.6%。缺乏实现细节使研究人员难以复现和扩展已有工作,进而拖慢整个领域的发展。
PaperCoder 框架
PaperCoder 将“从论文到代码”的任务形式化为软件开发问题:
•R:包含方法与算法描述的研究论文
•C:生成的代码库
•M:基于 LLM 的转换模型
该框架仿照人类开发流程,分为三个阶段:
1.规划阶段:
• 制定整体架构路线图(UML 类图、时序图)
• 确定文件依赖关系
• 生成配置文件
2.分析阶段:
• 对每个文件和函数进行细粒度解析
• 分析输入/输出、模块交互和算法细节
• 标注关键组件(例如位置编码、优化器实现)
3.生成阶段:
• 按照规划阶段确定的顺序,合成完整代码库
每一阶段由相应的 LLM 代理执行,各代理协同工作,确保论文中的重要细节被准确提取并融入生成的代码中。
技术实现
PaperCoder 通过对比朴素方法,凸显其结构化流程的优势:
PaperCoder 详细实现图 3:PaperCoder 与直接输入 LLM 的朴素方法对比。
•朴素方法:将整篇论文直接喂入 LLM,往往忽略位置编码或优化器等细节,导致生成的代码错误频发。
•PaperCoder:
a.规划:整体设计、UML 绘制、依赖规划、配置生成
b.分析:细粒度解析每个模块,识别关键算法组件
c.编码:基于分析结果,逐步合成、实现所有必要功能
通过这种分层设计,PaperCoder 能精确捕捉诸如位置编码实现、带特定超参数的 Adam 优化器等细节,生成高质量、易执行的代码。
评估方法
PaperCoder 的性能评估包括定量指标与人工评估:
1.参考评估:将生成代码与公开参考实现进行对比
2.无参考评估:在缺乏参考实现的场景下,评估代码质量
3.人工评估:由原论文作者或领域专家打分
评估方法之间的相关性图 4:基于参考评估与无参考评估得分的相关性 (r = 0.79)。
相关性高达 0.79,表明即使在无参考实现的情况下,也能可靠评估生成代码的正确性。
结果与性能
实验结果表明,PaperCoder 相较基线方法具有显著优势:
1.超越现有基线:优于 ChatDev、MetaGPT 等通用方案
2.组件贡献明显:规划、分析、生成三阶段均对性能提升有所贡献(通过消融实验验证)
3.高执行率:生成代码几乎无误,仅需对 0.48% 的行数做小幅修改即可运行
4.出色的复现能力:在 Paper2Code 与 PaperBench 基准上均表现优异,成功复现论文关键组件
人工评估
由原论文作者及多位领域专家进行的人工评估显示:
•77%的评审者认为生成的代码库最佳
•85%的评审者反馈生成结果对其研究有显著帮助
人工评估表格图 5:人工评估示例表格
评估涵盖数据处理、方法实现及实验流程,充分验证了 PaperCoder 在真实科研场景中的应用价值。
局限性和未来工作
尽管 PaperCoder 已展现强大能力,但仍存在以下局限:
1.领域局限:目前仅针对机器学习论文,尚未扩展到其他科学领域
2.评估依赖:主要依赖模型指标,缺乏更多自动化执行评估方式
3.复杂算法:对高度复杂或全新算法的支持仍有挑战
4.依赖管理:跨环境兼容性及外部依赖管理需进一步完善
未来工作可聚焦于:
• 将框架扩展至更多学科
• 引入自动化调试与故障定位评估
• 集成更丰富的执行评估指标
• 强化依赖性管理与环境适配
结论
Paper2Code 引领了从科研论文到可执行代码的自动化新范式,通过多代理 LLM 系统重塑人类软件开发流程,实现端到端的代码生成与复现。三阶段方法确保关键细节无遗漏,定量与人工评估均证明了其有效性。PaperCoder 有望加速机器学习及其他领域的研究进展,为构建更加开放、高效的科研生态注入新动能。
本文转载自芝士AI吃鱼,作者:芝士AI吃鱼
