Back to blog

DiTFastAttn: Attention Compression for Diffusion Transformer Models

针对扩散 Transformer 的注意力压缩后训练方法,通过三种冗余消除技术实现高达 76% FLOPs 减少

DiTFastAttn: Attention Compression for Diffusion Transformer Models

一、论文概述

项目内容
标题DiTFastAttn: Attention Compression for Diffusion Transformer Models
作者Zhihang Yuan, Hanling Zhang, Pu Lu, Xuefei Ning, Linfeng Zhang, Tianchen Zhao, Shengen Yan, Guohao Dai, Yu Wang
机构Tsinghua University, Infinigence AI, Shanghai Jiao Tong University
论文https://arxiv.org/abs/2406.08552
代码未公开
发布2024-06-12 (v1), 2024-10-18 (v2)
许可未明确

二、核心思想

问题定义

扩散 Transformer (DiT) 在图像和视频生成方面表现出色,但由于自注意力算子的二次复杂度面临计算挑战。在高分辨率生成时,注意力计算成为主要瓶颈。

三种冗余识别

DiTFastAttn 识别出 DiT 推理过程中注意力计算的三种关键冗余:

  1. 空间冗余 (Spatial Redundancy):许多注意力头专注于局部信息,对远距离 token 的注意力值接近零
  2. 时间冗余 (Temporal Redundancy):相邻步骤之间的注意力输出具有高相似度
  3. 条件冗余 (Conditional Redundancy):条件推理和无条件推理之间表现出显著相似度(SSIM ≥ 0.95)

解决方案概述

DiTFastAttn 是一种后训练压缩方法,提出三种互补技术来消除上述冗余:

  1. Window Attention with Residual Sharing (WA-RS):用窗口注意力替代全注意力处理空间冗余
  2. Attention Sharing across Timesteps (AST):跨时间步共享注意力输出利用时间冗余
  3. Attention Sharing across CFG (ASC):跨 CFG 条件/无条件推理共享注意力利用条件冗余

三、技术架构

核心方法

1. Window Attention with Residual Sharing (WA-RS)

针对空间冗余:许多注意力头只关注局部区域,对远距离 token 的注意力接近零。

  • 窗口注意力 (Window Attention):将全注意力替换为窗口注意力,只计算局部窗口内的注意力
  • 残差共享 (Residual Sharing):直接丢弃窗口外的注意力计算会导致信息损失。WA-RS 通过缓存并共享窗口外的残差部分来弥补:
    • 计算全注意力与窗口注意力的差值作为残差
    • 在后续步骤中复用该残差,避免重复计算

2. Attention Sharing across Timesteps (AST)

针对时间冗余:相邻去噪步骤的注意力输出高度相似。

  • 观察:相邻步骤的注意力输出 SSIM 值很高
  • 方法:缓存前一步的注意力输出,当下一步的相似度超过阈值时直接复用
  • 适用层:主要用于中间层和后期层

3. Attention Sharing across CFG (ASC)

针对条件冗余:Classifier-Free Guidance (CFG) 中条件和无条件推理的注意力输出高度相似。

  • 观察:某些头和时间步的条件/无条件注意力输出 SSIM ≥ 0.95
  • 方法:先执行条件推理,缓存注意力输出;无条件推理时直接复用
  • 效果:减少 50% 的注意力计算(CFG 需要两次推理)

压缩计划搜索

自适应压缩策略:

不同模型和不同层的冗余模式不同,不存在通用的压缩策略。DiTFastAttn 通过搜索最优压缩计划:

  1. 采样校准:使用少量样本评估不同压缩配置
  2. 逐层决策:对每一层独立选择最优压缩技术(WA-RS/AST/ASC 或不压缩)
  3. 阈值优化:通过控制相似度阈值调节压缩比例

评估指标:使用注意力输出的相对误差作为压缩质量指标(而非 LPIPS 或 SSIM,因为计算速度更快)

四、核心创新

创新点说明理论/实验依据
三种冗余识别系统性识别空间、时间、条件三种冗余SSIM ≥ 0.95 的条件冗余,局部注意力模式的空间冗余
WA-RS 技术窗口注意力+残差共享,避免信息损失残差共享比直接窗口注意力质量更高
ASC 技术利用 CFG 的条件/无条件相似度50% FLOPs 减少(CFG 需要两次推理)
自适应压缩计划逐层搜索最优压缩配置不同模型冗余分布不同,需要定制化策略
后训练方法无需重新训练或微调即插即用,与量化等其他方法正交

