Adobe推出Self Forcing算法,一块4090即可实现实时视频生成

Adobe推出Self Forcing算法,利用单块4090 GPU即可实现实时视频生成,为直播、游戏等交互式应用开辟新前景,延迟低于1秒。

原文标题:一块4090搞定实时视频生成!Adobe黑科技来了

原文作者:数据派THU

冷月清谈:

Adobe联合德克萨斯大学奥斯汀分校的研究者,提出名为 Self Forcing 的新算法,旨在解决自回归视频生成中的暴露偏差问题。该方法通过在训练期间显式地展开自回归生成过程,每一帧的生成都以先前自生成的帧为条件,而不是依赖于真实的帧,从而弥合训练与测试分布之间的差距,减轻暴露偏差并减少误差的累积。

Self Forcing 的核心在于动态条件生成机制和训练阶段 KV 缓存创新。动态条件生成结合了过去时间步已生成的清晰帧和当前时间步的噪声帧,通过迭代去噪完成生成;KV 缓存机制则提前到训练阶段使用,配合梯度截断、动态步数采样和梯度流隔离等策略,解决了计算代价过高的问题。

研究者还提出了一种滚动 KV 缓存机制,可以实现无限长视频生成且无需重新计算 KV 缓存。实验结果表明,采用 Self Forcing 算法的模型在 VBench 评估和人类偏好度测试中均超越其他基线模型,能在单块 H100 GPU 上实现 17 帧 / 秒的实时吞吐量和亚秒级首帧延迟,单块 RTX 4090 在优化后约为 10 帧每秒,为真正的交互式视频生成用例打开了大门。

怜星夜思:

1、Self Forcing 算法在哪些具体的实时交互应用场景中最有潜力?它的实际应用会给这些场景带来哪些变革?
2、文章中提到的滚动 KV 缓存机制是如何在保证效率的同时,实现无限长视频生成的?它在实际应用中可能会遇到哪些挑战?
3、Self Forcing 算法相比于传统的视频生成模型,在训练和推理过程中有哪些创新之处?这些创新对最终的视频生成质量和效率产生了什么影响?

原文内容

来源:机器之心

本文共3100字,建议阅读10分钟
FiLA旨在让 MLLM 在处理高分辨率图像时,既能看到细节,又能把握全局,有效缓解“切块”带来的碎片化问题。


游戏直播等实时渲染门槛要被击穿了?Adobe 的一项新研究带来新的可能。


近年来,视频合成技术已经取得了显著突破。其中,基于双向注意力机制的扩散 Transformer(DiT)可以生成具有复杂时序动态的逼真内容,但其非因果性设计导致无法满足实时流媒体等场景需求。


相比之下,另一类自回归(AR)模型虽然具有天然时序因果性优势,却因依赖有损向量量化技术而难以达到顶尖画质。


当前,融合两者优势的「教师强制」(Teacher Forcing,TF)和扩散强制( Diffusion Forcing ,DF)方法仍存在误差累积和曝光偏差等核心问题:前者因训练与推理的条件分布差异导致质量衰减,后者虽引入噪声上下文却牺牲了时序一致性。


这些局限性深刻制约着视频生成模型在实时交互应用中的性能边界。近日,Adobe 联合联合德克萨斯大学奥斯汀分校的研究者,在一项新研究中提出了名为 Self Forcing 的新颖算法,旨在解决自回归视频生成中的暴露偏差问题。


该方法受到早期 RNN 时代序列建模技术的启发,通过在训练期间显式地展开自回归生成过程,来弥合训练与测试分布之间的差距。具体而言,每一帧的生成都以先前自生成的帧为条件,而不是依赖于真实的帧。



  • 论文标题:Self Forcing: Bridging the Train-Test Gap in Autoregressive Video Diffusion 

  • 论文地址:https://self-forcing.github.io/static/self_forcing.pdf

  • 项目主页:https://self-forcing.github.io/


这种机制使得模型能够运用整体分布匹配损失函数(holistic distribution-matching losses)对完整的生成视频序列进行监督。通过迫使模型在训练中面对并从其自身的预测错误中学习,Self Forcing 算法能有效减轻暴露偏差并减少误差的累积。


尽管由于 Self Forcing 的序列特性会阻碍并行训练,乍看之下似乎在计算上代价高昂,但该研究证明,它可以高效地作为训练后阶段的一种算法来实现,此时模型在该阶段并不需要大量的梯度更新即可收敛。


通过采用少量步数的扩散主干网络以及精心设计的梯度截断策略,Self Forcing 算法的效率出乎意料地优于其他并行策略,在相同的实际训练时间内实现了更优的性能。此外,该研究还引入了一种滚动 KV 缓存机制,进一步提升了视频外推的效率。


