Waypoint-1:来自 Overworld 的实时交互式视频扩散模型
Overworld 推出了 Waypoint-1,这是一款实时交互式视频扩散模型,用户可以通过文本提示、鼠标移动和键盘输入进入并与生成的世界互动。与传统的通过有限控制微调预训练视频模型的世界模型不同,Waypoint-1 从零开始专为交互体验设计,提供零延迟控制,并能够在消费级硬件上运行。
模型架构与训练
Waypoint-1 是基于帧因果校正流变换器的潜在模型。它在包含 10,000 小时多样化视频游戏素材、配有文本说明和控制输入的数据集上进行训练。
训练方法论
为了实现交互能力,Waypoint-1 采用了两个主要的训练阶段:
- Diffusion Forcing:模型使用 diffusion forcing 进行预训练,学习在已知过去帧的情况下去噪未来帧。因果注意力掩码确保帧内的 token 只关注自身帧或之前的帧,从而在推理时能够过程式生成新帧。
- 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)