Cross-Attention Makes Inference Cumbersome in Text-to-Image Diffusion Models
本研究探讨了文本条件扩散模型中交叉注意在推理过程中的作用。我们发现 交叉注意输出经过几个推理步骤后会收敛到一个固定点 。收敛的时间点自然将整个推理过程分为两个阶段:
- 初始语义规划阶段: 在此阶段,模型依赖于交叉关注规划面向文本的视觉语义,以及随后的
- 保真度改进阶: 在此阶段,模型尝试从先前规划的语义生成图像。
作者发现在保真度改进阶段忽略文本条件不仅降低了计算复杂度,而且保持了模型的性能。这产生了一种简单且无需训练的方法,称为TGATE,用于高效生成,它在交叉注意力输出收敛时缓存它,并在剩余的推理步骤中保持固定。我们对MS-COCO验证集的实证研究证实了其有效性。

1. Introduction
一些研究强调了交叉注意对空间控制的重要性(Prompt-to-Prompt, Atten-and-Excite, Boxdiff),但很少(如果有的话)从去噪过程中的时间角度研究其作用。
在这里,我们提出了一个新的问题:“在文本到图像扩散模型的推理过程中,交叉注意力对每一步都是必要的吗?”
为此,我们研究了在每个推理步骤中交叉关注对生成图像质量的影响。我们的发现突出了两个反直觉的观点:
-
在最初的几个步骤中,交叉注意输出收敛到一个固定点。(收敛时间点将扩散模型去噪过程分为两个阶段:)
- 初始阶段,模型依靠交叉注意规划面向文本的视觉语义, 我们将其表示为 语义规划阶段
- 后续阶段,模型学习从先前的语义规划中生成图像,我们称之为保真度提升阶段。
-
交叉注意在保真度提高阶段是多余的。
- 在语义规划阶段,交叉注意对产生有意义的语义起着至关重要的作用。然而,在后期阶段,交叉注意收敛,对生成过程的影响较小。
- 事实上,在保真度提高阶段绕过交叉注意可以在保持图像生成质量的同时潜在地减少计算成本。
因为交叉注意中的缩放点积是一个二次复杂度的运算。随着现代模型中分辨率和令牌长度的不断增加,交叉注意不可避免地会导致昂贵的计算,成为移动设备等应用程序的重要延迟来源。
这一发现促使我们重新评估交叉注意的作用,并启发我们设计一种简单、有效、无需训练的方法,即暂时控制交叉注意(temporally gating the cross-attention (TGATE)
),以提高效率并保持现成扩散模型的生成质量。
💡 需要注意的是:
- TGATE不会导致性能下降,**因为交叉注意的结果是聚合和冗余的。**事实上,观察到在基线上的初始化距离(FID)略有改善。
- TGATE可以在每张图像上减少65T多次累积操作(Multiple-Accumulate Operations,MACs),并在保真度提高阶段减小0.5B个参数,与基线模型(SDXL)相比,在没有训练成本的情况下,延迟减少了约50%。
2. Temporal Analysis of Cross-Attention
2.1 Cross-Attention.
UNet 中的交叉注意数学定义如下:
C c t = Softmax ( Q z t ⋅ K c d ) ⋅ V c \mathbf{C}_c^t=\text{Softmax}(\frac{Q_z^t\cdot K_c}{\sqrt{d}})\cdot V_c Cct=Softmax(dQzt⋅Kc)⋅Vc
其中, Q z t Q_z^t Qzt 是 z t z_t zt 的投影, K c K_c Kc 和 V c V_c Vc