Paper2Code

基本信息 标题: Paper2Code: Automating Code Generation from Scientific Papers in Machine Learning 作者: Minju Seo, Jinheon Baek, Seongyun Lee, Sung Ju Hwang等。 作者单位: KAIST, DeepAuto.ai 期刊/会议: ArXiv 发表年份: 2025 DOI: 2504.17192v2 开源地址: Github 关键词: Large Language Models (LLMs), Code Generation(Machine Learning) 研究背景 (Background) 尽管机器学习研究的迅速增长,但相应的代码实施通常无法实现,这使研究人员重现结果并在先前的工作基础上进行劳动密集型。同时,最近的大型语言模型(LLMS)在了解科学文档并生成高质量代码方面表现出色。 研究问题 (Research Questions) 用agent复现机器学习相关的论文方法与实验 核心贡献 (Key Contributions) 提出从科研论文自动生成代码的框架: PaperCoder ​​三阶段工作流程​​:PaperCoder框架将代码生成任务分解为三个结构化的阶段,规划、分析、编码。 构建基准数据集(包含90篇来自ICML、NeurIPS和ICLR 2024的论文) 在PaperBench基准测试中的优异表现:在新发布的PaperBench基准测试中,PaperCoder表现出色,显著优于其他强基线方法。 方法(Methods) 作者引入了PaperCoder,是一种新颖的框架,用于实现研究仓库(论文复现出来的代码仓库)的生成。作者将工作过程建模为M(R) = C,其中M是模型,R是论文,C是代码。受软件开发方法的启发,作者采用了一种结构化的方法,该方法反映了良好的经验验证的软件工程原则,即:规划-分析-实现的工作流程。为了实现这一目标,作者将过程分解为三个阶段:1)规划(Planing). 2)分析(Analyzing). 3)编码(Coding)。每个阶段都利用多智能体方案。更加规范化的定义是C = M (P) = M_code(R, P, A),其中R是论文,P是规划,A是分析。每个部分的生成遵循:P = M_plan(R), A = M_analysis(R, P) and C = M_code(R, P, A)。完整的流程如下图所示:...

May 12, 2025 · 2 min · 315 words · Rex

MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework

基本信息 标题: MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework 作者: Sirui Hong、Mingchen Zhuge、Chenglin Wu(通讯作者)等。 作者单位: DeepWisdom、阿卜杜拉国王科技大学、厦门大学、香港中文大学、南京大学、宾夕法尼亚大学、加州大学伯克利分校、瑞士人工智能实验室 期刊/会议: ICLR 2023 发表年份: 2023 DOI: 2308.00352 开源地址: Github 关键词: MetaGPT, Multi-Agent Collaboration, Standardized Operating Procedures (SOPs), Large Language Models (LLMs), Code Generation 研究背景 (Background) 利用大语言模型的Agent为增强和复制人类的工作流程提供了机会。但是实际应用中,现有系统将复杂问题过度简化。很多人想努力实现有效、连贯和准确的解决问题,尤其是需要协作的任务。而SOP可以有效的分解任务并且协调各个任务,明确的SOPs能够提高任务执行的一致性和准确性,确保其与定义的角色和质量标准相符。 研究问题 (Research Questions) 如何使用应用SOPs与Agent协作开发。 如何优化Agent协作通信能力。 如何提高代码生成的质量。 核心贡献 (Key Contributions) 总结本文的主要贡献点: 引入了MetaGPT,一个基于LLM的多智能体协作元编程框架。 作者在MetaGPT设计中创新性地集成了SOP,减少了LLM的代理之间的无效协作。此外,还引入了一种新颖的执行反馈机制,可以在运行时调试和执行代码,从而提高了代码生成的质量(MBPP上提高了5.4%) 在HumanEval和MBPP达到了SOAT MetaGPT 框架 (MetaGPT Framework) SOP中的Agent(Agents in Stanndard Operating Procedures) 角色的特定职能 解决复杂的任务或问题通常需要具有不同技能和专业知识的智能体协作,每个智能体都针对特定问题提供专门的输出。如在一家软件公司,产品经理的任务是分析业务、软件工程师负责编程开发。因此MetaGPT定义了五个角色:产品经理(Product Manager)、架构师(Architect)、项目经理(Project Manager)、工程师(Engineer)以及QA工程师(QA Engineer)。如下面图1所示: 图1:MetaGPT与真实世界人类团队之间的软件开发SOPs。...

January 7, 2025 · 2 min · 257 words · Rex

Evaluating Large Language Models Trained on Code

基本信息 标题: Evaluating Large Language Models Trained on Code 作者: Mark Chen、Jerry Tworek、Heewoo Jun、Qiming Yuan等 作者单位: OpenAI, Anthropic AI, Zipline 期刊/会议: arXiv 发表时间: 2021年7月14日 DOI: 2107.03374 开源地址: GitHub 关键词: 代码生成, 代码评估, 代码理解 研究背景(Background) 对于代码生成任务由于语言模型的推动最早的研究在1963、1971年就开始了(Experiments with a heuristic compiler、Toward automatic program synthesis),最近的有基于掩码语言模型(masked language modeling)和跨度预测(span prediction)改编用于训练其编程对应物的有CodeBert和PyMT5。OpenAI在GPT3发布的时候,就已经可以通过文档注释(docstrings)生成python代码了,但是能力还是比较有限。 研究目标(Research Objectives) 提出一种评估大型语言模型生成代码能力的方法,包括pass@k指标和HumanEval数据集。 提出Codex,通过对GPT-3进行微调。 提出Codex-S,通过有监督微调Codex。 提出Codex-D,通过训练docstring生成模型。 评估框架 (Evaluation Framework) 作者定义了pass@k指标,以及HumanEval数据集,用于评估Codex的性能。 功能的正确性(Functional Correctness) 评估生成质量可以通过匹配的方式:精确匹配或模糊匹配(如BLEU得分)。然而有研究揭示了基于匹配的代码评估指标的不足。如论文CodeBLEU: a Method for Automatic Evaluation of Code Synthesis中发现BLEU在捕捉代码特有的语义特征方面存在问题,并建议对分数进行几个语义的修改。更加根本的问题是,基于匹配的方式无法评估庞大的并且复杂的代码。近期无监督的代码翻译或伪代码到代码的翻译相关问题也转向了功能性准确性的评估,如果样本通过了测试用例,那么就认为生成的代码是正确的。作者认为这种方式应用到代码生成的评估中是合理的。评估功能正确性最有说服力的理由是程序员常使用这种方式进行评估(单元测试)。 Kual等人在2019(SPoC: Search-based Pseudocode to Code)就用了pass@k,对于每个问题生成k个代码样本,如果其中有一个样本通过了单元测试就认为问题已得到了解决,并计算解决问题的总比例。然而作者认为以这种方式计算pass@k会有很高的方差,而且计算量大。相反,为了评估pass@k,我们给每个任务生成n个样本(n > k, 论文中使用n = 200, k = 100), 统计通过单元测试的正确样本数c(c <= n),并计算无偏估计量。其中 $\text{pass@}k := \mathbb{E}_{\text{Problems}} \left[ 1 - \frac{\binom{n-c}{k}}{\binom{n}{k}} \right]$。...

January 1, 2025 · 2 min · 404 words · Rex