Not All Tokens Need 40 Steps: Heterogeneous Step Allocation in Diffusion Transformers for Efficient Video Generation
本文介绍了无需训练的异构步数分配(HSA)推理算法,该算法通过一种新颖的键值缓存同步机制和缓存的欧拉更新,在保持全局上下文与质量的同时,将较少的去噪步数动态分配给低速度令牌,从而加速用于视频生成的扩散变换器。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象你正在执导一部规模宏大、预算高昂的电影。在这部电影中,每一个角色、每一棵背景树、甚至地板上的每一粒尘埃,都是演员。在标准的扩散 Transformer(即生成视频的 AI 模型)中,导演对待所有这些“演员”的方式完全相同。
如果剧本要求进行 40 轮排练(去噪步骤)以确保场景完美,导演就会强迫背景墙壁排练 40 次,静止的树木排练 40 次,跑过屏幕的英雄也排练 40 次。
问题出在哪里?墙壁和树木几乎不动。它们不需要 40 次排练;5 次就足够了。但 AI 却浪费大量时间和能量让它们照样排练,而那位(快速移动且形态变化的)英雄也获得了同样的 40 轮。这就像给一位超级巨星演员和一个纸板人偶支付完全相同的小时工资,以换取完全相同的工作量。
解决方案:异构步数分配(HSA)
本文作者 Ernie Chu 和 Vishal Patel 提出了一种更聪明的片场运作方式,称为异构步数分配(HSA)。
将 HSA 想象成一位聪明的导演,他观察演员并说道:
- “你,背景墙壁?你既无聊又静止。你只需要5 次排练。”
- “你,奔跑的英雄?你动态且复杂。你需要全部40 次排练。”
- “你,摇曳的树木?你需要20 次排练。”
这节省了海量时间,因为 AI 不再将能量浪费在无聊的部分上。
他们解决的两个棘手问题
你可能会想:“好吧,但如果墙壁在 5 轮后停止排练,它怎么知道第 40 轮时英雄在做什么?它们需要互相看见,才能保持在同一场景中。”
本文提出了两个巧妙的技巧来解决这个问题:
1. “幽灵记忆”技巧(KV 缓存同步)
在 AI 中,演员需要“看见”彼此以保持同步(这称为注意力)。通常,如果一个演员停止排练,它就会从房间中消失,其他演员就看不见它了。
- 解决方案:AI 保留墙壁和树木的“幽灵记忆”(缓存)。即使它们不再主动排练,它们的“幽灵”仍留在房间里。活跃的演员(英雄)仍然可以观察不活跃演员的“幽灵”,从而知道它们的位置。
- 结果:英雄可以高强度排练,同时确切知道墙壁的位置,而墙壁实际上无需进行任何工作。
2. “时间旅行”技巧(缓存欧拉更新)
当墙壁休息时,它的位置会发生什么变化?它只是冻结不动吗?
- 解决方案:AI 记住墙壁上次移动的时间以及它的移动速度。它使用一个简单的数学公式,将墙壁的位置“快进”到被跳过的时间段。这就像在说:“墙壁上次每秒移动 1 英寸;我只需计算出它现在的位置,而无需让它实际移动。”
- 结果:墙壁在后台瞬间完成更新,AI 无需为其运行复杂的模拟。
结果:更快、更便宜、效果一样好
研究人员在强大的视频生成 AI 模型(如 Wan-2 和 LTX-2)上测试了这种方法。以下是他们的发现:
- 速度:他们可以将制作视频的时间缩短50% 甚至 75%(即仅需原始时间的 25%)。
- 质量:即使削减了这么多时间,视频看起来与慢速、全速生成的版本几乎完全相同。“英雄”依然清晰锐利,“墙壁”依然坚实稳固。
- 对比:之前的方法试图通过一次性为所有人跳过整轮排练来加速。当尝试过快时,这些方法会导致视频崩溃(就像建筑物倒塌一样)。HSA 保持了视频的稳定性,因为它只跳过了那些不需要工作的部分。
一句话总结
这篇论文的核心在于不要以同样的方式对待每一个像素。通过认识到视频的某些部分是无聊且静止的,而另一些部分则是激动人心且动态变化的,AI 可以停止在无聊的部分上浪费时间。它利用“幽灵记忆”和“数学捷径”来保持一切同步,使我们能够在极短的时间内生成高质量的视频。
这就好比一家工厂:一种做法是用相同的精度加工汽车上的每一颗螺丝;另一种做法是将 90% 的时间花在引擎上,而仅用 10% 的时间处理固定座椅套的螺丝。汽车依然完美运行,但建造速度快得多。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。