近日,Meta FAIR正式发布了代码世界模型!
CWM(Code World Model),这是一个拥有32B参数、上下文长度高达131k token的密集语言模型,专门为代码生成和推理任务设计的研究模型。
这是全球首个将世界模型理念系统性融入代码生成领域的语言模型。
与现有代码大模型相比,CWM最独特之处在于,它不仅能够生成代码、理解语义。
更重要的是,它“理解”代码如何执行,能够模拟代码运行过程中变量的状态变化与环境反馈,从而显著提升代码理解、调试乃至规划的整体能力。
换句话说,它具备了接近人类程序员的思维模式。
在多个代码与推理任务上,CWM均表现卓越,例如其在SWE-bench Verified得分65.8%,超越所有开源同规模模型,已接近GPT-4水平。
尤为值得关注的是,Meta FAIR此次开源了模型代码、训练细节以及多个阶段的权重检查点,展现了十足诚意。
有人向LeCun提问:
“您一直认为语言模型只是AI道路上的一个分支(LLMs are an off ramp),为何又推出以语言模型为基础的世界模型?”
LeCun轻松回应道:
没错,但我们现在讨论的是编程,而非人工通用智能(ASI)哦~
CWM的诞生,直接解决了当前大模型在代码生成中的关键痛点:
尽管现有大模型已能编写代码,但代码执行效果不稳定,生成内容难以调试、不可执行,甚至存在隐藏逻辑错误。
FAIR团队指出,其根本原因在于大模型仅将代码视为文本进行预测。
它不理解代码会如何运行,对变量状态的变化、函数调用的副作用知之甚少(甚至完全不了解)。
FAIR团队认为:
若希望模型像程序员一样思考,就必须教会它代码执行过程中的“世界状态”变化。
因此,CWM首次在训练过程中引入代码世界建模(code world modeling)概念,明确让模型学习“代码运行过程中,程序状态如何逐步演变”。
这意味着,CWM的理解维度从静态文本跃迁到了动态执行。
Meta FAIR专攻AI与代码生成的资深研究科学家、CWM的核心贡献者Gabriel Synnaeve在𝕏上分享了CWM追踪执行计算“strawberry”中“r”个数的代码示例:
你可以将其视为一个可设置为任何初始帧状态的神经‘pdb’,推理可作为工具在标记空间中进行查询。
相较于传统代码大模型生成token接token的静态预测,CWM在三大能力上实现升级——
第一,代码执行模拟。
CWM能够逐行模拟代码执行过程,预测每一行代码如何影响变量状态,甚至提前判断执行中的潜在错误。
这种能力为构建“神经调试器”提供了可能。
在CWM的推理过程中,变量状态可随代码运行不断更新。
它甚至可以模拟终止条件、循环展开、边界情况,从而更精准地理解程序逻辑。
第二,自我调试与修复。
CWM不仅能编写代码,还能自我测试、修复错误。
它能够在生成代码后自动构造测试用例,并在发现代码失败时尝试多种修改路径进行自我修复。
整个流程模拟了人类程序员常见的开发闭环:编写→测试→修改→再测试。
第三,推理与规划能力。
面对复杂问题时,CWM还能进行推理与规划。
例如,在编程竞赛或数学任务中,它可以根据问题描述分析步骤、规划函数结构,再结合执行预测逐步生成并验证代码,展现出多轮逻辑推理能力。
CWM的模型架构采用64层的decoder-only Transformer,参数规模为32B。
它支持131k tokens的长上下文输入——这大幅拓展了处理复杂项目、多文件代码、文档上下文的能力。
相应的Attention结构采用局部+全局交替机制,兼顾效率与上下文覆盖。
FAIR提供了以下3个检查点,供研究人员使用:
在与多个一线模型的评测对比中,CWM成绩如下:
得分65.8%,领先所有开源同规模模型,接近GPT-4级别;
得分68.6%,展示高复杂度编程任务上的准确性;
得分96.6%,AIME 2024模拟题达76.0%;
得分26.3%,高于Gemini 2.5 Pro;
总体来看,CWM在理解、生成、验证、修复等多个环节上,均有出色表现。
FAIR团队称CWM验证了“代码世界建模”对提升推理与代码生成的价值。
Gabriel Synnaeve表示:
我为我的CodeGen团队所做的工作感到无比自豪!这个团队由博士生和经验丰富的资深员工组成。我们所有人齐心协力,全力以赴,绝不将任何问题归咎于他人。整个Meta AI社区都为此共同努力。非常感谢整个领导层始终如一的支持。
CWM分三阶段进行训练——
第一阶段,预训练阶段(Pretrain)。
在这个阶段,CWM使用8T tokens的数据进行通用语言与代码建模训练。
其中代码占比约30%,上下文长度为8k token。
第二阶段,中期训练阶段(Mid-train),这也是CWM最具特色的一步。
在这个阶段,模型引入5T tokens的世界建模数据,用于训练模型识别“代码运行过程中,程序状态如何变化”。
这部分核心数据类型包括:
来自数千万函数调用与代码提交,记录每一行代码执行时变量的值如何变化;
模型驱动的智能体在真实Docker环境中运行代码,修复Bug,执行任务,生成真实交互轨迹(共300万条);
将执行过程转化为自然语言,便于泛化迁移。
也是在这一阶段,CWM的上下文能力扩展到了131k token,支撑对大型项目和代码流程的完整建模。
第三阶段,后训练阶段(SFT+多任务RL)。
最后,CWM进行了100B tokens的监督微调训练(SFT)和172B tokens的多任务强化学习(RL)训练。
训练任务覆盖真实软件工程任务(如SWE-bench)、编程竞赛问题(CodeContests等)、数学推理题目(如AIME模拟题、MathQA)。
在这一阶段,FAIR团队使用异步RL机制、分布式环境以及自举方法,提升了模型在多环境、多任务间的泛化能力。
基础设施方面,CWM训练使用FlashAttention-3、FSDP+TP并行策略,并采用fp8低精度加速。
Meta FAIR强调其训练过程遵循Frontier AI Framework中的前沿AI安全框架。
结果表明,CWM不会对网络安全、化学、生物等高敏感领域构成滥用风险。
此外需注意,当前CWM的世界建模数据仅支持Python语言,尚未覆盖C++、Java等主流语言或符号执行任务。
不过,研究团队表示未来将探索多语言扩展,有望形成自动化编程助手的通用框架。
如果你想使用CWM,有两点需特别注意:
第一点,CWM主要面向代码理解与复杂推理研究,未进行RLHF对齐。
因此,它不适合对话任务或作为Chatbot使用。
第二点,CWM明确定位是“研究用途”,即仅供非商业研究使用。
总之,CWM团队选择了模型开源、数据透明、训练复现全开放。借此也向研究社区提出一个重要问题:
如果大模型能理解世界,它能成为更好的程序员吗?
本文由主机测评网于2026-01-03发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/20260114513.html