一句话定位

The Matrix 是阿里巴巴通义实验室(Tongyi Lab)联合香港大学、滑铁卢大学、Vector Institute 于 2024-12 发布的第一个能生成无限长、720p AAA 画质、支持逐帧实时移动控制的真实感世界模拟器:把预训练视频 DiT 通过 Interactive Module(键鼠转自然语言条件)+ Shift-Window Denoising Process Model(Swin-DPM,滑窗去噪解锁无限长生成)+ Stream Consistency Model(SCM,蒸馏到 8–16 FPS 实时)三件套改造而成,仅用少量《极限竞速:地平线5》《赛博朋克2077》监督数据配合大量无标注互联网视频,就能零样本泛化到训练时从未出现过的场景(如宝马 X3 开进办公室、开进海里)。

背景与定位

The Matrix 属于「神经网络游戏引擎 / 可玩世界模型」范式,与 gamengen(DOOM,U-Net 扩散,240p)、diamond(Atari/CS:GO,扩散,280×150)、decart-oasis(Minecraft,DiT+ViT-VAE,360p,自回归逐帧)同处一条技术线,但把目标提到更高——AAA 游戏级画质(720p)+ 无限长视频 + 逐帧实时控制 + 强域泛化四者兼得,而此前工作通常只占其一或其二(如 gamegen-x 达到 720p AAA 画质但只有视频级控制、4–16s、非实时;Oasis 实时但局限 Minecraft、无域泛化)。论文将自己定位于「世界模拟(World Simulation)」而非「智能体学习用世界模型」(后者见 world-models-ha-schmidhuber、Dreamer 系列),强调人类可直接交互体验。

骨干沿用预训练视频 DiT(继承 Open-Sora 一脉的 DiT 设计),与 dit-scalable-diffusion-transformers 的 Transformer 扩散范式一致;对比对象包括 deepmind-genie2(DeepMind 的隐动作可控世界模型)与 Genie 一代(genie-generative-interactive-environments,2D 平台游戏、非实时)。The Matrix 论文页明确将同期工作标注为”concurrent”:Genie、DIAMOND、MarioVGG、GameNGen、Oasis、GameGen-X。

论文/作者:Ruili Feng*、Han Zhang*、Zhantao Yang*、Jie Xiao*、Zhilei Shu*(Tongyi Lab,*同等贡献)、Zhiheng Liu(Tongyi Lab)、Andy Zheng(University of Waterloo)、Yukun Huang(University of Hong Kong)、Yu Liu(Tongyi Lab,Engineer Advisor)、Hongyang Zhang(University of Waterloo / Vector Institute,Project Leader)。

模型架构

总参数 2.7B(2.3B DiT 骨干 + 0.4B Interactive Module)。

Video DiT 骨干(改自公开 DiT 模型)

  • 3D VAE 编码器把 T×p 视频帧压成 T 个视频 token;骨干由 32 个 attention block 组成,每个 block = 自注意力(对网络特征)+ 交叉注意力(对齐条件与自注意力输出)+ FFN(两层线性 + GELU),末端接 LayerNorm 输出头。
  • Patch Embedding:3D 卷积(kernel 1×2×2)+ reshape,把 VAE 潜特征转成 2048 维 token 序列。
  • Caption Embedding:T5 编码器输出经两层 FFN,隐层/输出维度均 2048。
  • Timestep Embedding:sinusoidal + 两层 FFN,隐层/输出维度均 2048。
  • 生成速率:DiT 每秒生成 4 个视频 token,每 token 由 VAE 解码器还原为 4 帧,合成 16 FPS 最终视频(训练时按此速率下采样源数据)。

Interactive Module(动作条件注入)

  • 由一个 Embedding block + 一个交叉注意力层构成;每两个连续 DiT block 后插入一个,共 16 个 Interactive Module(32 block / 2)。
  • 键鼠输入先被翻译成自然语言描述:如 Forza Horizon 5 中按 W → “The car is driving forward”;Cyberpunk 2077 中”前进+鼠标上移” → “The man is moving forward and looking up”;无标注数据统一填充默认描述 “The camera is moving in an unknown way”,训练时以概率 q=0.1 用默认描述随机替换真实标注键鼠输入以增强鲁棒性。
  • 描述经 T5 编码器 → 两层线性 + 中间一层 SiLU → 得到向量嵌入,与其对应视频 token 及其后 ω=4(预定义因果关系范围)个 token 拼接;该交叉注意力在 DiT 每完成一个奇数号自注意力步后执行一次,实现逐帧精确控制。
  • 训练前先用 LoRA(rank 128)对基础 DiT 全部线性层做 warmup,使 Interactive Module 专注学交互/运动模式而非重新拟合画面。

