实时视频生成的「快」与「好」长期是一对矛盾:蒸馏到少步推理后,画面经常出现过饱和、过平滑,细节像被抹掉一层。9 月 8 日放上 arXiv 的论文 Mask Forcing(arXiv:2609.09123)给出了一个出人意料地简单的修法——不改架构、不动教师模型、不碰推理流程,只在训练时往 rollout 输入里"掺沙子"。

问题:蒸馏后的学生为什么变"糊"

主流路线是把预训练的双向视频扩散模型,通过分布匹配蒸馏(DMD)蒸成因果的自回归(AR)学生,实现实时生成。但团队指出根子在 DMD 的损失函数:反向 KL 具有 mode-seeking(模式追逐)特性,学生分布会坍缩到教师分布的少数几个模式上,宏观表现就是过饱和、过平滑、真实感不足。雪上加霜的是,DMD 目标只在完整的 rollout 输出上评估,不直接约束每个中间转移,误差会沿着去噪步和后续 chunk 逐步累积。

方法:双重噪声掩码 rollout

Mask Forcing 的核心动作叫 Dual-Noise Masking Rollout:在蒸馏的 self-rollout 过程中,沿空间轴和时间轴做随机掩码,把部分 token 替换成噪声水平更低(更干净)的输入。这一扰动带来两重收益:一是强迫学生 rollout 去探索教师分布的更多区域,让 DMD 的学习信号不再局限于学生已覆盖的模式;二是干净 token 充当去噪引导,帮更噪的 token 做出更好的中间预测、缓解误差累积。论文说明该方法不引入真实视频监督、无额外后训练阶段、无额外网络前向,推理保持不变,可插入 chunk-wise 与 frame-wise 两类现有蒸馏管线。

结果:动态度的剧烈分化值得细看

在三个 AR 蒸馏 baseline(Self Forcing、Causal Forcing、LongLive)上,加 Mask Forcing 后视觉质量与指令遵循一致提升:chunk-wise 设定下 Causal Forcing 的 HPSv3 从 9.37 涨到 10.17(+0.80),LongLive 的 Instruct. 分从 42.48 到 42.65;frame-wise 设定下 LongLive 的动态度从 25 跳到 76(+51)。但方向有分化:LongLive 在 chunk-wise 下动态度从 76 掉到 69(−7),frame-wise 下 Causal Forcing 从 28 跳到 52。消融给出的默认操作点:掩码比例 α=0.2、时间步窗口 Δ=250、per-frame + per-chunk 掩码方案。

开源与适用性

推理代码与 checkpoint 已在 GitHub 开源(Apache-2.0,基于 Wan2.1-T2V-1.3B 基座,52 星),训练代码标注"即将放出"。机构署名 HKUST(GZ)/HKUST、LightSpeed、UCSD、CUHK(SZ)、NUS。

所以呢

蒸馏的本质是让一个便宜的学生去逼近昂贵的教师,而反向 KL 的模式追逐意味着学生会"偷懒"地只学教师最显眼的几个招式。Mask Forcing 的启示在于:修训练动力学不一定需要更多数据或更大模型,给 rollout 加一点结构化的噪声,让学生的探索轨迹散得更开,反而更接近教师分布的全貌。这个"加噪修复坍缩"的思路,和 LLM 侧 RL/蒸馏常见的熵坍缩问题同构——下次看到蒸馏模型输出千篇一律时,值得先查损失函数是不是 mode-seeking 的。

参考:arXiv:2609.09123 · github.com/delaprada/Mask-Forcing · alicezrzhao.github.io/mask_forcing/