H3-World:0.199% 的参数就够,33B 视频生成器学会听指令

视频生成器「听得懂话」,却「听不懂时间」

给一个 330 亿参数的视频生成器这样一条指令:「前半段镜头向左平摇,后半段向右平摇」。这大概是它最该做好的事。MiniMax-H3 的原型却交出一份奇怪的答卷:前半段视频里横向光流几乎为零,镜头纹丝不动;直到指令切换之后,画面才像刚醒过来一样向右滑去。累计横向光流是 0.0 对 −17.3,几乎所有响应都挤在后半段,前半段等于白喊。H3-World

它听懂了「向右」,却没听懂「在前半段」。蹊跷之处在于,这个基座本来就会粗控:不用任何微调,直接给它一句「角色向左平移、镜头缓缓右摇」,它就能放出大致符合的画面,这种能力是预训练时从海量图文与视频语义里「涌现」出来的,不是谁专门训出来的。既然已经会粗控,为什么一换成「前半段向左、后半段向右」的分段指令就失灵?因为全局指令只能作用于整段视频:模型要么把语义平均摊到所有帧上,要么只响应其中最突出的那一段,指令落不到具体的时间段。这条「粗控到时间精确」的差距,就是全文要填的鸿沟。H3-World

这条鸿沟为什么非填不可?答案藏在一个狭义的世界模型(world model)用法里:既能生成画面、又能被交互控制的系统,要求每条指令在自己该生效的时间段生效,还不能串扰前后。单向出片和可交互世界模型的分野,恰好就在这一条上。H3-World 要做的,正是把「语言听写」升级成「按时间听写」。

Genie 2 生成的可交互 3D 世界拼贴

图注:Genie 2 生成的多个 3D 世界静态画面,叠加 WASD 与鼠标键位示意:同一个生成世界里,人按键盘就能让画面继续推进,这正是「可交互世界模型」的形态,与单向出片相对。Genie 2

H3-World 的解法,是把「重训」这一步整个跳过。具体有三件事:把一段时间内的按键聚合成文字子句,让子句 Aₖ 与第 k 段视频 latent 在位置上一一对齐,再用一条路由 mask 保证「这句话只接到它该管的那段画面」。这套改造有多轻?改造对象 MiniMax-H3 是一个三模块系统:先做上下文理解,再做基础生成,最后做高清重生成,其中开源出权重的是中间的 H3-Base。H3-World 连这个 33B 基座的参数都不动,只在它的注意力投影上加 0.199% 参数的 LoRA 旁路。MiniMax H3 之所以能只加旁路,是因为指令走的仍是基座预训练时学出来的语言通道。MiniMax 官方本就把语言定位成「通向泛化的桥梁」,H3-World 只是把这扇现成的门,对准了时间。H3 官方博客

那么,在 H3-World 之前,这条鸿沟就没有人跨过吗?有人跨,但每一条路都动了基座本身,代价一个比一个重。它们各自伤在哪儿、伤得多深,是下一节要摆的账。

把生成器变成世界模型:这条路的既有解法,为什么都伤筋动骨?

这条研究线不是从 H3-World 才开始的。最早的代表是 2024 年的 GameNGen:把 Stable Diffusion v1.4 改造成一个能实时玩 DOOM 的引擎,单块 TPU 上 20 FPS,下一帧预测的 PSNR 达到 29.43,接近有损 JPEG 的压缩质量。GameNGen 但它拿到这个成果的代价相当重:解冻 U-Net 的全部参数重新微调,用 70 万步、7000 万条轨迹样本,把键盘按键编成 token 直接替换掉原本的文本条件。基座原有的语言能力,被它主动放弃了。

同期还有一条「从零训练专用世界模型」的平行路线,代表如 DIAMOND:用扩散模型做 RL 训练用的世界模型,在 Atari 100k 上超过了当时所有世界模型内训练 agent 的水平。DIAMOND 这类方案不依赖预训练基座,但每换一个游戏、一个场景,都要从头再训一个专用模型,成本随领域数量线性增长。

