MineWorld: A Real-Time and Open-Source Interactive World Model on Minecraft

Authors: Junliang Guo*, Yang Ye*, Tianyu He*, Haoyu Wu*, Yushu Jiang, Tim Pearce, Jiang Bian Affiliations: Microsoft Research Project Page: aka.ms/mineworld Venue: arXiv 2504.08388, April 2025

1. Motivation (研究动机)

世界模型(World Model)旨在模拟环境对动作的响应,是构建智能体的关键组件。Minecraft 作为开放沙盒游戏,是世界模型研究的理想测试平台。现有方法存在两个核心瓶颈:

效率瓶颈:视频生成模型(如基于扩散的 Oasis)使用 visual tokenizer 将视频编码为大量 token(16帧约 40k-160k tokens),导致推理计算量巨大,无法实现实时交互。

可控性瓶颈:现有模型的控制信号多样(文本描述、视频演示、机器人动作等),但缺乏标准化的可控性评估指标,难以量化模型对输入动作的遵循程度。

2. Idea (核心思想)

MineWorld 采用 Visual-Action Autoregressive Transformer 架构,核心思路包含四个关键创新:

  1. 统一离散 token 序列建模:将游戏画面和动作分别通过 image tokenizeraction tokenizer 转为离散 token,交替拼接后用 next-token prediction 统一训练,使模型同时具备 world model 和 policy model 的双重能力
  2. Diagonal Decoding 并行加速:提出对角线解码并行算法,利用相邻 token 的空间冗余,实现 3倍以上加速,达到 4-7 FPS 实时交互
  3. IDM-based 可控性评估:提出基于 Inverse Dynamics Model (IDM) 的可控性评估指标,与人类评估显著正相关
  4. 轻量级架构:基于 LLaMA 架构,300M-1.2B 参数即可实现实时交互

3. Method (方法)

3.1 整体架构

Figure 1 解读:MineWorld 的整体架构由三部分组成:(1) Visual Tokenizer 将游戏画面编码为离散视觉 token ;(2) Action Tokenizer 将键盘/鼠标动作编码为离散动作 token ;(3) Transformer Decoder 接收交替排列的视觉和动作 token 序列,以自回归方式预测下一个 token。这种设计使模型同时学习状态间转移关系和状态-动作条件关系。

建模目标:给定历史观测 和当前动作 ,预测下一个游戏状态:

3.2 Tokenizer 设计

Visual Tokenizer (VQ-VAE)

  • 基于 VQ-VAE 架构,初始化自公开预训练 checkpoint(aMUSEd),在 Minecraft 数据上 fine-tune
  • 空间压缩率(高度和宽度各压缩 16 倍)
  • Codebook 大小:8192
  • 每帧图像 被编码为 个离散 token
  • 对包含 帧的视频片段 ,编码为:

其中 为每帧 token 数。

Action Tokenizer

Minecraft 动作包含两类:

  • 连续动作:鼠标移动(相机角度),量化为 11个离散 bin(X轴和Y轴各2个token)
  • 离散动作:键盘操作,分为 7个互斥类别(如 forward/backward 不能同时存在),每类用一个 token 表示

另有 [aBOS][aEOS] 两个特殊 token 标记动作序列边界。每个动作用 11个 token 表示。

每对 (state, action) 的 token 序列为:

个 token/帧。

Transformer Decoder

  • 架构:LLaMA 架构(RMSNorm + RoPE)
  • 训练目标:标准自回归 next-token prediction
  • 词汇表大小:(8192个视觉 token + 70个动作 token)
  • 模型规模:300M / 700M / 1.2B 三个版本
# MineWorld Forward Pass
# Input: game_frames [B, N, H, W], actions [B, N, num_action_tokens]
# Output: next_token_logits
 
# 1. Visual Tokenization
visual_tokens = VQ_VAE.encode(game_frames)  # [B, N, 336]
 
# 2. Action Tokenization
action_tokens = ActionTokenizer.encode(actions)  # [B, N, 11]
 
# 3. Interleave visual and action tokens
for i in range(N):
    seq.append(visual_tokens[:, i])      # 336 tokens
    seq.append([aBOS])                    # 1 token
    seq.append(action_tokens[:, i])       # 9 tokens
    seq.append([aEOS])                    # 1 token
input_seq = concat(seq)                   # [B, N * 347]
 
# 4. Transformer Decoder (LLaMA-style)
logits = TransformerDecoder(input_seq)     # [B, N * 347, 8262]
loss = CrossEntropy(logits, target_seq)

