Py学习  »  机器学习算法

AI编程已杀疯,机器学习论文代码自动生成,100%开源,支持DeepSeek!

Ai学习的老章 • 昨天 • 3 次点击  

大家好,我是 Ai 学习的老章

之前推荐过 N 多读论文神器,比如可以用大模型下载论文、总结论文,效率飞起的 ArXiv MCP 服务器、整篇翻译并保留样式的看论文神器,一键翻译,体验很爽、还有最近刚刚分享的斯坦福学生搞出的论文神器太逆天!秒搜热门论文,3分钟搞定论文总结、翻译,效率飙升100倍!的 AlphaXiv

今天再推荐一个更强大的,可以复现机器学习论文代码的工具——Paper2Code


开源代码不支持 DeepSeek ,稍作修改就可以使用 DeepSeek API 了

https://arxiv.org/pdf/2504.17192
https://arxiv.org/pdf/2504.17192

一句话总结,PaperCoder 旨在通过利用大型语言模型(LLM)在多代理系统中直接从机器学习研究论文中生成完整的、可执行的代码库。

PaperCoder 框架的三阶段方法,展示了它如何通过规划、分析和编码阶段将研究论文转换为代码库
PaperCoder 框架的三阶段方法,展示了它如何通过规划、分析和编码阶段将研究论文转换为代码库

"尽管机器学习研究快速增长,相应的代码实现通常不可用,使研究人员复现结果和基于先前工作构建变得缓慢且劳动密集。"

顶级机器学习会议的分析表明,只有一小部分被接受的论文提供了相应的代码:

在 ICLR 2024 上接受的论文中只有 21.2%,在 NeurIPS 2024 上接受的论文中只有 10.9%,在 ICML 2024 上接受的论文中只有 31.6% 提供了公开发布的代码
在 ICLR 2024 上接受的论文中只有 21.2%,在 NeurIPS 2024 上接受的论文中只有 10.9%,在 ICML 2024 上接受的论文中只有 31.6% 提供了公开发布的代码

PaperCoder 通过将研究库生成形式化为软件开发问题来解决可重复性挑战。

该框架可以表示为 M(R) = C,其中:

  • R 是包含方法和算法的研究论文
  • C 是生成的代码库
  • M 是执行转换的基于 LLM 的模型

该系统采用三阶段方法,该方法反映了人类的软件开发过程:

  1. 规划阶段:创建高级路线图,包括架构设计(类图和序列图)、文件依赖关系识别和配置文件生成。
  2. 分析阶段:对每个文件和函数进行细粒度的解释,分析输入、输出、交互和算法约束。
  3. 生成阶段:根据规划期间确定的执行顺序合成整个代码库。

每个阶段都使用专门的 LLM 代理来实现,这些代理协同工作以完成任务,这使得 PaperCoder 成为一个复杂的多代理系统。

效果怎么样呢?

PaperCoder 的性能优于软件开发工作基线,如 ChatDev 和 MetaGPT,表明其专门设计的有效性。

作者与专家(包括原始论文作者)进行了评估,以评估生成代码的质量。结果显示:

  • PaperCoder 生成的存储库中有 77% 被人类评估者评为最佳
  • 85% 的人类评审员报告说生成的存储库很有帮助

如何使用呢

安装

pip install openai
export OPENAI_API_KEY=""

git clone https://github.com/going-doer/Paper2Code
cd Paper2Code
git clone https://github.com/allenai/s2orc-doc2json.git
cd scripts
bash run.sh

输出结果如下

outputs
├── Transformer
│   ├── analyzing_artifacts
│   ├── coding_artifacts
│   └── planning_artifacts
└── Transformer_repo  # Final output repository

系统的工作流程是:

  1. 将 PDF 论文转换为 JSON 格式 0_pdf_process.py:4-17
  2. 分析论文内容并生成实现计划 1_planning.py:26-36
  3. 进行逻辑分析 2_analyzing.py:49-54
  4. 生成代码实现 3_coding.py:43-50

不过这个项目是默认 OpenAI 的 api,本地运行也只支持 vllm 拉起的模型。

我看了一下,其实该起来也非常简单

比如把 OpenAI 切换为 DeepSeek,需要修改的脚本不多

修改 API 客户端初始化和调用:

  1. codes/1_planning.py - 规划生成组件 1_planning.py:1-16
  2. codes/2_analyzing.py - 逻辑分析组件 2_analyzing.py:1-20
  3. codes/3_coding.py - 代码生成组件 3_coding.py:1-19

client = OpenAI(api_key = os.environ["OPENAI_API_KEY"])

修改为下面即可

client = OpenAI(api_key = os.environ["OPENAI_API_KEY"],base_url="https://api.siliconflow.cn/v1")

如果你用的是 DeepSeek 官方 API,base_url 改为 https://api.deepseek.com_/v1

其他类似

然后修改scripts/run.sh中的环境变量设置: run.sh:1-3

export OPENAI_API_KEY="sk-XXXXXX"

GPT_VERSION="deepseek-ai/DeepSeek-R1"

然后就全部 ok

最后推荐一个我正在学习的Cusor快速入门与实战


制作不易,如果这篇文章觉得对你有用,可否点个关注。给我个三连击:点赞、转发和在看。若可以再给我加个🌟,谢谢你看我的文章,我们下篇再见!

搭建完美的写作环境:工具篇(12 章)图解机器学习 - 中文版(72 张 PNG)ChatGPT、大模型系列研究报告(50 个 PDF)108 页 PDF 小册子:搭建机器学习开发环境及 Python 基础 116 页 PDF 小册子:机器学习中的概率论、统计学、线性代数 史上最全!371 张速查表,涵盖 AI、ChatGPT、Python、R、深度学习、机器学习等


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/181687
 
3 次点击