2025 年,「复用基座」的路线出现了。Vid2World 把预训练的视频扩散模型改造成可交互世界模型,做法是 causalization 加 causal action guidance:先把非因果、双向的扩散模型改造成因果自回归,再把动作信号嵌入去噪过程。它在机器人操作、3D 游戏模拟、开放世界导航三个域验证了可行性,但动的是扩散内核本身,等于给基座做了一场手术。Vid2World

2026 年 5 月的 Incantation 则把「自然语言即动作接口」这条路真正打通了:把键盘输入翻译成每个实体、每个时刻的自然语言指令,能同时控制多个角色,跨实体迁移准确率 89%,对比基于 ID 索引的动作基线只有 43%。Incantation 但注意它的实现方式:它的基座 Wan 2.2 自带独立的文本交叉注意力层,而且它把 5B 的双向 teacher 重新训练了一遍,再蒸馏成一个实时学生模型。本质上是造了一个新模型,动作控制是有了,代价是重训加蒸馏。

方案怎么获得动作控制动了基座什么
GameNGen(2024)键盘 token 替换文本条件全参数重训 U-Net
DIAMOND(2024)从零训练扩散世界模型不依赖预训练基座
Vid2World(2025)causalization + 动作引导改造扩散内核
Incantation(2026)逐帧自然语言指令重训 teacher 再蒸馏成新模型
H3-World(2026)按时间段注入文字指令只动 0.199% 的注意力投影

把这条线摆在一起看,规律很扎眼:到 2026 年为止,获得动作控制的所有方案,都在动基座本体。要么重训,要么改内核,要么蒸馏出一个新模型。在这批已公开的方案里,没有人只借基座已有的语言通道、不动基座本体,就把控制精确到时间。H3-World 提出的正是这个更省的问题。

不改基座的第一步:把「动作」翻译成按时间对齐的文字指令

H3-World 的方法可以拆成三件套,按数据流顺序讲。第一件是结构化动作表示(Semantic Action Interface)。游戏里每一帧的键盘状态是离散的,H3-World 把一段时间内的按键聚合成一条文字子句:角色动作一个子句,相机动作一个子句。论文里写的是「the man walks backward and strafes left, camera pans right slowly」,角色后退并左移、镜头缓慢右摇。角色子句有 9 种,相机子句有 16 种,笛卡尔积 9 乘 16 得 144 种组合,其中 135 种结构上有效,训练数据覆盖了 83 种,剩下 52 种从未出现过。这个天生的「没见过的组合」,正好构成组合泛化评测场:角色子句和相机子句分别见过,但从未成对出现,模型面对它时只能靠语义理解去合成,不能靠死记。

第二件是潜在对齐时间绑定(Latent-Aligned Temporal Binding)。视频 latent 是按时间段划分的,每段 latent 对应原片里的若干帧。H3-World 把整条输入序列按顺序打包:场景描述 S、逐段的动作指令 A₁ 到 A_K、首帧条件 C₀、待生成的视频 latent V₁ 到 V_K,最后是 mask 填充位。每条指令 Aₖ 和它该管的第 k 段视频 latent 绑在一起,位置编码也是镜像对齐的:τ(Aₖ) = τ(Vₖ) − Δ,保证「文字在前、画面在后」的原生顺序不变,又给每一对指令与视频一段一致的相对时间偏移。翻译成人话:模型从序列结构上就能读出「这句话管的是那段时间」。

第三件是单流出时间注意力路由(Single-Egress Routing),这是整个方法里最关键的一步。为什么需要它,要先讲清基座的结构:MiniMax-H3 是 packed single-stream self-attention,文本和视频的 token 排在同一个序列里,互相之间做的是双向注意力,没有任何独立的文本交叉注意力层。这意味着光有位置编码,挡不住第 1 段的指令 A₁ 直接读到第 5 段的视频 latent。于是 H3-World 加了一个确定性的路由 mask,规则是单向的:作为 key 时,Aₖ 只能被自己 span 内的 token 和它匹配的 Vₖ 读到,其它一切(静态上下文、首帧条件、音频、别的指令、没匹配的视频 latent)都读不到它;作为 query 时,Aₖ 保留对静态上下文、首帧条件、音频、自身和匹配 Vₖ 的访问,对其它指令和未匹配视频的访问一刀切掉。视频 latent 之间则保留完整的双向注意力。

