AI个人学习
和实操指南
TRAE

Paper2Code:将机器学习论文自动转化为可运行代码

综合介绍

Paper2Code 是一个开源项目,旨在解决机器学习论文缺乏代码实现的问题。它通过多代理大语言模型(LLM)系统 PaperCoder,将科学论文自动转化为可运行的代码仓库。系统采用规划、分析和代码生成三阶段流程,由专门的代理分别处理,生成高质量、忠实于论文的代码实现。项目以著名的“Attention Is All You Need”论文为例,展示了从论文到 Transformer 模型代码的转化能力。它支持 PDF 和 LaTeX 格式的论文输入,适用于机器学习研究人员、开发者及学生。Paper2Code 在 PaperBench 基准测试中表现优异,代码公开在 GitHub 上,易于安装和使用。

Paper2Code:将机器学习论文自动转化为可运行代码-1


 

功能列表

  • 自动将机器学习论文转化为可执行代码仓库。
  • 支持 PDF 和 LaTeX 格式的论文输入,生成结构化 JSON 数据。
  • 提供规划、分析和代码生成三阶段处理流程。
  • 生成包括系统架构、依赖文件和配置文件的完整代码仓库。
  • 支持参考和无参考的代码质量评估,评分范围为 1-5。
  • 提供示例脚本,快速运行“Attention Is All You Need”论文的 Transformer 代码。
  • 开源免费,允许用户修改和贡献代码。

 

使用帮助

安装流程

要使用 Paper2Code,需要安装必要的依赖并配置环境。以下是详细的安装步骤:

  1. 克隆仓库
    在终端运行以下命令,将 Paper2Code 仓库克隆到本地:

    git clone https://github.com/going-doer/Paper2Code.git
    cd Paper2Code
  1. 安装依赖
    安装 Python 依赖,包括 openai 和 tiktoken 等库:

    pip install openai tiktoken
    

    如果需要使用 vLLM 模型,参考官方 vLLM 仓库(https://github.com/vllm-project/vllm)安装。

  2. 设置 OpenAI API 密钥
    获取 OpenAI API 密钥后,配置环境变量:

    export OPENAI_API_KEY="your-api-key"
    

    Windows 用户运行:

    set OPENAI_API_KEY=your-api-key
    
  3. 安装 PDF 转换工具
    Paper2Code 支持将 PDF 论文转为 JSON 格式。克隆 s2orc-doc2json 仓库:

    git clone https://github.com/allenai/s2orc-doc2json.git
    

    运行 PDF 转换脚本:

    mkdir -p ./s2orc-doc2json/output_dir/paper_coder
    python ./s2orc-doc2json/doc2json/grobid2json/process_pdf.py -i <PDF_PATH> -t ./s2orc-doc2json/temp_dir/ -o ./s2orc-doc2json/output_dir/paper_coder
    

使用方法

Paper2Code 提供多种运行方式,支持 PDF 和 LaTeX 格式论文。以下是具体操作:

运行示例脚本

Paper2Code 包含一个示例脚本,用于生成“Attention Is All You Need”论文的 Transformer 代码。进入 scripts 目录:

cd scripts
bash run.sh

输出将保存在 outputs/Transformer 目录,包括:

  • planning_artifacts:系统架构和依赖文件。
  • analyzing_artifacts:论文实现细节分析。
  • coding_artifacts:生成的代码文件。
  • Transformer_repo:最终代码仓库。

处理自定义论文

要将自己的论文转为代码,需准备 PDF 或 LaTeX 格式文件,并修改环境变量。例如,使用 PDF 格式:

export OPENAI_API_KEY="your-api-key"
cd scripts
bash run.sh

对于 LaTeX 格式,运行:

bash run_latex.sh

如果使用其他大语言模型,运行:

bash run_llm.sh  # PDF 格式
bash run_latex_llm.sh  # LaTeX 格式

评估代码质量

Paper2Code 支持参考和无参考的代码质量评估。运行评估脚本:

cd codes
python eval.py \
--paper_name Transformer \
--pdf_json_path ../examples/Transformer_cleaned.json \
--data_dir ../data \
--output_dir ../outputs/Transformer \
--target_repo_dir ../outputs/Transformer_repo \
--eval_result_dir ../results \
--eval_type ref_free \
--generated_n 8 \
--papercoder

参考评估需指定标准仓库路径:

--eval_type ref_based \
--gold_repo_dir ../examples/Transformer_gold_repo

评估结果包括 1-5 的正确性评分,保存在 results 目录。

特色功能操作

  • 多代理协作:规划代理设计代码架构,分析代理提取论文细节,生成代理编写模块化代码。用户无需手动干预,系统自动完成全流程。
  • 高质量代码:生成的代码忠实于论文,包含依赖管理和配置文件,适合生产环境使用。
  • 灵活输入:支持 PDF 和 LaTeX 格式,兼容多种论文格式,方便不同用户需求。
  • 评估工具:提供自动化评估脚本,量化代码正确性,帮助用户验证实现质量。

注意事项

  • 确保 OpenAI API 密钥有效,运行 o3-mini 模型的估计成本为 0.50-0.70 美元。
  • 转换 PDF 时,检查 JSON 输出是否完整,避免格式错误。
  • 自定义论文需调整脚本中的路径和参数,参考 README.md

 

应用场景

  1. 学术研究
    研究人员可将新论文快速转为代码,验证算法效果,节省手动编码时间。例如,机器学习学者可直接运行 Paper2Code 生成的代码,测试论文中的模型性能。
  2. 教育学习
    学生可通过 Paper2Code 将经典论文(如 Transformer)转为代码,深入理解模型实现细节,辅助学习深度学习原理。
  3. 开发原型
    开发者可基于生成的代码仓库快速构建机器学习原型,缩短开发周期,适用于快速迭代的商业项目。

 

QA

  1. Paper2Code 支持哪些论文格式?
    支持 PDF 和 LaTeX 格式的机器学习论文。PDF 需转为 JSON 格式,LaTeX 可直接处理。
  2. 生成的代码质量如何?
    代码经过规划、分析和生成三阶段处理,忠实于论文内容。评估工具提供 1-5 的正确性评分,确保高质量输出。
  3. 运行 Paper2Code 需要付费吗?
    使用 OpenAI API 需要付费,运行 o3-mini 模型的成本约为 0.50-0.70 美元。其他功能免费。
  4. 如何处理自己的论文?
    准备 PDF 或 LaTeX 文件,配置环境变量,运行 run.sh 或 run_latex.sh 脚本,调整路径和参数即可。
未经允许不得转载:首席AI分享圈 » Paper2Code:将机器学习论文自动转化为可运行代码
zh_CN简体中文