(NIPS-2025)自强制:弥合自回归视频扩散中的训练–测试差距
自强制:弥合自回归视频扩散中的训练–测试差距
paper title:Self Forcing: Bridging the Train-Test Gap in
Autoregressive Video Diffusion
paper是Adobe发表在NIPS 2025的工作
Code:链接
Abstract
我们提出了 Self Forcing,一种用于自回归视频扩散模型的全新训练范式。该方法针对长期存在的曝光偏置问题:模型在训练时依赖真实上下文,而在推理阶段却必须基于自身并不完美的生成结果来生成序列。不同于以往在真实上下文帧条件下对未来帧进行去噪的方法,Self Forcing 在训练过程中通过带有键值(KV)缓存的自回归展开,使每一帧的生成都条件于此前由模型自身生成的输出。该策略使得可以在视频层面通过整体损失进行监督,直接评估完整生成序列的质量,而不再仅依赖传统的逐帧目标函数。为保证训练效率,我们采用了少步扩散模型,并结合随机梯度截断策略,在计算开销与性能之间取得有效平衡。此外,我们还引入了一种滚动式 KV 缓存机制,实现了高效的自回归视频外推。大量实验表明,我们的方法在单张 GPU 上即可实现亚秒级延迟的实时流式视频生成,同时在生成质量上能够达到甚至超过显著更慢且非因果的扩散模型。
1 Introduction
近年来,视频合成领域取得了巨大的进展,最先进的系统已经能够生成具有复杂时间动态的高度逼真内容 [6]。然而,这些成果通常依赖于扩散 Transformer(DiT)[62, 83],其通过双向注意力同时对所有帧进行去噪。这种设计允许未来影响过去,并且要求一次性生成完整视频,从根本上限制了其在实时流式应用中的适用性,因为在生成当前帧时未来信息是未知的。相比之下,自回归(AR)模型 [17, 27, 38, 94, 104] 按时间顺序逐帧生成视频,这一范式天然契合时间媒体的因果结构。这种方法不仅显著降低了生成视频的观看延迟,还解锁了众多应用场景,包括实时交互式内容创作 [9, 46]、游戏模拟 [11, 61, 78, 102] 以及机器人学习 [42, 96, 101]。然而,由于依赖有损的向量量化技术 [79],AR 模型在视觉保真度上往往难以达到最先进视频扩散模型的水平。
为了兼具两者的优势,近年来出现了两种为视频扩散模型引入 AR 生成能力的技术:Teacher Forcing(TF)[16, 28, 33, 106] 和 Diffusion Forcing(DF)[8, 10, 20, 69, 73, 100]。Teacher Forcing 是序列建模中一种成熟的范式,其训练模型在真实标注序列条件下预测下一个标记。应用于视频扩散时,TF 通过使用干净的真实上下文帧对每一帧进行去噪(图 1(a)),这一策略通常被称为下一帧预测。相比之下,Diffusion Forcing 在训练时为每一帧独立采样噪声水平,使模型基于带噪的上下文帧对当前帧进行去噪(图 1(b))。这保证了训练分布覆盖了自回归推理场景,即上下文帧是干净的而当前帧是带噪的。