H3-World 方法总览

图注:(a) 逐段动作指令与静态语义条件、初始观察、视频 latent 打包进同一序列;(b) MiniMax-H3 用单流 self-attention 处理整条序列;(c) LoRA 在 single-egress 路由下只把每个动作 span 接到它匹配的视频 latent,视频 latent 之间仍双向相连。H3-World

这套路由解决的就是控制泄漏(control leakage):前一个动作的指令污染后一个动作的时间区间。把打包后的序列想成一间坐满人的会议室,注意力就是「谁在听谁说话」。默认情况下人人都在听所有人发言,于是第 1 秒的「向左」也传进了第 5 秒的画面里。Single-egress 路由等于给每条指令发了一部只接通自己管辖时段的电话:它只和匹配的视频 latent 通话,别人听不见它,它也听不见别人;而视频 latent 之间仍然是公共广播,画面内部的信息可以跨时间自由流动。指令按时间段精确供电,画面本身又保持连贯。

这里必须澄清一个容易混淆的点:Incantation 也用了 mask 来防时间污染,它的做法叫 frame-local text cross-attention,让每帧的动作 prompt 只连到当前正在去噪的那一帧。但这和 H3-World 是两种不同的接入位置,不是同一个机制的两种叫法。Incantation 的基座自带独立的文本交叉注意力层,它是在那层上做限制;H3-World 的基座根本没有这层,只能在 packed self-attention 内部用路由 mask 规定每条指令的注意力出口。这也是全文反复强调的设计选择:自始至终没有引入任何专用动作模块,指令走的全是基座原有的语言通道。

为什么 0.199% 的参数就够:LoRA 的数学与基座的天生结构

三件套把「话」递到了基座嘴边,真正让它开口的,是最后一块拼图:LoRA 轻量适配。0.199% 可训练参数,换算成绝对值大约是 65.6M,也就是 33B 里的千分之二。为什么这么少的参数就够?答案分两半,一半在 LoRA 的数学里,一半在基座的天生结构里。

先看数学。LoRA 的做法是,冻结预训练权重 W₀,在旁边加两条窄矩阵旁路 A 和 B,让更新量写成 ΔW = BA 这种低秩分解,训练只动 A、B:A 用高斯初始化,B 用零初始化,所以训练一开始 ΔW 是零矩阵,不会扰动预训练表示。前向变成 h = W₀x + BAx,就是把原本 d 乘 k 的完整更新,压缩到 (d+k) 乘 r 的量级。这个思路在 GPT-3 175B 上被验证过:可训练参数减少 10000 倍,显存从 1.2TB 降到 350GB。LoRA 直觉是:预训练权重已经把语义结构装好了,下游任务只需要在权重上补一条很窄的修正通道。

LoRA 低秩适配示意图

图注:LoRA 原论文的示意图:左侧冻结的 W₀ 通路原样保留,右侧插入 A、B 两条低秩旁路,相乘得到 ΔW = BA 与主路汇合;训练只更新 A 和 B,所以参数极少。LoRA

再看基座。H3-Base 的注意力层和 FFN 层没有任何模态特异的结构,文本、图像、视频、音频的 token 全挤在同一条 packed 序列里,由同一个单流 Transformer 主干处理,模态差异只落在输入输出投影和 AdaLN 分支上。文本编码器用的还是 Qwen3-VL-32B 第 50 层的特征,一个带视觉语义的多模态编码器。MiniMax H3 这意味着两件事:语言 token 和视觉 token 走的是同一条注意力路径,改 attention 的投影矩阵,就等于改写了「语言 token 如何影响视觉 token」;而语言本身早就被预训练进了视觉语义空间。语言能当控制通道,是基座结构决定的,不是适配技巧的功劳。

MiniMax H3-Base 架构

