Reactor 开源世界模型训练方案:复现 Dreamer4 并公开全部代码
Reactor 团队开源复现 Dreamer4 世界模型,公开模型权重与训练代码,并分享在 CoinRun 上的架构选择…
AI 创业团队 Reactor 近日发布博客,详细介绍其复现 Google DeepMind 世界模型论文 Dreamer4 的全过程,并将模型权重与训练代码全部开源。团队表示,希望通过公开训练方法与踩坑经验,降低前沿研究的门槛,加速世界模型方向的社区进展。
项目目标与起点
团队将主要目标设定为复现 Dreamer4 论文,并选择 Minecraft 作为最终训练环境。为简化调试流程,他们先把起点放在一款可由单卡 GPU 训练的程序化生成 2D 平台跳跃游戏 CoinRun 上,把每一阶段的核心逻辑先跑通,再迁移到 Minecraft。团队刻意不引入 Dreamer4 之外的方法,以控制搜索空间。
架构总览:分块因果 Transformer
整个系统沿用 Dreamer4 的核心思路,由 Tokenizer(自动编码器)和 Dynamics Model(动力学模型)两部分组成,二者共用 block-causal transformer 主干。该主干包含两种注意力层:
- Space Layer:在表征单帧的所有元素之间传播信息;
- Causal Time Layer:在不同帧之间沿时间方向传播信息。
Tokenizer 选用基于 Transformer 的 Masked Autoencoder,压缩比约 100×,无需 KL 或对抗损失,训练速度快且易于扩展。
动力学模型与并行展开
动力学模型采用 diffusion forcing,配合 flow matching 与 shortcut models 进行「下一帧预测」。在此基础上,团队进一步让模型同时预测下一动作,使 rollout 能在世界状态与策略之间交替进行。
为了让世界模块与策略模块在训练时共享表征与 Transformer 参数,他们将序列折叠为时间步块:
- 每个块 Bₜ 包含 (aₜ₋₁, sₜ, πₜ);
- 块内通过空间注意力实现 (aₜ₋₁ → sₜ → πₜ);
- 块之间通过因果时间注意力连接。
状态 sₜ 由扩散过程生成,具体包括噪声等级与 shortcut 步长 token、空间潜变量 token 以及用于内部计算的 register token。空间层据此从「上一动作 + 带噪潜变量」推出「下一时刻的干净潜变量」。
CoinRun 上的缩放观察
在 CoinRun 上先训练 Tokenizer 并进行缩放实验时,团队观察到一个有意思的现象:compute-optimal 的参数量与数据量大致按 compute 的平方根进行缩放。团队引用 Karpathy 的评价指出,Transformer 的 compute-optimal 缩放关系能精确落在一条直线上,本身就相当「反直觉」。
后续与开源
Reactor 表示将持续推进世界模型相关研究,并通过其 Reactor 运行时供用户直接体验模型效果。所有模型权重与训练代码已开源,团队希望以此推动世界模型研究的工程化与普及化。