图 1:自回归视频扩散模型的训练范式。(a) 在 Teacher Forcing 中,模型被训练为在前序干净、真实的上下文帧条件下,对每一帧进行去噪。(b) 在 Diffusion Forcing 中,模型被训练为在具有不同噪声水平的前序上下文帧条件下,对每一帧进行去噪。(a) 和 (b) 所生成的输出均不属于模型在推理阶段实际生成的分布。© 我们提出的 Self Forcing 方法在训练过程中执行自回归的自展开,根据由模型自身生成的先前上下文帧来对下一帧进行去噪。在最终生成的视频上计算分布匹配损失(例如 SiD、DMD、GAN),以使生成视频的分布与真实视频的分布对齐。我们的训练范式高度贴合推理过程,从而弥合了训练–测试阶段的分布差距。
然而,采用 TF 或 DF 训练的模型在自回归生成过程中往往会遭遇误差累积问题,导致视频质量随时间推移而退化 [84, 100, 105]。这一问题在更广泛的意义上被称为曝光偏置 [60, 71]:模型在训练时仅接触真实上下文,而在推理时却必须依赖自身并不完美的预测,从而产生分布不匹配,并在生成过程中不断放大误差。尽管一些方法试图在推理阶段通过引入带噪上下文帧来缓解视频扩散模型中的这一问题 [8, 11, 105],但这种设计会牺牲时间一致性,增加 KV 缓存设计的复杂度,提高生成延迟,并且并未从根本上解决曝光偏置问题。
在本文中,我们提出了 Self Forcing(SF),一种用于解决自回归视频生成中曝光偏置问题的新算法。该方法受到早期 RNN 时代序列建模技术 [40, 65, 103] 的启发,通过在训练过程中显式展开自回归生成过程,使每一帧的生成都条件于先前由模型自身生成的帧,而非真实帧,从而弥合训练与测试阶段的分布差距。这使得可以在完整生成的视频序列上施加整体性的分布匹配损失 [18, 98, 99]。通过迫使模型直面并学习自身预测误差,Self Forcing 有效缓解了曝光偏置并减少了误差累积。
尽管由于其顺序生成特性无法并行训练,Self Forcing 乍看之下计算开销巨大,但我们表明它可以作为一种后训练阶段的算法高效实现,此时模型无需大量梯度更新即可收敛。通过采用少步扩散骨干网络以及精心设计的梯度截断策略,Self Forcing 在相同的实际训练时间内反而比其他并行策略更加高效,并取得了更优的性能。此外,我们还引入了一种滚动式 KV 缓存机制,进一步提升了视频外推的效率。
大量实验表明,我们的模型在单张 H100 GPU 上即可实现 17 FPS、亚秒级延迟的实时视频生成,同时在生成质量上与近期缓慢的双向和自回归视频扩散模型相比具有竞争力甚至更优。这些进展为真正的交互式视频生成应用打开了大门——如直播、游戏和世界模拟——在这些场景中,延迟预算以毫秒而非分钟来衡量。
2 Related Work
用于视频生成的 GAN。早期的视频生成方法主要依赖生成对抗网络(GAN)[18],要么使用卷积网络并行生成完整视频 [5, 68, 82],要么采用循环结构按序生成视频帧 [14, 44, 49, 77, 81]。近年来,GAN 也被用于蒸馏视频扩散模型 [47, 56, 91, 108]。由于 GAN 中的生成器在训练和推理阶段遵循相同的生成过程,其天然避免了曝光偏置问题。我们的工作从这一 GAN 的基本原理中获得启发,通过直接优化生成器输出分布与目标分布之间的对齐来进行训练。
用于视频生成的自回归 / 扩散模型。现代视频生成模型由于更强的尺度扩展能力,已在很大程度上转向扩散模型或自回归模型。视频扩散模型通常采用双向注意力机制,同时对所有视频帧进行去噪 [3, 4, 6, 13, 23–26, 39, 64, 80, 83, 97]。相比之下,自回归模型以预测下一个标记为训练目标,并在推理阶段按顺序生成时空标记 [7, 38, 66, 86, 88, 94]。
自回归–扩散混合模型。最近,将自回归与扩散框架相结合的混合模型作为视频生成 [8, 16, 20, 22, 28, 33, 45, 50, 52, 89, 100, 106, 107] 以及其他序列领域 [1, 12, 43, 53, 59, 90, 110] 中一种有前景的生成建模方向受到关注。这类方法通常依赖较长的迭代预测链(在时间上是自回归的,在空间上是逐步去噪的),从而可能导致显著的误差累积。我们的工作通过在训练时让模型条件于自身预测,并教会其纠正自身错误,从而应对这一问题。
滚动扩散及其变体。另一类工作 [35, 67, 69, 76, 93, 105] 使用渐进式噪声调度来训练视频扩散模型,其中噪声水平从较早的帧逐渐增加到较晚的帧。尽管这些方法支持以较少误差累积的方式进行顺序长视频生成,并且有时也被称为自回归方法,但它们并未严格遵循自回归的链式法则分解。因此,在交互式应用中会表现出显著的延迟,因为在当前帧呈现给用户之前,未来帧已被部分预生成。这种过早的承诺限制了实时用户注入控制的影响,使得紧随其后的帧响应能力受限。
CausVid。我们的工作与 CausVid [100] 关系最为密切。CausVid 使用 DF 方案和分布匹配蒸馏(DMD)来训练少步自回归扩散模型。然而,CausVid 存在一个关键缺陷:其训练输出(通过 DF 生成)并不来自模型在推理阶段实际产生的分布,因此 DMD 损失实际上匹配的是错误的分布。我们明确指出了这一问题,并提出了一种能够匹配真实模型分布的解决方案。
3 Self Forcing: Briding Train-Test Gap via Holistic Post-Training
我们首先在第 3.1 节中给出自回归视频扩散模型的形式化定义,并介绍标准的训练方法。在第 3.2 节中,我们介绍 Self Forcing 训练算法的核心内容,并说明如何利用少步扩散模型对其进行高效实现。在第 3.3 节中,我们讨论多种整体性的、视频层面的分布匹配训练目标。最后,在第 3.4 节中,我们引入一种滚动式键值缓存机制,使得任意长度视频的高效生成成为可能。
3.1 Preliminaries: Autoregressive Video Diffusion Models
自回归视频扩散模型是一种混合生成模型,它将自回归的链式法则分解与去噪扩散模型相结合,用于视频生成。具体而言,给定由 N N N 帧视频组成的序列 x 1 : N = ( x 1 , x 2 , … , x N ) x^{1:N} = (x^1, x^2, \ldots, x^N) x1:N=(x1,x2,…,xN),其联合分布可以通过链式法则分解为条件分布的乘积:
p ( x 1 : N ) = ∏ i = 1 N p ( x i ∣ x < i ) . p(x^{1:N}) = \prod_{i=1}^N p(x^i \mid x^{< i}) . p(x1:N)=i=1∏Np(xi∣x<i).
随后,每一个条件分布 p ( x i ∣ x < i ) p(x^i \mid x^{< i}) p(xi∣x<i) 都通过一个扩散过程进行建模,其中当前帧是在已生成帧的条件下,通过逐步对初始高斯噪声进行去噪而生成的。该形式同时结合了自回归模型在建模序列依赖关系方面的优势,以及扩散模型在连续值视觉信号高质量生成方面的能力。在实际应用中,我们也可以选择一次生成一段帧块,而不是单帧生成 [69, 100]。不过为了符号表示的简洁性,在本节中我们仍将每个帧块记作一帧。
现有的大多数自回归视频扩散模型通常在 Teacher Forcing(TF)或 Diffusion Forcing(DF)的范式下,采用逐帧去噪损失进行训练。具体来说,每一帧 x i x^i xi 都会通过前向扩散过程 q t i ∣ 0 ( x t i i ∣ x 0 i ) q_{t^i \mid 0}(x_{t^i}^i \mid x_0^i) qti∣0(xtii∣x0i) 被扰动,使得
x t i i = Ψ ( x i , ϵ i , t i ) = α t i x i + σ t i ϵ i , x_{t^i}^i = \Psi(x^i, \epsilon^i, t^i) = \alpha_{t^i} x^i + \sigma_{t^i} \epsilon^i , xtii=Ψ(xi,ϵi,ti)=αtixi+σtiϵi,
其中 α t i , σ t i \alpha_{t^i}, \sigma_{t^i} αti,σti 是在有限时间范围 t i ∈ [ 0 , 1000 ] t^i \in [0, 1000] ti∈[0,1000] 内预定义的噪声调度参数,且 ϵ i ∼ N ( 0 , I ) \epsilon^i \sim \mathcal{N}(0, I) ϵi∼N(0,I) 为高斯噪声。在 TF 中,时间步 t i t^i ti 通常在所有帧之间共享;而在 DF 中,则为每一帧独立采样时间步。生成模型通过对前向过程的时间反演来学习,其中每一步去噪可以通过神经网络预测加入到该帧中的噪声来实现,即
ϵ ^ θ i : = G θ ( x t i i , t i , c ) , \hat{\epsilon}_\theta^i := G_\theta(x_{t^i}^i, t^i, c) , ϵ^θi:=Gθ(xtii,ti,c),
该网络在上下文 c c c 的条件下进行预测。在 TF 中,上下文由干净的真实帧 x < i x^{< i} x<i 构成;而在 DF 中,上下文则由带噪的上下文帧 x t j j , j < i x_{t_j}^j,\, j< i xtjj,j<i 构成。模型通过最小化预测噪声与真实噪声之间的逐帧均方误差(MSE)进行训练:
L θ D M = E x i , t i , ϵ i [ w t i ∥ ϵ ^ θ i − ϵ i ∥ 2 2 ] , \mathcal{L}_\theta^{\mathrm{DM}} = \mathbb{E}_{x^i, t^i, \epsilon^i} \left[ w_{t^i} \left\| \hat{\epsilon}_\theta^i - \epsilon^i \right\|_2^2 \right] , LθDM=Exi,ti,ϵi[wti
ϵ^θi−ϵi
22],
其中 w t i w_{t^i} wti 为加权函数。
我们关注的是一种基于 Transformer 的扩散模型架构 [62],该模型带有文本条件(为清晰起见在公式中省略),并在由因果 3D 变分自编码器(VAE)[37] 编码得到的压缩潜空间中运行。自回归的链式法则分解通过因果注意力机制来实现。图 2(a) 和 (b) 展示了 Teacher Forcing 与 Diffusion Forcing 方法中注意力掩码的配置方式。对于 Teacher Forcing,我们描述了一种高效的变体,其通过块稀疏注意力掩码并行处理所有帧,而非在每次训练迭代中只对单帧进行去噪 [33]。这种设计已被用于基于 MAR 的自回归视频生成方法 [43, 111],并同时应用于其他自回归视频扩散模型中 [106, 107]。

