Waypoint-1:来自 Overworld 的实时交互式视频扩散模型

Overworld 推出了 Waypoint-1,这是一款实时交互式视频扩散模型,用户可以通过文本提示、鼠标移动和键盘输入进入并与生成的世界互动。与传统的通过有限控制微调预训练视频模型的世界模型不同,Waypoint-1 从零开始专为交互体验设计,提供零延迟控制,并能够在消费级硬件上运行。

模型架构与训练

Waypoint-1 是基于帧因果校正流变换器的潜在模型。它在包含 10,000 小时多样化视频游戏素材、配有文本说明和控制输入的数据集上进行训练。

训练方法论

为了实现交互能力,Waypoint-1 采用了两个主要的训练阶段:

  1. Diffusion Forcing:模型使用 diffusion forcing 进行预训练,学习在已知过去帧的情况下去噪未来帧。因果注意力掩码确保帧内的 token 只关注自身帧或之前的帧,从而在推理时能够过程式生成新帧。
  2. Self-Forcing:为了解决预训练期间随机加噪导致的推理不匹配和误差累积(噪声长回滚)问题,模型在后期通过 DMD 进行 self-forcing 训练。该技术使训练过程与推理行为保持一致,从而实现一次性 CFG 和少步去噪。

WorldEngine 推理库

Overworld 发布了 WorldEngine,这是一款高性能的 Python 推理库,专为低延迟、高吞吐的交互式世界模型流式处理而设计。WorldEngine 接收上下文帧、文本以及键盘/鼠标输入,实时输出图像帧。

性能基准

在 NVIDIA RTX 5090 上运行 Waypoint-1-Small(2.3B 参数)模型时,WorldEngine 达到以下性能:

  • 吞吐量:约每秒 30,000 次 token 传递(基于每帧 256 token 的单次去噪)。
  • 帧率:在 4 步去噪时为 30 FPS,2 步去噪时为 60 FPS。

技术优化

WorldEngine 的性能由以下四项特定优化驱动:

  • AdaLN 特征缓存:当提示条件和时间步在前向传播之间保持不变时,缓存并复用 AdaLN 条件投影。
  • 静态滚动 KV 缓存 + Flex Attention:实现高级缓存和注意力机制,以减少冗余计算。
  • 矩阵乘法融合:使用融合的 QKV 投影来优化矩阵乘法。
  • Torch Compile:利用 torch.compile(fullgraph=True, mode="max-autotune", dynamic=False) 实现最大图优化。

可用性与实现

Waypoint-1 权重已在 Hugging Face Hub 上发布,Waypoint-1-Small 模型已可用,Waypoint-1-Medium 即将推出。用户可通过 Overworld Stream 体验该模型。

实现示例

开发者可以使用以下 WorldEngine 模式集成 Waypoint-1:

from world_engine import WorldEngine, CtrlInput

# Create inference engine
engine = WorldEngine("Overworld/Waypoint-1-Small", device="cuda")

# Specify a prompt
engine.set_prompt("A game where you herd goats in a beautiful valley")

# Optional: Force the next frame to be a specific image
img = pipeline.append_frame(uint8_img)  # (H, W, 3)

# Generate 3 video frames conditioned on controller inputs
for controller_input in [
        CtrlInput(button={48, 42}, mouse=[0.4, 0.3]),
        CtrlInput(mouse=[0.1, 0.2]),
        CtrlInput(button={95, 32, 105}),
]:
    img = engine.gen_frame(ctrl=controller_input)

Sources