该模型能够在单个 H100 GPU 上以 17 FPS 的帧率实现实时视频生成,延迟低于一秒,同时在生成质量上与近期较慢的双向和自回归视频扩散模型相比具有竞争力或更优。


这些进步为真正的交互式视频生成用例 —— 如直播、游戏和世界模拟 —— 打开了大门,在这些场景中,延迟预算以毫秒而非分钟为单位进行衡量。


研究者表示,采用 Self Forcing 的模型可以生成 480p 的准高清视频,首帧延迟约为 0.8 秒。在持续生成速率方面,单块 H100 GPU 约为 17 帧每秒,单块 RTX 4090 在优化后约为 10 帧每秒。目前可以生成基础的 5 秒视频以及外推延展后更长的 10 秒视频。


我们来看一些动态展示视频:


图片

Prompt:这是一个奇幻剧风格的电影场景,描绘了一个人走过一片宁静的田野,到处都是漂浮的灯笼。每走一步,灯笼就会亮起来,散发出温暖、飘渺的光芒。这个人穿着飘逸的东方传统服装,动作优雅,表情安详而又略带沉思。背景是宁静的夜空,点缀着几颗星星和一轮新月,营造出梦幻般的氛围。相机的角度从背后,从中镜头的角度捕捉人物,突出他们的自然动作和发光的灯。


图片

Prompt:一个老人穿着飘逸的绿色连衣裙,戴着一顶宽边太阳帽,在令人惊叹的日落中悠闲地漫步在南极洲冰冷的地形上。他饱经风霜的脸和慈祥的眼睛映照出夕阳的暖色调,夕阳投下长长的影子,使大地沐浴在金色的光芒中。这个男人的姿势直立,自信,双手放在背后。背景是崎岖的冰层和遥远的山脉,天空被涂成橙色、粉红色和紫色。这张照片有一种怀旧和梦幻的感觉,捕捉到了极地的宁静之美。


图片

Prompt:灾难电影风格的戏剧性和动态场景,描绘了一场强大的海啸席卷保加利亚的一条狭窄小巷。河水汹涌而混乱,海浪猛烈地撞击着两岸的墙壁和建筑物。这条小巷两旁是饱经风吹雨打的老房子,它们的外墙部分被淹没和破碎。镜头角度较低,捕捉到海啸向前涌动的全部力量,营造出一种紧迫感和危机感。可以看到人们疯狂地奔跑,加剧了混乱。背景以遥远的地平线为特征,暗示着广阔的世界。


Self Forcing

利用整体后训练弥合训练 - 测试差距


Self Forcing 的核心思想是:在训练阶段就采用与推理时相同的自回归展开方式生成视频。具体实现包含两个关键技术突破:


一是,动态条件生成机制。


研究者采样生成视频批次

时,每一帧 x^i 的生成过程都会动态结合两类条件输入,即过去时间步已生成的清晰帧和当前时间步的噪声帧,并通过迭代去噪完成生成。


二是,训练阶段 KV 缓存创新。


如下图 2 (c) 所示,与传统自回归模型仅在推理时使用 KV 缓存不同,本文方法创造性地将 KV 缓存机制提前到训练阶段使用。


不过,若采用标准的多步扩散模型来实现 Self Forcing 技术,其计算代价将难以承受,因为该方法需要沿着冗长的去噪链展开计算图并执行反向传播。为此,研究者选择使用少步扩散模型 G_θ 来近似自回归分解中的每个条件分布图片



然而,即便采用少步扩散模型,若直接对整个自回归扩散过程执行反向传播,仍会导致内存消耗过大。为解决这一难题,研究者提出以下创新策略:


首先进行梯度截断。仅对每帧的最终去噪步骤进行反向传播,将梯度计算范围限制在关键环节。


然后是动态步数采样。突破推理阶段固定使用 T 步去噪的约束,在训练时对每个样本序列随机采样 1 至 T 步去噪步骤,并以第 s 步的去噪结果作为最终输出。这种随机采样机制确保所有中间去噪步骤都能获得监督信号。


最后是梯度流隔离。通过限制梯度向 KV 缓存嵌入的传播,在训练过程中切断当前帧与先前帧的梯度关联。


完整训练流程详见算法 1。



利用滚动 KV 缓存的长视频生成


受大语言模型研究的启发,研究者为自回归扩散模型提出了一种滚动 KV 缓存机制,可以实现无限长视频生成且无需重新计算 KV 缓存。