3.3 Diagonal Decoding(对角线并行解码)

Figure 2 解读:左图 (a) 展示标准自回归解码,按光栅扫描顺序逐个生成 token(3x4=12个token需要12步)。右图 (b) 展示 Diagonal Decoding,利用相邻 token 的空间冗余性,同一对角线上的 token 可以并行生成。例如第1步生成位置(1,1),第2步同时生成(1,2)和(2,1),第3步同时生成(1,3)、(2,2)和(3,1),仅需6步即可完成。

核心思想:对于位置 的 token ,生成后下一步可以同时生成 (右邻)和 (下邻),因为相邻 token 之间存在空间冗余。

理论加速比:对于高度 、宽度 的 token 网格:

对 MineWorld 的 token 网格:(理论上限),实际约 加速。

Fine-tuning 策略:由于并行解码与自回归训练存在 discrepancy,需要用 parallel attention mask 替换标准 causal mask 进行 fine-tune,使模型适应对角线解码模式。

# Diagonal Decoding
# Input: context_tokens, token_grid_shape (h, w)
# Output: generated_frame_tokens [h, w]
 
grid = empty(h, w)
 
# 对角线解码:共 h + w - 1 步
for step in range(1, h + w):
    parallel_positions = []
    for i in range(h):
        j = step - 1 - i
        if 0 <= j < w:
            parallel_positions.append((i, j))
 
    # 并行预测同一对角线上的所有 token
    for (i, j) in parallel_positions:
        # 条件:已生成的左上方所有 token
        grid[i, j] = sample(model(context + grid[:i+1, :j+1]))
 
    # KV cache 更新
    update_kv_cache(parallel_positions)
 
return grid

Real-Time 定义:基于 Actions Per Minute (APM) 指标:

  • 业余玩家:~150 APM → 需要 > 2 FPS
  • 专业玩家:~300 APM → 需要 > 5 FPS

4. Experimental Setup (实验设置)

4.1 数据集

项目详情
数据来源VPT dataset (Baker et al., 2022)
数据格式游戏画面 + 键盘/鼠标动作对
预处理过滤无动作帧和GUI帧
原始分辨率
处理后分辨率(保持宽高比)
训练集10M 视频片段(~160M 帧)
验证集0.5k 片段
测试集1k 片段
上下文长度16帧(最大32帧)
每样本 token 数16 × 347 = 5,548 tokens
总训练 token 数~55B tokens

4.2 模型配置

模型参数量上下文帧数Checkpoint
MineWorld-300M300M16300M_16f.ckpt
MineWorld-700M700M16 / 32700M_16f/32f.ckpt
MineWorld-1.2B1.2B16 / 321200M_16f/32f.ckpt

训练细节

  • 架构:LLaMA(RMSNorm + RoPE)
  • 优化器:Adam,cosine decay learning rate schedule
  • 训练步数:200k steps
  • 硬件:32 × NVIDIA A100 40GB
  • 词汇表:8262(8192 visual + 70 action)

4.3 评估指标

视觉质量指标

  • FVD(Frechet Video Distance)↓
  • PSNR(Peak Signal-to-Noise Ratio)↑
  • LPIPS(Learned Perceptual Image Patch Similarity)↓
  • SSIM(Structural Similarity Index)↑

可控性指标(基于 IDM,准确率 90.6%):

  1. 离散动作分类:将动作分为9类(7个离散类 + 2个相机方向类),计算 Precision / Recall / F1(macro)
  2. 相机运动回归:计算预测相机角度与 ground truth 之间的 L1 loss

4.4 对比方法

  • Oasis(Decart et al., 2024):开源的基于扩散的 Minecraft 世界模型,500M 参数

5. Experimental Results (实验结果)

5.1 主要结果:MineWorld vs Oasis

MethodParam.FPS↑P↑R↑F1↑L1↓FVD↓LPIPS↓SSIM↑PSNR↑
Oasis500M2.580.490.440.412.603770.530.3614.38
MineWorld300M5.910.720.710.701.032460.450.3815.13
MineWorld700M3.180.720.710.701.042310.440.3815.32
MineWorld1.2B3.010.760.730.731.022270.440.4115.69

关键发现

  • MineWorld 在所有指标上全面超越 Oasis,且参数量更小
  • 明显的 scaling behavior:更大模型在可控性和视觉质量上都更好
  • 300M 模型最快,达到 5.91 FPS(APM ~360),可与专业玩家实时交互
  • 1.2B 模型达到 3.01 FPS(APM ~180),可与业余玩家实时交互