图 2:注意力掩码配置。Teacher Forcing(a)和 Diffusion Forcing(b)均在整个视频上并行训练模型,并通过定制的注意力掩码来强制因果依赖关系。相比之下,我们的 Self-Forcing 训练方式(c)通过使用 KV 缓存来复现自回归(AR)推理过程,而不依赖任何特殊的注意力掩码。为便于说明,我们展示了一个视频包含 3 帧、且每一帧由 2 个标记组成的示例场景。
3.2 Autoregressive Diffusion Post-Training via Self-Rollout
Self Forcing 的核心思想是在训练过程中遵循推理阶段的生成流程,通过自回归的自展开来生成视频。具体而言,我们从模型分布中采样一批视频 { x θ 1 : N } ∼ p θ ( x 1 : N ) = ∏ i = 1 N p θ ( x i ∣ x < i ) \{x_\theta^{1:N}\} \sim p_\theta(x^{1:N}) = \prod_{i=1}^N p_\theta(x^i \mid x^{< i}) {xθ1:N}∼pθ(x1:N)=∏i=1Npθ(xi∣x<i),其中每一帧 x i x^i xi 都是在自生成输出的条件下,通过迭代去噪得到的,这些自生成输出既包括过去的干净上下文帧,也包括当前时间步的带噪帧。不同于以往大多数仅在推理阶段使用 KV 缓存的自回归模型,我们的 Self Forcing 方法创新性地在训练阶段引入了 KV 缓存,如图 2© 所示。
然而,若直接使用标准的多步扩散模型来实现 Self Forcing,在计算上将是不可承受的,因为这需要对冗长的去噪链进行展开并反向传播。因此,我们选择使用少步扩散模型 G θ G_\theta Gθ 来近似自回归分解中每一个条件分布 p θ ( x i ∣ x < i ) p_\theta(x^i \mid x^{< i}) pθ(xi∣x<i)。考虑时间步集合 { t 0 = 0 , t 1 , … , t T = 1000 } \{t_0 = 0, t_1, \ldots, t_T = 1000\} {t0=0,t1,…,tT=1000},这是区间 [ 0 , … , 1000 ] [0, \ldots, 1000] [0,…,1000] 的一个子序列。在每一个去噪步骤 t j t_j tj 和帧索引 i i i 处,模型在先前干净帧 x < i x^{< i} x<i 的条件下,对中间的带噪帧 x t j i x_{t_j}^i xtji 进行去噪。随后,模型通过前向过程 Ψ \Psi Ψ 向去噪后的帧中重新注入较低噪声水平的高斯噪声,从而得到作为下一去噪步骤输入的带噪帧 x t j − 1 i x_{t_{j-1}}^i xtj−1i,这一过程遵循少步扩散模型中的标准做法 [74, 98]。模型分布 p θ ( x i ∣ x < i ) p_\theta(x^i \mid x^{< i}) pθ(xi∣x<i) 被隐式地定义为
f θ , t 1 ∘ f θ , t 2 ∘ ⋯ ∘ f θ , t T ( x t T i ) , f_{\theta,t_1} \circ f_{\theta,t_2} \circ \cdots \circ f_{\theta,t_T}(x_{t_T}^i), fθ,t1∘fθ,t2∘⋯∘fθ,tT(xtTi),
其中
f θ , t j ( x t j i ) = Ψ ( G θ ( x t j i , t j , x < i ) , ϵ t j − 1 , t j − 1 ) , f_{\theta,t_j}(x_{t_j}^i) = \Psi\bigl(G_\theta(x_{t_j}^i, t_j, x^{< i}), \epsilon_{t_{j-1}}, t_{j-1}\bigr), fθ,tj(xtji)=Ψ(Gθ(xtji,tj,x<i),ϵtj−1,tj−1),
并且 x t T i ∼ N ( 0 , I ) x_{t_T}^i \sim \mathcal{N}(0, I) xtTi∼N(0,I)。
即便采用少步模型,若对整个自回归扩散过程进行朴素的反向传播,仍会导致过高的内存消耗。为此,我们提出了一种梯度截断策略,将反向传播限制在每一帧的最后一个去噪步骤上。此外,与推理阶段始终使用 T T T 个去噪步骤不同,我们在每次训练迭代中为每个样本序列从区间 [ 1 , T ] [1, T] [1,T] 中随机采样一个去噪步数 s s s,并将第 s s s 步的去噪结果作为最终输出。这种随机采样策略确保了所有中间去噪步骤都能够获得监督信号。我们还通过将梯度流限制在 KV 缓存嵌入中,在训练过程中切断来自先前帧到当前帧的梯度传播。关于完整训练流程的描述,请参见算法 1。

