CWM: An Open-Weights LLM for Research on Code Generation with World Models
作者: FAIR CodeGen team, Jade Copet, Quentin Carbonneaux, Gal Cohen, Jonas Gehring, Jacob Kahn, Jannik Kossen, Felix Kreuk, Emily McMilin, Michel Meyer, Yuxiang Wei, David Zhang, Kunhao Zheng, Jordi Armengol-Estapé, Pedram Bashiri, Maximilian Beck, Pierre Chambon, Abhishek Charnalia, Chris Cummins, Juliette Decugis, Zacharias V. Fisches, François Fleuret, Fabian Gloeckle, Alex Gu, Michael Hassid, Daniel Haziza, Badr Youbi Idrissi, Christian Keller, Rahul Kindi, Hugh Leather, Gallil Maimon, Aram Markosyan, Francisco Massa, Pierre-Emmanuel Mazaré, Vegard Mella, Naila Murray, Keyur Muzumdar, Peter O'Hearn, Matteo Pagliardini, Dmitrii Pedchenko, Tal Remez, Volker Seeker, Marco Selvi, Oren Sultan, Sida Wang, Luca Wehrstedt, Ori Yoran, Lingming Zhang, Taco Cohen, Yossi Adi, Gabriel Synnaeve
分类: cs.SE, cs.AI, cs.LG
发布日期: 2025-09-30
备注: 58 pages
💡 一句话要点
发布CWM:用于世界模型代码生成研究的开源LLM
🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture)
关键词: 代码生成 世界模型 大型语言模型 强化学习 Python 推理 Agentic编码
📋 核心要点
- 现有代码生成模型难以理解代码的动态执行过程,限制了其在复杂环境中的应用。
- CWM通过在Python解释器和Agentic Docker环境中进行中期训练,学习代码执行的观察-行动轨迹,构建世界模型。
- CWM在SWE-bench Verified等基准测试中表现出色,并为研究人员提供了一个探索世界模型在代码生成中应用的平台。
📝 摘要(中文)
我们发布Code World Model (CWM),一个拥有320亿参数的开源LLM,旨在推进基于世界模型的代码生成研究。为了提升代码理解能力,使其超越仅从静态代码训练中获得的水平,我们对CWM进行了中期训练,使用了来自Python解释器和Agentic Docker环境的大量观察-行动轨迹,并在可验证的编码、数学和多轮软件工程环境中进行了广泛的多任务推理强化学习。借助CWM,我们为研究人员提供了一个强大的测试平台,以探索世界建模为在计算环境中进行推理和规划的代码生成带来的机会。我们展示了世界模型如何有益于Agentic编码,实现Python代码执行的逐步模拟,并展示了推理如何从后者中受益的早期结果。CWM是一个密集的、仅解码器的LLM,训练上下文长度高达131k tokens。除了世界建模能力外,CWM在通用编码和数学任务上也表现出色:在SWE-bench Verified(使用测试时缩放)上达到65.8%的pass@1分数,在LiveCodeBench上达到68.6%,在Math-500上达到96.6%,在AIME 2024上达到76.0%。为了支持对代码世界建模的进一步研究,我们发布了中期训练、SFT和RL后的模型检查点。
🔬 方法详解
问题定义:现有代码生成模型主要依赖静态代码数据进行训练,缺乏对代码动态执行过程的理解,难以进行推理和规划,导致在复杂环境下的代码生成效果不佳。例如,模型难以预测代码执行后的状态变化,无法进行有效的调试和优化。
核心思路:CWM的核心思路是通过引入世界模型,使模型能够理解代码执行的动态过程。具体而言,模型通过学习Python解释器和Agentic Docker环境中的观察-行动轨迹,建立对代码执行环境的模拟能力。这样,模型就可以在生成代码的同时,预测代码执行后的状态变化,从而进行更有效的推理和规划。
技术框架:CWM是一个基于Transformer的decoder-only LLM,拥有320亿参数。其训练过程包括三个主要阶段:首先,使用大量静态代码数据进行预训练;然后,在Python解释器和Agentic Docker环境中进行中期训练,学习观察-行动轨迹;最后,在可验证的编码、数学和多轮软件工程环境中进行多任务推理强化学习。模型支持高达131k tokens的上下文长度。
关键创新:CWM最重要的技术创新在于引入了世界模型,使模型能够理解代码执行的动态过程。与传统的仅依赖静态代码数据的代码生成模型相比,CWM能够进行更有效的推理和规划,从而在复杂环境中生成更高质量的代码。此外,CWM还通过多任务推理强化学习,进一步提升了模型在不同任务上的泛化能力。
关键设计:CWM的关键设计包括:1) 使用Transformer架构,具有强大的序列建模能力;2) 采用decoder-only结构,便于生成代码;3) 使用高达131k tokens的上下文长度,能够处理更长的代码序列;4) 通过中期训练和多任务推理强化学习,使模型能够理解代码执行的动态过程,并具备在不同任务上的泛化能力。具体的参数设置、损失函数和网络结构等细节未在摘要中详细说明,属于未知信息。
🖼️ 关键图片
📊 实验亮点
CWM在多个代码生成和数学推理基准测试中取得了优异的成绩。在SWE-bench Verified上达到65.8%的pass@1分数,在LiveCodeBench上达到68.6%,在Math-500上达到96.6%,在AIME 2024上达到76.0%。这些结果表明CWM在代码生成和推理方面具有强大的能力。
🎯 应用场景
CWM的研究成果可应用于智能编程助手、自动化代码生成、软件测试与验证等领域。通过理解代码的动态执行过程,CWM能够帮助开发者更高效地编写、调试和优化代码,并有望在未来的软件开发流程中发挥重要作用。
📄 摘要(原文)
We release Code World Model (CWM), a 32-billion-parameter open-weights LLM, to advance research on code generation with world models. To improve code understanding beyond what can be learned from training on static code alone, we mid-train CWM on a large amount of observation-action trajectories from Python interpreter and agentic Docker environments, and perform extensive multi-task reasoning RL in verifiable coding, math, and multi-turn software engineering environments. With CWM, we provide a strong testbed for researchers to explore the opportunities world modeling affords for improving code generation with reasoning and planning in computational environments. We present first steps of how world models can benefit agentic coding, enable step-by-step simulation of Python code execution, and show early results of how reasoning can benefit from the latter. CWM is a dense, decoder-only LLM trained with a context size of up to 131k tokens. Independent of its world modeling capabilities, CWM offers strong performance on general coding and math tasks: it reaches pass@1 scores of 65.8% on SWE-bench Verified (with test-time scaling), 68.6% on LiveCodeBench, 96.6% on Math-500, and 76.0% on AIME 2024. To support further research on code world modeling, we release model checkpoints after mid-training, SFT, and RL.