Shift-Window Denoising Process Model(Swin-DPM)

  • 用滑动时间窗口管理注意力依赖,以 stride s=1 逐 token 产出,实现长/无限长视频生成而不增加窗口内计算量。
  • 窗口内一队视频 token 处于不同噪声等级;经过 k 次去噪步(k×T = 扩散求解器总步数)后,最左侧(噪声最低)token 出队进缓存,右侧补入一个高斯噪声新 token;缓存 token 会在下一 token 被缓存前,以噪声等级 0 反复重新拼回窗口队列参与去噪,从而保证跨窗口连续性。
  • 训练时采样 2w 个视频 token(w=窗口大小,通常 w=T):前 w 个仅用于 warmup(不参与反传),loss 只算最后 w 个;推理时同样丢弃前 w 个 warmup token,生成视频从第 (w+1) 个 token 开始。

Stream Consistency Model(SCM)

  • 用 SCM 把原扩散过程 + classifier-free guidance 蒸馏为四步一致性模型,同时纳入 Swin-DPM 的滑窗设计;蒸馏时 Euler ODE 求解器单步步长 25/1000
  • 带来 10–20× 推理加速,渲染速率从 Swin-DPM 单独的 0.8 FPS 提升到 8–16 FPS

具身场景延伸:同架构接入 DROID 机器臂数据集,用 7 个关节角作为逐帧动作条件(见”数据”节),验证 Interactive Module 对非游戏 embodied 场景的适用性。

数据

Source 数据集(“Synthesized Observations of Unreal Rendered Contextual Environments”)

  • 原始采集:Forza Horizon 5 约 120 万对视频-控制信号,Cyberpunk 2077 约 100 万对;原始视频均约 6 秒、60 FPS,原生录制分辨率 2560×1600(训练前 resize 到 1280×720)。
  • 经过滤/标注后最终训练集:75 万条有标注样本 + 120 万条无标注样本(无标注部分来自真实世界互联网视频,如东京街景),均按 6 秒片段组织。
  • 标注方式:论文正文(Sec 3.2)称片段用 GPT-4o 生成 caption;附录 B.2.2 则记载 GameData 平台产出的片段用 InternVL(基于 12 帧均匀抽取关键帧)生成 caption 后人工修正明显错误——两处表述不完全一致,原文照录,未强行统一。
  • Forza Horizon 5 控制信号仅 3 类:D(前进)、DL(前进+左转)、DR(前进+右转),采集用自动化随机游走脚本;Cyberpunk 2077 控制信号 5 类:W(前进)、L(左转)、R(右转)、U(视角上抬)、D(视角下压),采集用人工遥控(GameData 平台走 manual pipeline)。
  • 5 种过滤方法(主要针对 Forza 的自动化数据):① 平衡控制信号分布(反复剔除占比最高的信号直至均衡,见 Algorithm 1);② 碰撞检测剔除(加速度骤变为信号);③ 卡死检测剔除(位移过小);④ 动作-位移不匹配剔除(加速度方向与实际位移方向夹角过大);⑤ 画面伪影检测剔除(相邻帧像素值变化超阈值)。Cyberpunk 因走人工采集,多数问题不存在。

GameData Platform:基于开源工具 Cheat Engine(读取角色 XYZ 坐标/相机等内存状态)+ Reshade 插件(ReshadeEffectShaderToggler,去除游戏 UI/HUD、统一渲染风格)+ OBS(屏幕录制)搭建;控制-模拟-观测三段式架构;游戏运行在阿里云弹性计算的 Remote Gaming Console(RGC)云服务器上,可直接复制服务器镜像批量起实例;关闭 NPC 与外部车流以降低场景复杂度。控制信号与 OBS 录屏之间的延迟经测量稳定在不超过 3 帧,可直接从时间轴扣除。

DROID 具身数据:从完整 DROID 数据集(76k 条演示轨迹、350 小时交互、564 个场景、86 项任务,12 个月内由 13 个机构、50 名采集者用同一套 Franka Panda 7 自由度机械臂 + 双 Zed 2 立体相机 + 腕装 Zed Mini + Oculus Quest 2 遥操作硬件采集)中选取 5 万条 6 秒片段,标注 7 个关节角的逐帧动作标签。过滤:① 用 DINO 特征去除过于复杂/不均衡场景(每类人工挑 50 个较简单场景,按语义均值去离群点,使各场景样本数接近均衡);② 用 Grounding DINOv2 剔除机械臂缺失/占比过小的帧(超 20% 帧不达标则整条视频丢弃);③ 剔除机械臂未成功跟随目标轨迹的失败执行数据;最终用夹爪空间位置作为逐帧条件。

训练方法

四阶段流水线(均以预训练 DiT 为起点,overall batch size 32,学习率 1e-5bfloat16 混合精度,视频统一 resize 到 1280×72016 FPS):

  1. 无标注 Source 数据 warmup:对 DiT 全部线性层做 LoRA(rank 128) 微调,20,000 步
  2. 训练 Interactive Module:冻结 DiT 基座参数,只训 Interactive Module(新增 0.4B 参数),20,000 步
  3. Swin-DPM 全参数微调:DiT 基座 + Interactive Module 一起用 Swin-DPM 训练,60,000 步,解锁无限长生成。
  4. Consistency Model 蒸馏:以第 3 阶段 checkpoint 为 teacher,student 用 teacher 权重初始化,采用 one-stage guided distillation(把 classifier-free guidance 纳入 student),Euler ODE 求解器单步步长 25/100010,000 步,得到实时 SCM。