3.3 Holistic Distribution Matching Loss
自回归自展开直接从推理阶段的模型分布中生成样本,使我们能够施加整体性的、视频层面的损失,从而将生成视频的分布 p θ ( x 1 : N ) p_\theta(x^{1:N}) pθ(x1:N) 与真实视频的分布 p data ( x 1 : N ) p_{\text{data}}(x^{1:N}) pdata(x1:N) 对齐。为了利用预训练的扩散模型并提升训练稳定性 [32],我们向两种分布中注入噪声,并匹配 p θ , t ( x t 1 : N ) p_{\theta,t}(x_t^{1:N}) pθ,t(xt1:N) 与 p data , t ( x t 1 : N ) p_{\text{data},t}(x_t^{1:N}) pdata,t(xt1:N),其中二者分别表示在施加前向扩散过程之后得到的分布:
p ⋅ , t ( x t 1 : N ) = ∫ q t ∣ 0 ( x t 1 : N ∣ x 1 : N ) p ⋅ ( x 1 : N ) d x 1 : N . p_{\cdot,t}(x_t^{1:N}) = \int q_{t\mid 0}(x_t^{1:N}\mid x^{1:N})\, p_{\cdot}(x^{1:N})\, \mathrm{d}x^{1:N}. p⋅,t(xt1:N)=∫qt∣0(xt1:N∣x1:N)p⋅(x1:N)dx1:N.
我们的框架在一般意义上适用于多种散度度量与分布匹配范式,本文中我们考虑了三种具体方法:
• 分布匹配蒸馏(Distribution Matching Distillation,DMD)[98, 99]:该方法通过利用分布之间的 score 差异来指导梯度更新,从而最小化反向 Kullback–Leibler 散度 E t [ D K L ( p θ , t ∥ p data , t ) ] \mathbb{E}_t\!\left[D_{\mathrm{KL}}\!\left(p_{\theta,t}\,\|\,p_{\text{data},t}\right)\right] Et[DKL(pθ,t∥pdata,t)]。
• Score Identity Distillation(SiD)[112, 113]:该方法通过 Fisher 散度进行分布匹配,即
E t , p θ , t [ ∥ ∇ log p θ , t − ∇ log p data , t ∥ 2 ] . \mathbb{E}_{t,p_{\theta,t}}\!\left[\left\|\nabla \log p_{\theta,t}-\nabla \log p_{\text{data},t}\right\|^2\right]. Et,pθ,t[∥∇logpθ,t−∇logpdata,t∥2].
• 生成对抗网络(GANs)[18]:该方法通过生成器(即我们的自回归扩散模型)与判别器之间的极小极大博弈,近似最小化 Jensen–Shannon 散度,判别器用于区分真实视频与生成视频。
需要强调的是,我们的训练目标在整体层面上将完整视频序列的分布与数据分布进行匹配,即
D ( p data ( x 1 : N ) ∥ p θ ( x 1 : N ) ) . D\!\left(p_{\text{data}}(x^{1:N})\,\|\,p_\theta(x^{1:N})\right). D(pdata(x1:N)∥pθ(x1:N)).
相比之下,TF/DF 可以被理解为执行逐帧分布匹配:
E { x < i } ∼ p data D K L ( p data ( x i ∣ x < i ) ∥ p θ ( x i ∣ x < i ) ) , \mathbb{E}_{\{x^{< i}\}\sim p_{\text{data}}} D_{\mathrm{KL}}\!\left(p_{\text{data}}(x^i\mid x^{< i})\,\|\,p_\theta(x^i\mid x^{< i})\right), E{x<i}∼pdataDKL(pdata(xi∣x<i)∥pθ(xi∣x<i)),
其中 DF 还会从带噪的数据分布 { x < i } ∼ p ~ data \{x^{< i}\}\sim \tilde{p}_{\text{data}} {x<i}∼p~data 中采样上下文帧。我们的建模方式从根本上改变了训练动态——上下文帧 { x < i } \{x^{< i}\} {x<i} 并非来自数据分布(无论是干净的还是带噪的),而是采样自模型自身的分布 p θ p_\theta pθ。这种训练分布与推理分布之间的一致性有效缓解了曝光偏置问题,并迫使模型从自身的不完美预测中学习,从而增强其对误差累积的鲁棒性。
尽管上述三种目标均曾用于扩散模型的时间步蒸馏场景中,但我们的核心动机与蒸馏方法有着本质区别:我们旨在通过分布匹配来提升自回归视频生成的质量,以解决曝光偏置问题,而非仅仅加速采样过程。正因如此,其他一些流行的蒸馏方法 [74] 并不适用于我们的框架,因为它们仅关注时间步的缩减,而未直接对齐生成器的输出分布。尽管 CausVid [100] 同样使用 DMD 来匹配生成视频的分布,但其在训练过程中所优化的分布(基于 Diffusion Forcing 的输出)偏离了真实的推理阶段分布,从而显著削弱了其有效性。
3.4 Long Video Generation with Rolling KV Cache
自回归模型相较于标准视频扩散模型的一个关键优势在于其外推能力,原则上可以通过滑动窗口推理生成无限长的视频。尽管使用 Diffusion Forcing 训练的双向注意力模型 [10, 73] 也能够以自回归方式生成视频,但它们不支持 KV 缓存,因此在生成每一个新帧时都需要完整地重新计算注意力矩阵。这会导致过高的计算复杂度 O ( T L 2 ) O(TL^2) O(TL2)(其中 T T T 表示去噪步数, L L L 表示窗口大小),如图 3(a) 所示。
相比之下,采用因果注意力的模型可以利用 KV 缓存来提升效率。然而,现有实现 [69, 100] 仍然需要在相邻滑动窗口之间,对重叠帧重新计算 KV 缓存,如图 3(b) 所示。这在采用密集滑动窗口时会带来 O ( L 2 + T L ) O(L^2 + TL) O(L2+TL) 的计算复杂度。因此,先前方法通常采用较大的步幅并尽量减少窗口重叠以降低计算开销,但这会牺牲时间一致性,因为每个窗口起始处的帧只能依赖显著减少的历史上下文。
受大型语言模型相关研究 [92] 的启发,我们为自回归扩散模型提出了一种滚动式 KV 缓存机制,使其无需重新计算 KV 缓存即可生成无限长的视频。如图 3© 所示,我们维护一个固定大小的 KV 缓存,用于存储最近 L L L 帧中标记的 KV 嵌入。在生成新帧时,我们首先检查 KV 缓存是否已满;若已满,则在加入新的 KV 条目之前移除最旧的条目。该方法在保持生成每一帧时具有足够上下文长度的同时,实现了 O ( T L ) O(TL) O(TL) 的时间复杂度,从而支持无穷帧的连续生成。算法 2 给出了基于滚动 KV 缓存的自回归长视频生成算法的详细描述。
然而,该机制的朴素实现会由于分布不匹配而导致严重的闪烁伪影。具体而言,第一个潜在帧在统计性质上与其他帧不同:它仅对第一张图像进行编码,而未执行时间压缩。模型在训练过程中始终将第一帧视为图像潜变量,因此当在滚动 KV 缓存场景中该图像潜变量不再可见时,模型无法良好泛化。我们的解决方案简单而有效:在训练过程中,我们限制注意力窗口,使模型在对最后一个块进行去噪时无法关注第一个块,从而模拟长视频生成过程中所遇到的条件。