5.2 Parallel Decoding 消融实验

Param.DecodingFPS↑F1↑PSNR↑FVD↓
300MAutoregressive (AT)2.000.7015.63223
300MParallel w/ FT5.910.7015.13246
300MParallel w/o FT5.910.6914.98275
700MAT1.080.7315.74210
700MParallel w/ FT3.180.7115.32231
700MParallel w/o FT3.180.7015.27247
1.2BAT0.890.7216.06203
1.2BParallel w/ FT3.010.7315.69227
1.2BParallel w/o FT3.010.7015.30258

关键发现

  • Diagonal Decoding 实现约 3x 加速(所有模型规模一致)
  • Fine-tuning(w/ FT)显著缩小与 AT 的质量差距,尤其对小模型(300M)效果明显
  • 大模型(1.2B)即使不做 fine-tune,parallel decoding 的质量退化也较小
  • 1.2B + Parallel w/ FT 的 F1 (0.73) 甚至略优于 AT (0.72)

5.3 可控性指标验证(Human Evaluation)

指标
F10.81
Human Score4.21 / 5.0
Pearson 0.56
p-value0.01

提出的分类指标与人类评估呈显著正相关(, ),验证了指标的有效性。

5.4 Case Studies

Figure 3 解读:展示 MineWorld 700M 模型的通用生成能力。第一行:执行 “camera left → use → forward” 序列,模型成功生成开门并走向户外的过渡场景。第二行:执行连续 “attack” 动作,模型生成砍树过程,包含木头横截面和砍完后的爆炸效果等细节。第三行:相机先左转再右转,模型能正确恢复之前的房屋场景,展现了良好的时序一致性。

Figure 4 解读:展示 MineWorld 的可控性。给定相同的初始游戏状态,分别输入 backward、forward、camera left 三种不同动作,模型准确生成了对应的不同视角变化。backward 使视角后退(远离树木),forward 使视角前进(靠近树木),camera left 使视角左转。这证明模型精确遵循动作控制信号。

Figure 5 解读:展示 MineWorld 作为游戏智能体(Agent)的能力。给定初始几帧游戏状态和动作(虚线前),模型自主生成后续的动作和游戏状态(虚线后),实现自主”玩游戏”。这说明 MineWorld 的统一建模方式使其同时具备 world model 和 policy model 的双重能力。


5.5 代码-论文对应关系

论文组件代码文件说明
Visual Tokenizer (VQ-VAE)vae.py图像编码/解码, 空间压缩,8k codebook
Action Tokenizermcdataset.py动作量化,11 token/action
Transformer Decoder (LLaMA)lvm.py核心模型,RMSNorm + RoPE,8262 vocab
Diagonal Decodingdiagonal_decoding.py并行解码加速,~3x speedup
推理入口inference.py本地推理,支持 naive / diagonal decoding
Web Demomineworld.pyGradio 交互式界面
数据集处理mcdataset.pyVPT 数据加载与预处理
评估指标metrics/FVD, PSNR, LPIPS, SSIM, IDM-based metrics
模型配置configs/300M/700M/1.2B 各尺寸配置文件
推理脚本scripts/inference_16f_models.sh批量推理脚本

5.6 总结与思考

核心贡献

  1. 首个开源实时交互式 Minecraft 世界模型:基于 autoregressive Transformer,将视觉和动作统一建模为离散 token 序列
  2. Diagonal Decoding:无需训练的并行解码算法,利用空间冗余实现 ~3x 加速,配合 fine-tune 可几乎无损
  3. 可控性评估框架:基于 IDM 的分类指标,与人类评估显著正相关

局限性

  • 仅在 Minecraft 领域训练,无法泛化到其他视频领域
  • 分辨率固定为 ,下采样可能丢失细节
  • 最大上下文 16 个 state-action 对(5.5k tokens),超出范围后时序一致性无法保证

与相关工作的对比思考

  • 相比 Oasis(diffusion-based):MineWorld 用 AR Transformer 替代扩散模型,在效率和可控性上均大幅领先
  • Diagonal Decoding 与 ZipAR、Lformer 等并行解码方法的区别:专为视频场景设计,处理跨帧误差累积问题,且不需要从头训练
  • 统一建模 state 和 action 使模型具备 world model + policy model 双重能力,可作为自主游戏 agent