图注:H3-Base 四阶段架构:条件编码、打包上下文序列、统一生成、解码;图中明确标注 33B dense single-stream、Shared DiT backbone × 50、编码器使用 Qwen3-VL-32B 第 50 层特征,主干没有模态特异结构。MiniMax H3

落到具体配置上:rank-32 的 LoRA 打在 self-attention 的 QKV 和输出投影上,再加两层 token refiner,10,000 步、学习率 1e-4,训练数据只有 8,000 段游戏录像(7,872 段训练、128 段评测),每段 124 帧、24 FPS、832×480,来自单一游戏的数据集 ABot-World-Explorer-500h。H3-World 项目 每 500 个参数只训练 1 个,10,000 步就能让 33B 基座学会按时间听指令。这个「少」不是技巧有多妙,而是预训练权重已经把该懂的全懂了,LoRA 只是把语言通道这条现成的路,铺到了动作层。

文字指令真的接管了生成吗:六个维度的验证

方法讲完了,关键问题来了:文字指令真的接管了生成吗?论文的回答是六项验证,先把路标立出来:1 时间绑定,指令只落在该落的时段;2 接口对照,文本注入是不是真比专用动作向量强;3 重放,固定首帧能否复现已录的按键轨迹;4 反事实改指令,其它一切不动、只换指令,画面是否跟着换;5 组合泛化,从未成对出现过的子句组合能否靠语义理解合成;6 视觉泛化,分布外的初始画面是否仍服从同一套指令。

先看第 1 项时间绑定,论文管它叫「先验与适配」实验。相机指令在第 15 个 latent 处从「左 pan」切成「右 pan」,用累计横向光流衡量每一半的响应。三个条件摆在一起,差异触目惊心(负值代表向右运动):

条件前半段(应向左)后半段(应向右)
全局 prompt0.0−17.3
逐段接口但 LoRA 全部归零−0.10.0
H3-World+52.7−106.0
H3-World(指令方向反转)−58.7+121.0

全局 prompt 依然只在后半段有反应,前半段光流为零,和开头那个「不听前半段」的毛病一模一样;把指令逐段写进序列、但禁用 LoRA,画面几乎静止,平均横向光流只有 0.003;只有完整训练后的 H3-World,前半段 +52.7、后半段 −106.0,两侧都正确跟随。方向反转的对照也要做:指令反转后再测,−58.7 和 +121.0,符号跟着反转,说明响应方向确实由指令内容决定,不是凑巧。更关键的是控制变量:同一段视频、指令不切换时,全局 prompt 和 H3-World 给出的方向分离度几乎相同(301.8 对 300.5)。这说明基座本身就有粗控能力,缺的只是把方向绑定到具体 latent 区间的那一步,而这一步恰好是 LoRA 适配补上的。H3-World

第 2 项接口对照,回答一个方法论问题:为什么选文本注入,而不是给模型造一个专用动作向量?对照实验里,两种直接动作条件化方案被拿来比:additive-bias 把键盘状态编码成向量直接加到视频特征上,FiLM 用 scale 和 shift 调制特征。结果在同一个 held-out 片段上,两个方案对键盘状态变化的响应都微弱或不一致,而基于文本的 H3-World 给出的角色与相机变化和真实录像(GT)协同一致。

三种动作条件接口的定性对比

图注:同一段 held-out 片段上的四列定性对比:GT、additive-bias、FiLM、H3-World。前两列对键盘状态变化响应微弱或不一致,H3-World 列的角色与相机变化与 GT 接近一致。定性对比图,不含数值指标。H3-World

差距的根源不难理解:专用动作向量是让模型从零学一套新表征,而文本注入直接复用了基座预训练时学到的语言与视觉语义。同一个基座,前者是新语言,后者是用母语。

第 3 项重放和第 4 项反事实改指令,验的是控制稳定性。重放:固定初始帧,把已记录的按键序列原样喂回去,模型在保持场景布局和主体外观的同时复现主要运动。反事实改指令:固定初始观察、种子和采样配置,只改动作指令,反向 strafe 和快速 pan 都给出与请求一致的视觉变化。两项合起来的含义是:画面差异来自指令本身,不是采样噪声。