五、实验结果

图像生成性能

DiT-XL-2 (512×512):

配置IS↑FID↓Attn FLOPs
Raw408.1625.43100%
D1412.2425.3285%
D2412.1824.6769%
D3411.7423.7659%
D4391.8021.5249%
D5370.0719.3241%

PixArt-Sigma-XL (1024×1024):

配置IS↑FID↓CLIP↑Attn FLOPs
Raw24.3355.6531.27100%
D124.2755.7331.2790%
D224.2555.6931.2674%
D324.1655.6131.2563%
D424.0755.3231.2452%

PixArt-Sigma-XL (2048×2048):

配置IS↑FID↓CLIP↑Attn FLOPs
Raw23.6751.8931.47100%
D322.9652.5431.3646%
D422.9551.7431.3936%

关键发现:

  • D1-D3 配置几乎匹配原始模型性能
  • 随着分辨率增加,DiTFastAttn 不仅实现更大压缩,还更好地保持生成性能
  • 高分辨率(2K)下可减少高达 76% 的注意力 FLOPs

注意力压缩效果

各技术独立效果:

模型序列长度技术Attn FLOPsAttn Latency
DiT-XL-2 (512)1024ASC50%59%
DiT-XL-2 (512)1024WA-RS77%85%
DiT-XL-2 (512)1024WA-RS+ASC38%51%
PixArt (1024)4096ASC50%54%
PixArt (1024)4096WA-RS51%54%
PixArt (1024)4096WA-RS+ASC26%31%
PixArt (2048)16384ASC50%52%
PixArt (2048)16384WA-RS33%35%
PixArt (2048)16384WA-RS+ASC16%19%

关键观察:

  • ASC 固定减少 50% FLOPs(CFG 需要两次推理)
  • WA-RS 的压缩效果随分辨率增加而提升(77% → 33%)
  • 两种技术正交,可同时使用

端到端加速

  • 高分辨率 (2K×2K):实现 1.8× 端到端加速
  • 注意力延迟:WA-RS+ASC 在 2K 分辨率下将注意力延迟降至 19%

视频生成

应用于 OpenSora V1.1 (240p, 16 frames):

  • D1-D6 配置的计算减少:7.63%, 19.50%, 30.16%, 37.66%, 40.52%
  • 视觉质量在低压缩配置下保持良好

消融实验

  • DiTFastAttn 组合方法优于任何单一方法
  • 不同时间步需要不同的压缩策略
  • 残差共享 (RS) 比直接窗口注意力质量更高
  • 压缩计划搜索对不同模型需要定制化

六、相关工作

方法类别代表方法与 DiTFastAttn 对比
量化Q-DiT, PTQD正交,可同时使用
调度器优化DPM-Solver, DDIM正交,不影响
特征缓存DeepCacheDiTFastAttn 关注注意力层
Token 合并ToMe不同维度的优化
稀疏注意力各种稀疏注意力方法DiTFastAttn 是后训练方法

七、总结

核心贡献

  1. 系统性冗余识别:识别 DiT 推理中的三种关键冗余(空间/时间/条件)
  2. 三种互补技术:WA-RS、AST、ASC 分别消除三种冗余
  3. 自适应压缩计划:逐层搜索最优压缩配置,适应不同模型
  4. 显著效果:减少高达 76% 注意力 FLOPs,高分辨率下 1.8× 端到端加速
  5. 后训练方法:无需重新训练,即插即用

技术影响

  • 实用性:后训练方法可直接应用于已部署的 DiT 模型
  • 正交性:与量化、调度器优化等方法正交,可组合使用
  • 可扩展性:在更高分辨率下效果更好

局限性

  • 代码未公开
  • 压缩计划搜索需要校准时间和计算
  • 极高压缩比下质量有一定下降
  • 主要在图像生成上验证,视频生成效果待进一步探索

八、参考资源

  • 论文: https://arxiv.org/abs/2406.08552
  • 相关工作:
    • DiT: Scalable Diffusion Models with Transformers
    • PixArt-Sigma: 弱到强扩散 Transformer
    • OpenSora: 开源视频生成
    • FlashAttention-2: 高效注意力实现