Back to blog

Self Forcing: Bridging the Train-Test Gap in Autoregressive Video Diffusion

自强制训练范式解决自回归视频扩散模型的暴露偏差问题,实现单GPU 17FPS实时视频生成

一、论文概述

项目内容
标题Self Forcing: Bridging the Train-Test Gap in Autoregressive Video Diffusion
作者Xun Huang, Zhengqi Li, Guande He, Mingyuan Zhou, Eli Shechtman
机构Adobe Research、德克萨斯大学奥斯汀分校
论文arXiv:2506.08009
主页self-forcing.github.io
硬件单卡NVIDIA H100(推理)、64×H100(训练)
领域视频生成、自回归扩散模型

二、核心思想

问题定义

训练范式对比

Figure 1: AR视频扩散模型的三种训练范式对比

自回归视频扩散模型存在**暴露偏差(Exposure Bias)**问题:

训练范式上下文来源问题
Teacher Forcing (TF)干净的真实帧推理时从未见过自己的错误输出
Diffusion Forcing (DF)带噪声的真实帧仍然存在暴露偏差和误差累积
Self Forcing (本文)自生成的帧训练与推理分布一致

核心问题:模型训练时使用真实帧作为上下文,但推理时必须依赖自己不完美的预测,导致误差累积。

解决方案概述

Self Forcing在训练时执行自回归自展开(self-rollout),使训练过程镜像推理过程:

  1. 自回归自展开:训练时基于自生成帧去噪下一帧
  2. 整体分布匹配损失:视频级损失函数评估整个生成序列
  3. 随机梯度截断:平衡计算成本和性能
  4. 滚动KV缓存:高效生成任意长度视频

三、技术架构

整体框架

注意力掩码

Figure 2: 三种方法的注意力掩码配置

Self Forcing的核心创新:

组件功能效果
Self-Rollout训练时自回归生成消除暴露偏差
Holistic Loss视频级分布匹配整体质量优化
Stochastic Gradient Truncation随机选择梯度计算步骤内存高效训练
Rolling KV Cache固定大小缓存+淘汰机制O(TL)复杂度

核心公式

自回归分解

p(x1:N)=∏i=1Np(xi∣x<i)p(x^{1:N}) = \prod_{i=1}^{N} p(x^i | x^{<i})

前向扩散过程

xtii=Ψ(xi,ϵi,ti)=αtixi+σtiϵix_{t^i}^i = \Psi(x^i, \epsilon^i, t^i) = \alpha_{t^i} x^i + \sigma_{t^i} \epsilon^i

其中 ϵi∼N(0,I)\epsilon^i \sim \mathcal{N}(0, I),ti∈[0,1000]t^i \in [0, 1000]

标准帧级去噪损失(TF/DF)

LθDM=Exi,ti,ϵi[wti∥ϵθi−ϵi∥22]\mathcal{L}^{DM}_\theta = \mathbb{E}_{x^i, t^i, \epsilon^i} \left[ w_{t^i} \|\epsilon^i_\theta - \epsilon^i\|^2_2 \right]

其中 ϵθi:=Gθ(xtii,ti,c)\epsilon^i_\theta := G_\theta(x_{t^i}^i, t^i, c)

Few-step扩散模型分布

pθ(xi∣x<i)=fθ,t1∘fθ,t2∘⋯∘fθ,tT(xtTi)p_\theta(x^i | x^{<i}) = f_{\theta,t_1} \circ f_{\theta,t_2} \circ \cdots \circ f_{\theta,t_T}(x^i_{t_T})

其中: fθ,tj(xtji)=Ψ(Gθ(xtji,tj,x<i),ϵtj−1,tj−1)f_{\theta,t_j}(x_{t_j}^i) = \Psi(G_\theta(x^i_{t_j}, t_j, x^{<i}), \epsilon_{t_{j-1}}, t_{j-1})

且 xtTi∼N(0,I)x^i_{t_T} \sim \mathcal{N}(0, I)

整体分布匹配目标

D(pdata(x1:N)∥pθ(x1:N))\mathcal{D}(p_{data}(x^{1:N}) \| p_\theta(x^{1:N}))

关键区别:Self Forcing匹配整个视频序列的整体分布,而TF/DF执行帧级分布匹配。

噪声分布匹配

p⋅,t(xt1:N)=∫qt∣0(xt1:N∣x1:N)p⋅(x1:N)dx1:Np_{\cdot,t}(x^{1:N}_t) = \int q_{t|0}(x^{1:N}_t | x^{1:N}) p_\cdot(x^{1:N}) dx^{1:N}

DMD损失(反向KL散度)