第 5 项组合泛化和第 6 项视觉泛化,验的是这套接口到底泛不泛。组合泛化:训练留出 52 个从未成对出现的 character 加 camera 组合,其中的代表性未成对子句组合在 held-out 游戏画面和分布外观察下都能跟随。视觉泛化:6 个与训练分布差异很大的初始观察(第三人称、第一人称、室内、室外、奇幻、科幻、不同渲染风格),同一套动作接口都给出一致响应并保留场景与主体。H3-World

最后要分清六项证据的硬软,也得提一句旁证。Incantation 给出的跨实体 89% 对 43%,可以作为「语言即动作」范式结构性增益的旁证,但要小心别把两个「泛化」混为一谈:Incantation 的 OOV 指 prompt 词表之外的语义,H3-World 的视觉泛化指初始观察分布之外的画面,维度不同,不能互相换算。六项验证的证据强度不齐:时间绑定这一项有累计光流统计和方向反转对照组撑着,最硬;重放与反事实改指令是同一套接口的稳定性验证;而组合泛化和视觉泛化目前只提供初步的代表性迹象,论文自己也承认,还需在更多动作组合、场景和随机种子下做系统化量化。论文同样没有给出完整的 FVD、PSNR、CLIP-score 定量表,Section 4 以定性对比和 Farneback 光流统计为主。控制是真的、泛化有待量化,至于「图像质量到底掉了多少」这类硬指标,还得等后续版本。

这条路意味着什么,又卡在哪里?

把这条路线的发展画出来,H3-World 的位置就很清楚:从零训练专用模型,到改造扩散内核,到重训加蒸馏出新模型,最后到不碰基座的 LoRA 轻量适配,每一步都在把「要动的基座部分」往小里缩。先别把这串次序误读成一场已经跑完的成本比赛:这个脉络呈现的是设计取向上的差异,而 H3-World 所展示的,是一条在可训练参数和模块改动上都很轻的复用路径,它并没有给出跨方案的成本或通用性全面比较。

H3-World 展示的,是「复用基座做世界模型」的第三条实现路径,与蒸馏成新模型、改造扩散内核形成设计上的对照:同样以预训练视频生成器为起点,它却把可训练参数和模块改动都压到极小,0.199% 的 LoRA 旁路之外,基座本身分毫未动。它表明一件事:大视频生成器里涌现出的语言控制能力,可以被「对齐到时间」之后直接变成世界控制能力,中间不需要任何新模块。语言通道是这条路径的天然入口。但这是个有边界的判断:论文的证据来自单一游戏的数据、124 帧的片段和有限的场景组合,它展示的是这条路在参数与模块上很轻,并没有做完跨方案的成本或通用性比较,后者要等更多基座和场景上的实验来回答。H3-World

但它的边界论文自己也摆得很清楚:评测限于 124 帧的短片段,组合与视觉泛化主要靠代表性示例,还要在更多动作组合、场景和随机种子下做系统化量化;模型生成固定长度的片段,不提供持久世界状态、实时交互、规划或策略学习接口;动作空间是离散的语义子句,连续的 SE(3) 相机轨迹不在范围内;训练数据来自单一游戏,能不能在更复杂的世界里扩展仍是开放问题。想自己上手验证:项目页有 demo 视频,Hugging Face 上挂着 131 MB 的 LoRA 权重(step-10000.safetensors,需叠加到 MiniMax-H3 基座并应用仓库里的 patch,直接加载进未修改的 pipeline 复现不了结果),GitHub 仓库有完整的训练与推理脚本。H3-World 项目

一句可以带走的话:0.199% 的参数把 33B 视频生成器变成了会按时间听指令的世界模型,这条捷径在可训练参数和模块改动上都很轻,价值与边界同样清楚:语言通道是一条现成且轻量的复用入口,而不是已被全面比较过的最优解;它离真正的通用世界模型,还差长 horizon、连续动作和持久状态这三块硬骨头。

想深入可以读原文:H3-World: Turning Language Understanding into World Control — arXiv:2609.01560

参考文献