如图 3 (c) 所示,研究者维护固定大小的 KV 缓存区,仅保留最近 L 帧的 token 嵌入。当生成新帧时,首先检测缓存是否已满,若达到容量上限则移除最旧的缓存条目后再存入新数据。在保持 O (TL) 时间复杂度的同时,确保生成每一新帧时都能获得足够的上下文信息。


这种设计既实现了无限帧生成能力,又维持了稳定的计算效率。



算法 2 详细描述了基于滚动 KV 缓存的自回归长视频生成算法。



实验及结果


研究者采用 Wan2.1-T2V-1.3B 模型实现 Self Forcing,这是一个基于流匹配的模型,可以生成时长 5 秒、16 帧、分辨率为 832×480 的视频。


配合 VBench 和用户偏好研究,研究者同步评估了生成视频的视觉质量与语义对齐度。同时,严格测试了 Self Forcing 在实时应用中的效率表现。在单个 NVIDIA H100 GPU 上,研究者综合评估了吞吐量和首帧延迟两项指标,全面衡量实时生成能力。


研究者将采用 Self Forcing 算法的模型与规模相近的开源视频生成模型进行比较,包括两个扩散模型(作为初始化权重的 Wan2.1-1.3B 和以高效著称的 LTXVideo)以及多个自回归模型(Pyramid Flow、NOVA、SkyReels-V2、MAGI-1 和同样基于 Wan-1.3B 初始化的 CausVid)。


如下表 1 所示,研究者提出的分块自回归方案在 VBench 评估中全面超越所有基线模型,同时在人类偏好度测试中取得最优成绩。该方案还能实现 17 帧 / 秒的实时吞吐量,配合亚秒级首帧延迟,足以支持直播等实时视频流应用场景。



下图 4 展示了用户调研结果,将分块 Self Forcing 模型与多个重要基线模型进行了比较。


结果显示,本文方法在所有对比中持续获得最高偏好度,包括作为模型初始化基础的 Wan2.1 多步扩散模型。其中,帧级变体版本在保持强劲生成质量的同时,实现了最低延迟(0.45 秒),特别适合对延迟敏感的实时应用场景。这些实验结果均采用 DMD 损失函数作为优化目标。



采用 SiD 和 GAN 目标函数训练的模型在消融实验中表现出了类似的性能。如下图 5 所示,CausVid 存在误差累积问题,导致饱和度随时间推移不断增加。本文方法在画质上略优于 Wan2.1 或 SkyReels-V2,同时延迟时间缩短约 150 倍。



编辑:王菁



关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。




新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU



我觉得Self Forcing的梯度截断和动态步数采样也很关键。梯度截断避免了内存爆炸,动态步数采样则让模型能够更好地学习到不同层次的特征。这些技巧让模型在保证速度的同时,还能生成高质量的视频。

个人觉得Self Forcing在游戏直播和虚拟现实领域大有可为。想象一下,游戏主播可以实时生成高质量的游戏画面,或者在VR环境中,用户可以体验到前所未有的真实感和互动性,感觉元宇宙要加速发展了!

滚动 KV 缓存就像一个先进先出的队列,保证最新的信息总能被模型利用,同时又避免了无限增长的计算量。不过,如果缓存大小设置不合理,可能会丢失重要的历史信息,影响生成质量,所以这个 L 的取值很重要。

Self Forcing最大的创新之处在于弥合了训练和测试之间的差距。通过在训练时就让模型接触到自己生成的错误,从而提高了模型的鲁棒性。感觉就像让模型在考试前先做几套模拟卷,提前适应考场环境。

这个问题问到了点子上。从理论上看,滚动 KV 缓存的时间复杂度是 O(TL),在 T 和 L 都比较大的情况下,计算量依然不小。此外,如何设计更有效的缓存更新策略,让模型更好地利用历史信息,也是一个值得研究的方向。

Self Forcing在训练和推理上的创新确实带来了显著的效率提升。但从另一个角度看,这些创新也引入了一些新的超参数,比如梯度截断的阈值、动态步数采样的范围等等。如何选择合适的超参数,也是一个需要仔细考虑的问题。

除了游戏和VR,像远程医疗、在线教育这些需要实时反馈的应用场景也很适合Self Forcing。医生可以更清晰地看到病人的实时影像,老师可以更生动地展示教学内容,互动性会大大增强。

这个问题很有深度!从技术角度看,Self Forcing降低了对硬件的要求,让更多人可以参与到高质量视频内容的创作中。从社会影响来看,这可能会 democratize 内容生产,让更多创意成为可能。不过,伦理问题也需要考虑,比如如何防止deepfake被滥用。

我来补充一个点,滚动KV缓存虽然解决了长序列问题,但在处理突发事件或者场景变化时可能不够灵活。比如,视频中突然出现了一个新的物体,模型可能需要一段时间才能适应。