Et[DKL(pθ,t∥pdata,t)]\mathbb{E}_t \left[ D_{KL}(p_{\theta,t} \| p_{data,t}) \right]

SiD损失(Fisher散度)

Et,pθ,t[∥∇log⁡pθ,t−∇log⁡pdata,t∥2]\mathbb{E}_{t, p_{\theta,t}} \left[ \|\nabla \log p_{\theta,t} - \nabla \log p_{data,t}\|^2 \right]

GAN损失(Jensen-Shannon散度)

通过生成器和判别器的极小极大博弈近似JS散度。

复杂度对比

方法视频外推复杂度
双向模型(无KV缓存)O(TL2)O(TL^2)
先前因果模型(重计算KV)O(L2+TL)O(L^2 + TL)
Self Forcing(滚动KV缓存)O(TL)O(TL)

随机梯度截断

关键创新:使顺序训练在内存上可行

  1. 采样随机步骤 s∼Uniform(1,...,T)s \sim \text{Uniform}(1, ..., T)
  2. 仅在步骤 ss(每帧的最后去噪步骤)启用梯度计算
  3. 之前的步骤无梯度运行

效果:保持训练效率的同时,让模型从自己的预测中学习。

滚动KV缓存

外推效率

Figure 3: 视频外推的效率对比

机制:

  • 维护固定大小KV缓存,存储最近L帧
  • 缓存满时,淘汰最旧条目再添加新条目
  • 支持无限帧生成,复杂度 O(TL)O(TL)

问题:朴素实现会导致闪烁伪影(首帧潜在帧统计特性不同)

解决:训练时限制注意力窗口,使模型在去噪最后chunk时不能attend到第一个chunk

四、核心创新

创新点说明效果
Self Forcing训练范式训练时自回归自展开消除暴露偏差
整体分布匹配损失视频级而非帧级损失整体质量优化
随机梯度截断随机选择梯度计算步骤内存高效训练
滚动KV缓存固定缓存+淘汰机制O(TL)复杂度
局部注意力训练限制注意力窗口消除外推伪影
范式转换并行预训练+顺序后训练类似RL的训练范式

与CausVid的关键区别:

  • CausVid使用DF训练,但推理时用自回归条件——训练分布与推理分布不匹配
  • Self Forcing在训练时执行实际的自回归展开,确保训练分布=推理分布

五、实验结果

实验设置

配置详情
基础模型Wan2.1-T2V-1.3B(Flow Matching模型)
视频规格5秒,16 FPS,832×480
扩散步数4步
AR变体帧级(1帧/次)、chunk级(3帧/次)
评估VBench(16个指标)、用户偏好研究
硬件单卡H100(推理)、64×H100(训练)

性能对比

VBench分数

Figure 8: VBench 16个维度的分数可视化

Table 1: 与基线模型对比

模型参数分辨率吞吐量(FPS)延迟(s)总分质量分语义分
扩散模型
LTX-Video1.9B768×5128.9813.580.0082.3070.79
Wan2.11.3B832×4800.7810384.2685.3080.09
Chunk级AR模型
SkyReels-V21.3B960×5400.4911282.6784.7074.53
MAGI-14.5B832×4800.1928279.1882.0467.74
CausVid*1.3B832×48017.00.6981.2084.0569.80
Self Forcing (chunk级)1.3B832×48017.00.6984.3185.0781.28
帧级AR模型
NOVA0.6B768×4800.884.180.1280.3979.05
Pyramid Flow2B640×3846.72.581.7284.7469.62
Self Forcing (帧级)1.3B832×4808.90.4584.2685.2580.30

*CausVid使用相同的基础模型(Wan-1.3B)

关键结果:

  • 最高VBench分数:84.31(chunk级),84.26(帧级)
  • 实时生成:17 FPS,0.69秒延迟(chunk级)
  • 最低延迟:8.9 FPS,0.45秒(帧级)
  • vs Wan2.1基础模型:快约150倍(0.69s vs 103s),质量相当
  • vs SkyReels-V2:快约162倍(0.69s vs 112s),质量更优
  • vs MAGI-1:快约409倍(0.69s vs 282s),质量显著更优

用户偏好研究

用户研究

Figure 4: 用户偏好研究结果

Self Forcing在人类偏好评估中超越所有基线。

消融实验

Table 2: 训练范式消融

Chunk级AR:

训练范式总分质量分语义分
Diffusion Forcing (DF) [50×2步]82.9583.6680.09
Teacher Forcing (TF) [50×2步]83.5884.3480.52
DF + DMD [4步]82.7683.4979.85
TF + DMD [4步]82.3282.7380.67
Self Forcing + DMD [4步]84.3185.0781.28
Self Forcing + SiD [4步]84.0785.5278.24
Self Forcing + GAN [4步]83.8885.0679.16