对超长序列(>25,200 帧)训练时用 DeepSpeed Ulysses 序列并行,跨 8 张 GPU 切分序列以控制显存/计算开销。

Infra(训练 / 推理工程)

  • 训练侧:除”超长序列(>25,200 帧)用 8 GPU DeepSpeed Ulysses 序列并行”外,论文未披露训练总 GPU 数量、总 GPU-hours、具体训练硬件型号。数据采集端使用阿里云弹性计算的 Remote Gaming Console(RGC)云游戏实例(致谢中提及)。
  • 推理侧:Swin-DPM 单独运行 0.8 FPS;接入 SCM 后加速 10–20×,达到 8–16 FPS 的实时渲染速率,分辨率 1280×720。未披露具体推理硬件型号/单卡显存占用/端到端延迟毫秒数。

评测 benchmark

Table 2(论文自有消融,评测于 2,048 秒随机生成视频;移动控制精度评测于 2,048 秒基于固定测试集键鼠输入+文本 prompt 生成的视频,与真实运动轨迹对比 Move-PSNR/Move-LPIPS):

阶段场景参数量推理速度FVD↓FID↓CLIP↑Move-LPIPS↓Move-PSNR↑
DiT Backbone2.3B48帧/34s1016.30318.100.30
+WarmupCyberpunk 20772.3B64帧/34s1429.45183.240.280.12527.80
+WarmupDROID2.3B48帧/34s1133.16224.980.290.19127.72
+WarmupForza Horizon 52.3B48帧/34s1891.67141.110.310.12826.89
+Interactive ModuleCyberpunk 20772.7B48帧/55s1112.49173.310.280.12928.24
+Interactive ModuleDROID2.7B48帧/55s1200.82237.660.300.18027.90
+Interactive ModuleForza Horizon 52.7B48帧/55s1211.30119.200.270.12528.98
+Swin-DPMForza Horizon 52.7B0.8 FPS1651.50163.270.240.11329.90
+SCMForza Horizon 52.7B8–16 FPS1936.79153.800.230.10929.73

趋势:加入 Interactive Module 后画质指标(FVD/FID)相对纯 warmup 明显改善(如 Forza FID 141.11→119.20),且控制精度(Move-PSNR)逐阶段持续提升(26.89→28.98→29.90→29.73);但 Swin-DPM/SCM 引入无限长/实时能力后,通用画质指标(FVD/FID/CLIP)相对 Interactive-Module 阶段有所回退(Forza FVD 1211→1651→1937,CLIP 0.27→0.24→0.23),论文明确承认这是”以画质换无限长+实时”的取舍。

注意:Table 1(Genie/DIAMOND/MarioVGG/GameNGen/Oasis/GameGen-X 对比)只是定性特征对比表(视频长度/训练语料/分辨率/控制粒度/是否实时/是否泛化),论文未给出与这些同期工作在同一 benchmark 上的定量数值对比(FVD/FID 等未做跨模型横评)。

创新点与影响

贡献

  1. 首个同时做到无限长 + 720p AAA 画质 + 逐帧实时控制 + 强域泛化四件套的世界模拟器基础模型,此前工作通常只满足其中一到两项。
  2. Swin-DPM:让预训练 DiT 无需重训即可外推到无限长视频,作者认为该技术可迁移到更广泛的长视频生成任务(不限于世界模拟)。
  3. GameData 平台 + Source 数据集:用 Cheat Engine 读内存状态自动配对动作-画面,大幅降低逐帧动作标注成本,计划开源该数据集。
  4. 零样本域泛化验证:用同一模型控制宝马 X3 开进训练数据中从未出现的室内环境、开进海里;将中心可控对象从车替换为人(穿正装男性在办公室行走、女孩推吸尘器)依然响应键盘输入;关闭 Interactive Module 后骨干还能单纯当通用长视频生成器用。

作者自陈局限 / 待完成事项

  • Swin-DPM 和 SCM 在换取无限长生成与实时速度的同时,牺牲了部分通用画质指标(FVD/FID/CLIP 相对纯 Interactive-Module 阶段回退,见上表)。
  • 键鼠控制粒度粗:Forza 仅 3 类离散信号、Cyberpunk 仅 5 类,非连续控制。
  • 论文摘要承诺”codes, data, and model checkpoints…will be open sourced”;截至本次抓取(project page 快照),页面仍标注 “Source (Coming Soon)”“Playable Demo (Coming Soon)“,GitHub 组织 thematrix1999 仅有项目主页仓库,代码/数据/权重尚未实际放出。
  • 论文未与同期方法(Genie、DIAMOND、GameNGen、Oasis、GameGen-X)做同一 benchmark 上的定量横向对比,Table 1 只是特征清单式对比。

原始链接

一手源存档(sources/)

  • arXiv 原文 HTML(arxiv.org/html/2412.03568v1,全文含附录 A/B/C)——已读,未落盘为独立文件(arXiv 原文,不入 git)
  • the-matrix—project-page — 项目主页全文快照(Methodology 图示说明、Demo gallery、Release status:Source/Demo 均为 Coming Soon)