当前位置:首页 > 科技资讯 > 正文

Meta发布Code World Model:32B参数LLM引领代码生成新时代

今日凌晨,Meta FAIR 团队隆重推出了 Code World Model(CWM)——一个拥有32B参数、支持最长131k token上下文的开放权重大型语言模型(LLM)。

据Meta官方介绍,CWM的目标非常明确:将“世界模型”的理念引入代码生成与推理中,使模型不仅能编写代码,还能模拟代码执行过程、推理程序状态,并自我检测与修复Bug。

Meta发布Code World Model:32B参数LLM引领代码生成新时代 Code Model LLM Meta 代码生成 第1张

值得一提的是,为了支持社区在“代码世界模型”方向的研究,Meta此次还开源了CWM在中期训练(mid-training)、SFT和RL阶段的权重检查点。为此,Meta首席AI官Alexandr Wang还在X上呼吁:“我们鼓励研究界对这个开放权重的模型进行研究!”

Meta发布Code World Model:32B参数LLM引领代码生成新时代 Code Model LLM Meta 代码生成 第2张

为何将“世界模型”带入代码领域?

在CWM研究论文开头,Meta团队就提到,当前传统的代码预训练将代码视为静态文本,模型主要学习从左到右、逐行预测代码——换言之,模型学到的是语法、常见模式和命名约定,但并不理解执行过程。

“我们认为这还不够——要真正掌握编码,不仅要了解代码长什么样,更要了解代码执行时的作用。”

这种技能对软件工程师的日常工作至关重要:在局部层面,他们了解一行代码的执行如何改变局部变量的状态;在全局层面,他们可以预测代码库的变化将如何影响程序的输出。

基于此,CWM的核心出发点是:将“世界模型”的想法引入代码领域,使模型学会观察—行动—观察的执行轨迹,从而提升生成代码的可执行性、可验证性与自我修复能力。

如何从“看代码”到“看世界”?

如前文所述,CWM是一个32B参数、支持超长上下文(最高可达131k tokens)的LLM,为此它采用了局部+全局交替机制和长序列稳定化技巧。训练分为三大阶段:

● 预训练阶段:使用大规模通用语料与代码语料(约8T tokens,其中代码占比约30%),为模型奠定基础,早期上下文长度为8k token。

● 中期训练阶段:引入5T tokens的世界建模数据,将上下文长度扩展到131k tokens,这一步也是将世界模型能力“内化”的核心。

● 后训练阶段(SFT + RL):先做SFT(100B tokens,32k上下文)强化instruction与推理能力,然后做大规模多任务多回合RL(172B tokens,131k上下文),训练目标覆盖可验证的编码、算法题与软件工程交互。

Meta发布Code World Model:32B参数LLM引领代码生成新时代 Code Model LLM Meta 代码生成 第3张

其中,据Meta团队介绍,CWM的世界模型能力主要靠中期训练阶段的两类数据驱动:

(1)Python执行轨迹(execution traces):将函数或测试在解释器中执行的中间栈帧与局部变量状态序列化为observation→action→observation的形式,并以专用格式喂给模型,使模型学会预测“下一步执行会如何改变局部状态”。

Meta发布Code World Model:32B参数LLM引领代码生成新时代 Code Model LLM Meta 代码生成 第4张

据了解,Meta喂给CWM的这类数据覆盖函数级、竞赛题解以及仓库单元测试轨迹,总量非常大。通过学习这类数据,模型就能在没有真实运行环境时模拟代码执行路径。

(2)Agent与环境的交互轨迹:使用一个自动化Agent在可执行的仓库镜像里“觅食”——执行Bash、编辑文件、运行测试,去修复Bug或实现缺失功能。据悉,Meta由此收集的此类数据量也很庞大:“从10.2万张图片和3.15万个底层存储库中收集了约300万条轨迹。”

Meta发布Code World Model:32B参数LLM引领代码生成新时代 Code Model LLM Meta 代码生成 第5张

这些动态轨迹数据直接将Agent与环境的交互经验提前放到中期训练中,帮助模型学会“用工具修复软件”的编码思路,尤其对多回合软件工程任务帮助很大。

基准测试中CWM表现强劲

在Meta论文公布的基准测试中,CWM在代码修复类与数学题上表现强劲:

● 在SWE-bench Verified上,CWM在启用Test-Time-Scaling(多候选并投票)时能达到65.8% pass@1,未启用时为53.9%;

● 在LiveCodeBench、Math-500、AIME等基准上也有亮眼结果:在LiveCodeBench上取得68.6%;在Math-500上达到96.6%;在AIME 2024上达到76.0%。

Meta发布Code World Model:32B参数LLM引领代码生成新时代 Code Model LLM Meta 代码生成 第6张

以上面这张SWE-bench Verified(该测试要求AI模型修复GitHub项目中的实际错误)得分为例,可以看出CWM不仅领先于其他参数量相近的开源模型,甚至能与更大或闭源的LLM相媲美,已接近GPT-4水平。

来自业界的赞许与质疑

从社交平台的刷屏程度来看,CWM的发布显然引起了广泛关注——毕竟这是Meta高调重组其AI业务后推出的首款模型。

除了开头提到的Alexandr Wang外,多位Meta AI研究人员都进行了宣传与分享。例如,CWM资深核心贡献者Gabriel Synnaeve简单复盘了CWM的研究思路;Yann LeCun也转发了Gabriel Synnaeve的帖子,并用一句话总结:

“代码世界模型(CWM):通过想象执行指令的效果和规划产生预期效果的指令来生成代码。”