帧级AR:

训练范式总分质量分语义分
Diffusion Forcing (DF) [50×2步]77.2479.7267.33
Teacher Forcing (TF) [50×2步]80.3481.3476.34
DF + DMD [4步]80.5681.0278.71
TF + DMD [4步]78.1279.6272.11
Self Forcing + DMD [4步]84.2685.2580.30
Self Forcing + SiD [4步]83.5484.7178.86
Self Forcing + GAN [4步]83.2784.5778.08

关键发现:

  • Self Forcing在所有分布匹配目标下均稳健工作
  • 基线从chunk级切换到帧级时质量显著下降(误差累积)
  • Self Forcing在两种设置下保持一致性能
  • CausVid(DF+DMD)因误差累积导致饱和度随时间增加

训练效率

训练效率

Figure 6: 训练效率对比

  • Self Forcing在64×H100上约1.5小时收敛(使用DMD)
  • 每次迭代训练时间与TF和DF相当
  • 相同wall-clock训练预算下,质量优于TF和DF
  • 效率原因:
    • 顺序展开仍并行处理每帧/chunk内的所有token
    • TF/DF需要特殊注意力掩码,有计算开销
    • Self Forcing使用全注意力+FlashAttention-3优化

滚动KV缓存结果

外推对比

Figure 7: 视频外推的定性对比

方法10秒视频FPS伪影
重计算KV缓存4.6无
朴素滚动KV缓存高严重
Self Forcing + 滚动KV缓存训练16.1缓解

定性对比

生成质量对比(Self Forcing vs Wan2.1, SkyReels-V2, CausVid):

  • Self Forcing生成更清晰、更连贯的视频
  • CausVid存在饱和度随时间增加的问题
  • Self Forcing在长时间生成中保持稳定质量

六、相关工作对比

方法方案Self Forcing解决的局限
Teacher Forcing干净真实帧训练暴露偏差:从未见过自己的错误
Diffusion Forcing噪声真实帧训练仍有暴露偏差和误差累积
CausVidDF + DMD训练分布≠推理分布,DMD匹配错误分布
Rolling Diffusion渐进噪声调度不严格遵循AR链式法则
GANs生成器训练/推理一致无法直接应用于扩散模型
Professor ForcingRNN时代的暴露偏差解决方案Self Forcing将其适配到视频扩散领域

与CausVid的关键区别:

  • CausVid用DF训练,但推理用自回归条件
  • DMD损失匹配的是DF生成的分布,而非推理时的分布
  • Self Forcing在训练时执行实际自回归展开,确保分布一致

七、总结

核心贡献

  1. Self Forcing训练范式:首个在训练时执行自回归自展开的视频扩散方法
  2. 暴露偏差解决:强制模型在训练时遇到并学习自己的预测错误
  3. 整体分布匹配损失:视频级而非帧级的分布匹配
  4. 随机梯度截断:使顺序训练在内存上可行
  5. 滚动KV缓存:O(TL)复杂度的无限视频生成
  6. 局部注意力训练:消除外推伪影
  7. 实时流式视频生成:单GPU 17 FPS,亚秒延迟
  8. 范式转换:并行预训练+顺序后训练(类似RL)

性能指标

指标数值
吞吐量(chunk级)17.0 FPS
延迟(chunk级)0.69秒
吞吐量(帧级)8.9 FPS
延迟(帧级)0.45秒
VBench总分84.31(最高)
质量分数85.07(超越基础模型)
语义分数81.28(最高)
训练时间1.5小时(64×H100)
速度提升150-409倍

技术影响

  • 首次证明自回归视频扩散可以实时生成且质量不妥协
  • 揭示了并行训练的根本局限:训练/推理分布不匹配
  • 提出新的训练范式:并行预训练+顺序后训练
  • 为交互式视频生成(游戏、机器人)开辟道路

局限性

  • 生成远超训练上下文长度的视频时质量下降
  • 梯度截断可能限制长程依赖学习
  • 未来可探索状态空间模型等循环架构

八、关键图片索引

图片说明文件名
Figure 1训练范式对比figure1-training-paradigms.png
Figure 2注意力掩码配置figure2-attention-masks.png
Figure 3外推效率对比figure3-extrapolation-efficiency.png
Figure 4用户偏好研究figure4-user-study.png
Figure 6训练效率对比figure6-training-efficiency.png
Figure 7外推定性对比figure7-extrapolation-comparison.png
Figure 8VBench分数可视化figure8-vbench-scores.png

九、参考资源