图 3:视频外推的效率对比。在通过滑动窗口推理进行视频外推时,(a) 使用 TF/DF 训练的双向扩散模型 [10, 73] 不支持 KV 缓存。(b) 先前的因果扩散模型 [69, 100] 在窗口移动时需要重新计算 KV。© 我们的方法无需重新计算 KV,从而实现了更高效的外推。
4 Experiments
实现。我们在 Wan2.1-T2V-1.3B [83] 上实现了 Self Forcing,该模型是一个基于 Flow Matching [48] 的模型,可生成分辨率为 832 × 480、帧率为 16 FPS、时长为 5s 的视频。遵循 CausVid 的初始化协议 [100],我们首先在从基础模型中采样得到的 16k 个 ODE 解对上,使用因果注意力掩码对基础模型进行微调。对于 ODE 初始化和 Self Forcing 训练,我们都从经过筛选并由 LLM 扩展后的 VidProM [85] 版本中采样文本提示。我们使用 4 步扩散,并实现了逐帧和逐块两种自回归变体,其中后者一次生成一个由 3 个潜在帧组成的块。我们采用 R3GAN [29] 目标函数,它由带有 R1 + R2 正则化 [58] 的相对配对 GAN 损失 [34] 构成。我们使用 14B 基础模型生成 70k 个视频,作为训练 GAN [70] 以及微调多步 TF/DF AR 扩散基线的数据集。值得注意的是,我们算法的 DMD/SiD 实现仍然是无数据的,能够在不使用任何视频训练数据的情况下,将一个预训练的视频扩散模型转换为自回归模型。更多实现细节见附录 A。
评估指标。我们采用 VBench [31] 和用户偏好研究来评估视觉质量和语义对齐。我们还严格评估了我们方法在实时应用中的效率。尽管一些近期工作仅基于吞吐量声称具备“实时”视频生成能力 [24, 109],我们认为真正的实时性能既需要足够的吞吐量(超过视频播放速率),也需要低于感知阈值的更低延迟,而这一阈值可能依赖于具体应用 [41]。因此,我们同时评估吞吐量和首帧延迟,以对实时能力进行全面评估,所有速度测试均在单张 NVIDIA H100 GPU 上进行。
与现有基线的比较。我们将我们的模型与相关的、规模相近的开源视频生成模型进行比较。我们的比较对象包括两个扩散模型:Wan2.1-1.3B [83](我们的初始化权重)和 LTX-Video [24](以高效著称)。我们还与若干自回归模型进行比较,包括 Pyramid Flow [33]、NOVA [13]、SkyReels-V2 [10]、MAGI-1 [69] 和 CausVid [100](同样由 Wan-1.3B 初始化)。
如表 1 所示,我们的逐块自回归模型在所有对比模型中取得了最高的 VBench 分数,同时实现了实时吞吐量(17.0 FPS)和亚秒级延迟,这一延迟已足够低,可用于某些实时应用,例如实时视频流 [2]。图 4 展示了用户研究结果,将我们的逐块 Self Forcing 模型与若干重要基线进行了比较。我们的方法在所有备选方法中都持续更受偏好,包括作为我们模型初始化来源的多步扩散模型 Wan2.1。我们的逐帧变体在提供最低延迟(0.45s)的同时,仍保持了较强的生成质量,使其特别适合对延迟敏感的实时应用。这里的结果是使用 DMD 损失目标获得的;使用 SiD 和 GAN 目标训练的模型也能取得可比性能,具体见我们的消融研究。如图 5 所示,CausVid 存在误差累积问题,会导致饱和度随时间增加。我们的方法在视觉质量上略优于 Wan2.1/SkyReels-V2,同时在延迟上快约 150x。更多示例视频见项目网站(https://self-forcing.github.io/)。

表 1:与相关基线的比较。我们将 Self Forcing 与具有相似参数规模和分辨率的代表性开源视频生成模型进行比较。

图 4:用户偏好研究。Self Forcing 在人类偏好上优于所有基线。

图 5:定性比较。我们将 Self Forcing(我们的方法)生成的视频与 Wan2.1 [83]、SkyReels-V2 [10] 等方法生成的视频进行可视化对比。
消融研究。我们对 Self Forcing 与其他自回归扩散训练方法进行了受控比较。我们评估了:(1)使用去噪扩散损失训练的 AR Diffusion 模型,其训练时采用 Teacher Forcing 或 Diffusion Forcing;以及(2)使用 TF/DF 输入、但用分布匹配目标优化的少步 AR Diffusion 模型。后一种采用 DF 和 DMD 的配置,在我们的实现框架内本质上复现了 CausVid [100],从而能够在完全相同的训练条件下进行直接比较。
表 2 表明,Self Forcing 在多种分布匹配目标(DMD、SiD 和 GAN)下都表现稳健,并始终优于所有基线方法。相比之下,基线方法在从逐块 AR 切换到逐帧 AR 时,由于与 AR 展开步数增加相关的误差累积,表现出显著的质量下降,通常体现为逐渐过饱和或过锐化(类似于附录 B 图 5 中的 CausVid);而 Self Forcing 在两种设置下都保持了一致的性能,突出显示了其在解决曝光偏差方面的有效性。

表 2:消融研究。我们在逐块(左)和逐帧(右)自回归模型上,在统一的训练设置下,对不同训练范式和分布匹配目标进行了受控消融比较。Self Forcing 在各种不同的分布匹配目标下都表现良好,并始终优于其他替代训练方法。
滚动 KV cache。我们观察到,在滑动窗口移动时重新计算 KV cache(图 3(b))会在生成 10 秒视频时显著降低吞吐量(仅为 4.6 FPS)。虽然朴素的滚动 KV cache 能保持较高吞吐量,但它会引入严重的视觉伪影,这一点在附录 B 的示例中有所展示。通过训练模型在看不到初始图像潜变量的情况下生成帧,我们在保持高吞吐量(16.1 FPS)的同时,有效缓解了这些伪影。
训练效率。考虑到 Self Forcing 的顺序性与 Transformer 可并行化范式相矛盾,人们可能会预期 Self Forcing 的训练在计算上代价极高。令人惊讶的是,我们的实验表明,Self Forcing 实际上在训练效率上优于其他替代策略。如图 6(左)所示,Self Forcing 在每次迭代的训练时间上与 Teacher Forcing 和 Diffusion Forcing 相当。此外,图 6(右)表明,在相同的实际训练时间预算下,Self Forcing 相比这两种替代方法都能达到更优的质量。每个使用 DMD 的 Self Forcing 实验在 64 张 H100 GPU 上大约 1.5 小时即可收敛。
这一反直觉结果源于两个关键因素。首先,尽管 Self Forcing 采用顺序 rollout,但它仍然会在每个单独的帧/块内部并行处理所有 token,从而在训练期间保持较高的 GPU 利用率。其次,TF 和 DF 需要专门的注意力掩码模式来强制因果依赖,即使采用 FlexAttention [15] 这类专门实现,也会引入额外的计算开销。另一方面,Self Forcing 在训练期间始终使用全注意力,因此能够利用高度优化的注意力内核,例如 FlashAttention-3 [72]。

图 6:训练效率比较。左:不同逐块、少步自回归视频扩散训练算法的每次迭代时间(使用 DMD 作为分布匹配目标)。右:视频质量(VBench 分数)与实际训练时间之间的关系。
5 Discussion
在本节中,我们探讨结果的更广泛影响,讨论更多补充视角,并概述未来研究的潜在方向。
可并行训练范式的根本局限。可并行训练通过实现高效扩展,对 Transformer 的成功起到了关键作用。然而,这种并行性也引入了根本性限制。已有研究 [57] 表明,在序列状态跟踪问题中,并行架构在表达能力上天然受限。我们的工作进一步揭示了另一项关键限制:可并行训练范式会在训练分布与推理分布之间造成失配,从而导致误差随时间不断累积。我们主张一种“并行预训练 + 顺序后训练”的新范式,以结合两者之长。尽管这种范式转变在语言建模领域已通过强化学习 [21] 逐渐兴起,我们的工作代表了其在视频领域迈出的第一步。我们相信,我们的框架具有普适性,也可以应用到其他序列领域,尤其是数据为连续形式的场景。
AR、Diffusion 和 GAN 之间的相互关系。自回归模型、扩散模型和 GAN 传统上被视为生成建模中的不同范式。我们的工作强调了它们之间的互补性,并展示了如何将它们有效结合。具体来说,自回归模型和扩散模型为分布分解提供了互补的方式(链式法则 vs. 潜变量),二者可以以嵌套方式组合。GAN 的核心思想——通过从隐式生成器中采样,使隐式生成器的分布与目标分布相匹配——也可以用于训练一个由自回归-扩散分解驱动的生成器。
局限性与未来方向。尽管我们的方法能够在训练上下文长度内有效缓解误差累积,但当生成的视频长度显著超过训练中所见长度时,质量退化仍然可观察到。此外,我们采用的梯度截断策略虽然对内存效率是必要的,但也可能限制模型学习长程依赖的能力。未来工作可以探索更好的外推技术,以及诸如状态空间模型 [19, 63] 这类天然递归的架构,以更好地在内存效率和长上下文建模之间取得平衡。
A Implementation Details
我们的实现主要基于 Wan2.1 [83] 和 CausVid [100] 的开源代码。Diffusion Forcing 和 Teacher Forcing 基线中的注意力实现基于 FlexAttention [15],而 Self Forcing 中的注意力实现基于 FlashAttention-3 [72]。
噪声调度与模型参数化。遵循 Wan2.1 系列,我们采用 flow matching 框架 [48, 51],并使用时间步平移
t ′ ( k , t ) = k t / 1000 1 + ( k − 1 ) ( t / 1000 ) t'(k,t)=\frac{kt/1000}{1+(k-1)(t/1000)} t′(k,t)=1+(k−1)(t/1000)kt/1000
其中平移因子 k = 5 k=5 k=5。前向过程定义为
x t = t ′ 1000 x + 1 − t ′ 1000 ϵ , ϵ ∼ N ( 0 , I ) x_t=\frac{t'}{1000}x+\frac{1-t'}{1000}\epsilon,\ \epsilon\sim\mathcal{N}(0,I) xt=1000t′x+10001−t′ϵ, ϵ∼N(0,I)
其中 t ∈ [ 0 , 1000 ] t\in[0,1000] t∈[0,1000]。
数据预测模型定义为:
G θ ( x , t , c ) = c skip ⋅ ϵ − c out ⋅ v θ ( c in ⋅ x t , c noise ( t ′ ) , c ) . G_\theta(x,t,c)=c_{\text{skip}}\cdot \epsilon-c_{\text{out}}\cdot v_\theta(c_{\text{in}}\cdot x_t,c_{\text{noise}}(t'),c). Gθ(x,t,c)=cskip⋅ϵ−cout⋅vθ(cin⋅xt,cnoise(t′),c).
我们保持预条件系数与基础模型的配置一致,即 c skip = c in = c out = 1 c_{\text{skip}}=c_{\text{in}}=c_{\text{out}}=1 cskip=cin=cout=1,且 c noise ( t ) = t c_{\text{noise}}(t)=t cnoise(t)=t。我们的少步扩散过程采用均匀的 4 步调度
[ t 4 , t 3 , t 2 , t 1 ] = [ 1000 , 750 , 500 , 250 ] . [t_4,t_3,t_2,t_1]=[1000,750,500,250]. [t4,t3,t2,t1]=[1000,750,500,250].
提示预处理。我们使用 VidProM [85] 中的 VidProS 子集,其中包含大约 100 万条在语义上唯一的、由用户编写的文生视频提示词。我们过滤掉过短的提示词(少于 20 个字符)、包含命令行参数的提示词(例如,-ar 16:9),以及在任一标注类别上 NSFW 概率大于 0.01 的提示词(包括毒性、淫秽、身份攻击、侮辱、威胁和性露骨内容)。经过筛选后,最终保留大约 25 万条提示词。随后,我们使用 Qwen/Qwen2.5-7B-Instruct [95] 对这些提示词进行扩写,所用 system prompt(英文版)来自 Wan2.1 [83] 的开源实现。在 VBench 评测中,我们也类似地使用 Qwen/Qwen2.5-7B-Instruct 对测试提示词进行重写。我们注意到,Wan2.1 基础模型的 VBench 结果也是在提示词重写的条件下获得的;对于支持此类增强的模型,我们报告的基线结果也都采用了提示词重写。
训练细节。我们的大多数训练实验使用 64 张 NVIDIA GPU(每张 80GB 显存),每张 GPU 的 batch size 为 1。对于需要有效 batch size 大于 64 的配置,我们使用梯度累积。我们的 DMD 训练实验大约只需 1.5 小时即可收敛,而 SiD/GAN 训练在 64 张 H100 GPU 上需要 2–3 小时。我们使用基础模型的预训练权重来初始化 real score network 和 critic network。我们在表 3 中列出了其他所有训练配置,以及针对不同分布匹配目标所选择的 real score network 和 critic network。下文将进一步描述每种分布匹配目标的详细训练配置。
对于 DMD,反向 Kullback-Leibler 散度的梯度可写为 [54, 87, 99]:
∇ θ E t [ D K L ( p θ , t ∥ p d a t a , t ) ] = − E t , x ^ t ∼ q t ∣ 0 ( x ^ t ∣ x ^ ) , x ^ ∼ p θ ( x ^ ) [ ( s r e a l ( x ^ t , t ) − s f a k e ( x ^ t , t ) ) ∂ x ^ ∂ θ ] , \nabla_\theta \mathbb{E}_t\!\left[D_{\mathrm{KL}}(p_{\theta,t}\|p_{\mathrm{data},t})\right]= -\mathbb{E}_{t,\hat{x}_t\sim q_{t|0}(\hat{x}_t|\hat{x}),\,\hat{x}\sim p_\theta(\hat{x})} \left[ \left(s_{\mathrm{real}}(\hat{x}_t,t)-s_{\mathrm{fake}}(\hat{x}_t,t)\right)\frac{\partial \hat{x}}{\partial \theta} \right], ∇θEt[DKL(pθ,t∥pdata,t)]=−Et,x^t∼qt∣0(x^t∣x^),x^∼pθ(x^)[(sreal(x^t,t)−sfake(x^t,t))∂θ∂x^],
其中, s r e a l ( ⋅ , t ) s_{\mathrm{real}}(\cdot,t) sreal(⋅,t) 是 p d a t a , t p_{\mathrm{data},t} pdata,t 的 score function,由一个预训练扩散模型 f ϕ ( ⋅ , t ) f_\phi(\cdot,t) fϕ(⋅,t) 近似,也称为 real score network; s f a k e ( ⋅ , t ) s_{\mathrm{fake}}(\cdot,t) sfake(⋅,t) 是 p θ , t p_{\theta,t} pθ,t 的 score function,并通过 critic network f ψ ( ⋅ , t ) f_\psi(\cdot,t) fψ(⋅,t) 结合标准扩散损失进行学习。式 (2) 中的梯度等价于如下损失函数:
L D M D ( θ ) = E t , x ^ t , x ^ [ 1 2 ∥ x ^ − s g [ x ^ − ( f ψ ( x ^ t , t ) − f ϕ ( x ^ t , t ) ) ] ∥ 2 ] , \mathcal{L}_{\mathrm{DMD}}(\theta) =\mathbb{E}_{t,\hat{x}_t,\hat{x}} \left[ \frac{1}{2} \left\| \hat{x} -\mathrm{sg}\!\left[\hat{x}-\left(f_\psi(\hat{x}_t,t)-f_\phi(\hat{x}_t,t)\right)\right] \right\|^2 \right], LDMD(θ)=Et,x^t,x^[21∥x^−sg[x^−(fψ(x^t,t)−fϕ(x^t,t))]∥2],
其中 s g [ ⋅ ] \mathrm{sg}[\cdot] sg[⋅] 表示 stop gradient 算子。
与 DMD 的流程类似,SiD 损失定义为 [113]:
L S i D ( θ ) = E t , x ^ t , x ^ [ ( f ϕ ( x ^ t , t ) − f ψ ( x ^ t , t ) ) T ( f ψ ( x ^ t , t ) − x ^ ) + ( 1 − α ) ∥ f ϕ ( x ^ t , t ) − f ψ ( x ^ t , t ) ∥ 2 ] , \mathcal{L}_{\mathrm{SiD}}(\theta)= \mathbb{E}_{t,\hat{x}_t,\hat{x}} \left[ \left(f_\phi(\hat{x}_t,t)-f_\psi(\hat{x}_t,t)\right)^T\left(f_\psi(\hat{x}_t,t)-\hat{x}\right) + (1-\alpha)\left\|f_\phi(\hat{x}_t,t)-f_\psi(\hat{x}_t,t)\right\|^2 \right], LSiD(θ)=Et,x^t,x^[(fϕ(x^t,t)−fψ(x^t,t))T(fψ(x^t,t)−x^)+(1−α)∥fϕ(x^t,t)−fψ(x^t,t)∥2],
可以证明,当 α = 0.5 \alpha=0.5 α=0.5 时,该情形对应 Fisher 散度梯度
E t , p θ , t [ ∥ ∇ log p θ , t − ∇ log p d a t a , t ∥ 2 ] \mathbb{E}_{t,p_{\theta,t}}\left[\|\nabla\log p_{\theta,t}-\nabla\log p_{\mathrm{data},t}\|^2\right] Et,pθ,t[∥∇logpθ,t−∇logpdata,t∥2]
[30, 55]。经验上观察到,第二项往往会导致训练不稳定,因此通常采用 α = 1 \alpha=1 α=1 以获得更好的性能 [112, 113],本文也遵循这一设置。
对于 GAN 训练,我们在初始化后的 critic network 中添加了额外的 cross-attention 层和分类头。我们采用 relativistic loss [34],并按照 Seaweed-APT [47] 使用有限差分来近似正则项(R1 和 R2)。具体而言,我们对带噪的真实/伪造数据添加额外的小高斯噪声,并鼓励判别器输出与原始输出保持相似。最终训练目标定义为:
L r e g = 1 2 E t , x t , x ^ t , ϵ , ϵ ^ [ ∥ f ψ ( x t ) − f ψ ( x t + σ ⋅ ϵ ) ∥ 2 2 + ∥ f ψ ( x ^ t ) − f ψ ( x ^ t + σ ⋅ ϵ ^ ) ∥ 2 2 ] \mathcal{L}_{\mathrm{reg}}= \frac{1}{2}\mathbb{E}_{t,x_t,\hat{x}_t,\epsilon,\hat{\epsilon}} \left[ \|f_\psi(x_t)-f_\psi(x_t+\sigma\cdot\epsilon)\|_2^2 + \|f_\psi(\hat{x}_t)-f_\psi(\hat{x}_t+\sigma\cdot\hat{\epsilon})\|_2^2 \right] Lreg=21Et,xt,x^t,ϵ,ϵ^[∥fψ(xt)−fψ(xt+σ⋅ϵ)∥22+∥fψ(x^t)−fψ(x^t+σ⋅ϵ^)∥22]
L D ( ψ ) = − E t , x t , x ^ t [ log ( s i g m o i d ( f ψ ( x t ) − f ψ ( x ^ t ) ) ) ] + λ L r e g \mathcal{L}_D(\psi)= -\mathbb{E}_{t,x_t,\hat{x}_t} \left[ \log\left(\mathrm{sigmoid}\left(f_\psi(x_t)-f_\psi(\hat{x}_t)\right)\right) \right] + \lambda\mathcal{L}_{\mathrm{reg}} LD(ψ)=−Et,xt,x^t[log(sigmoid(fψ(xt)−fψ(x^t)))]+λLreg
L G ( θ ) = − E t , x t , x ^ t [ log ( s i g m o i d ( f ψ ( x ^ t ) − f ψ ( x t ) ) ) ] \mathcal{L}_G(\theta)= -\mathbb{E}_{t,x_t,\hat{x}_t} \left[ \log\left(\mathrm{sigmoid}\left(f_\psi(\hat{x}_t)-f_\psi(x_t)\right)\right) \right] LG(θ)=−Et,xt,x^t[log(sigmoid(fψ(x^t)−fψ(xt)))]
其中, x t ∼ p d a t a , t x_t\sim p_{\mathrm{data},t} xt∼pdata,t、 x ^ t ∼ p θ , t \hat{x}_t\sim p_{\theta,t} x^t∼pθ,t 分别表示带噪的真实数据和伪造数据, ϵ \epsilon ϵ 和 ϵ ^ \hat{\epsilon} ϵ^ 是从 N ( 0 , 1 ) \mathcal{N}(0,1) N(0,1) 采样的高斯噪声, f ψ f_\psi fψ 是 GAN 的 critic network(判别器)。在所有实验中,我们使用 λ = 30 \lambda=30 λ=30、 σ = 0.05 \sigma=0.05 σ=0.05。对于从第 s s s 步输出生成的视频(细节见算法 1),我们发现仅从 [ t s − 1 , t s ] [t_{s-1}, t_s] [ts−1,ts] 中采样 t t t 有助于稳定训练。我们还采用了较大的 batch size 768 以提升训练稳定性。

表 3:训练超参数的具体设置
B Importance of local attention training in rolling KV cache
我们对使用滚动 KV cache 技术进行视频外推的两种训练设置进行了定性消融。在朴素基线中,模型被训练为在去噪过程中,每个 chunk 都始终关注第一个 chunk。相比之下,我们提出的方法限制了注意力窗口,使模型在对最后一个 chunk 进行去噪时无法关注第一个 chunk。如图 7 所示,当视频外推超过训练上下文长度时,朴素基线会出现视觉伪影,而我们提出的方案能够缓解这一问题。

图 7:视频外推的定性比较。我们展示了朴素基线与我们提出的、基于滚动 KV cache 的视频外推技术之间的可视化对比。与我们采用局部注意力窗口训练的方法相比,朴素基线外推出的视频帧会出现严重的视觉伪影。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)