
6月13日智源大会的世界模型分论坛上,昆仑万维Skywork首席科学家刘扬花了大半场时间讲一件事:Matrix-Game 在训练过程中踩过的坑。这些内容论文里不会写,但每个做世界模型的团队迟早都会遇到。
很多人在问世界模型什么时候能用。答案不是架构不够强,而是这些坑,得一个个填过去。
一、动作和画面,为什么对不上
团队遇到的第一麻烦来自训练数据本身。他们在网上大规模爬取游戏视频作为训练素材,理论上很漂亮,游戏画面多、数据量大、成本低。但实操下来,一个大问题浮现了。
同一个视觉变化,可能有多种动作原因。游戏画面向右上45度偏转,可能是鼠标操作,可能是键盘操作,也可能是键鼠配合的结果。模型从一个画面数据里根本不知道对应的动作是什么,学到的是”一个画面和一个动作原因之间的模糊对应关系”。
这种模糊关系导致模型训练陷入严重歧义。你给它看”画面往右转了”它不知道这是鼠标推的还是键盘按的,实际推理时就容易出怪结果。
解决方案听着简单,做起来很重:不能靠爬资料自动解决动作标注问题。团队不得不大量主动构建数据场景,明确告诉模型,在这种情况下,物理规则是什么,动作对应什么画面变化。
二、知道往前走,不知道前面有墙
Matrix-Game很早就学会理解动作指令的含义。”往前走”,模型知道这要在画面上生成向前移动的画面。但它不知道往前走的时候前面有一堵墙,墙是不可穿越的。
开发者发现,模型在《荒野大镖客》的虚拟世界里,输入”往前走”,画面确实在往前移动,但当主角走到墙前时,模型直接生成了一幅”穿墙而过”的画面。
理解动作指令意味着模型学会了一个输入到输出的映射,但理解动作的物理后果是完全不同的事。模型不知道”不能穿墙”这个物理规则,因为它的训练数据里没有明确标注墙的物理属性。
团队为此建立了一套主动数据标注体系,大量手工构建边界场景。这也是刘扬所说的”昂贵但不可跳过”的投入,这些物理知识必须有人来告诉模型,过程慢,但跳不过。
三、每次加参数,模型都要”重修”
从Matrix-Game 1.0到3.0版本,团队一直采用一个直观的方法:把鼠标信号通过Self-Attention注进去,键盘信号通过Cross-Attention注进去。方法直接,效果也不算差。
但有一个持续代价:每次加入新的控制参数,模型对原始视频分布的认知就会被打乱。用一个粗浅的类比,就像在一本已经写好的书里不断往每页插便签纸,书本身的叙事结构被破坏了。
团队不得不花大量额外训练来”修复”模型的基础能力。每加一次参数,就修复一次。从1.0修到3.0,这个模式已经持续了多个版本。
3.5版本做了一个根本性的改变:不再引入额外的控制参数。取而代之的是PRoPE(Projective Position Encoding)机制,通过相机投影矩阵让模型直接感知相机的相对位置和姿态。
效果是双重的:既降低了对原始视频分布的破坏,模型的泛化能力也得到了增强。
四、记忆越长,画面越乱
世界模型一个公认的瓶颈是”长时程一致性”,跑几分钟后画面就开始出问题。Matrix-Game早期版本的记忆机制很简单:原样存储历史帧,推理时检索相关帧拼接到上下文中。
问题也很明显:第一,历史帧占用大量上下文窗口,能记住的东西有限。第二,不同帧拼在一起经常出现画面冲突,前一帧的某个物体在下一帧的位置对不上。第三,记忆一旦写进去就很难灵活更新。想换一个场景,前面的记忆堵在那里。
3.5版本在架构层面做了升级:不再直接存帧,而是把历史帧切成三维坐标系下的空间块(Spatial Tokens),按空间位置匹配后重组成当前视角的记忆图。
这个设计带来的效果包括:画面一致性更高、相机轨迹保持更稳定,以及记忆可以随时更新、替换、删除。灵活性相比前代版本大幅提升。
这四个坑对应着四个层面的共性问题:数据标注(动作-画面歧义)、物理常识(模型不理解物理规则)、架构设计(控制信号对分布的破坏)、记忆机制(长时程一致性的瓶颈)。
每个问题都不容易解决,但Matrix-Game 3.5用一年多的迭代给出了各自的答案。团队的下一个目标是构建原生统一的世界模型框架,让状态理解与动作生成从串联走向联合。按计划3.5将在7月正式发布,届时会有更多技术细节披露。

