跳转至

CacheQuant: Comprehensively Accelerated Diffusion Models

会议: CVPR 2025
arXiv: 2503.01323
代码: 已开源(论文中提到)
领域: 扩散模型 / 模型压缩
关键词: 扩散模型加速, 模型缓存, 量化, 动态规划, 训练免费

一句话总结

提出 CacheQuant,一种无需训练的范式,通过联合优化模型缓存(temporal level)和量化(structural level)来全面加速扩散模型,在 Stable Diffusion 上实现 5.18× 加速和 4× 压缩,CLIP score 仅损失 0.02。

研究背景与动机

领域现状:扩散模型在图像生成领域取得了显著成果,但推理速度慢(数千次去噪迭代)和网络复杂(数十亿参数)严重阻碍了实际部署。即使在高性能 A6000 GPU 上,Stable Diffusion 单次推理也需要超过一分钟。

现有痛点:当前加速方法分别在两个层面独立优化——时间层面(如快速求解器、模型缓存)缩短去噪轨迹但无法简化网络,结构层面(如量化、剪枝)简化网络但需要昂贵的重训练。更关键的是,每个层面独立推向极限时(如更短的去噪路径或更少参数),性能会严重下降。

核心矛盾:缓存和量化两种优化并非完全正交。实验发现,独立优化后简单组合(LDM on ImageNet),量化和缓存分别只损失 0.76 和 4.71 FID,但简单组合后 FID 损失高达 11.99。原因是两者各自引入的误差会耦合并逐步累积——量化误差导致缓存去噪路径严重偏移,而缓存误差导致量化误差大量累积。

本文目标 如何在时间层面和结构层面联合优化扩散模型加速,同时控制耦合误差以保持生成质量。

切入角度:作者观察到缓存和量化之间存在协同关系——量化可以减少缓存增加的内存开销,缓存可以缓解时间冗余带来的量化困难。关键是需要联合优化来处理耦合误差。

核心 idea:通过动态规划选择最优缓存调度来最小化缓存+量化的联合误差,再通过解耦误差校正逐步消除耦合累积误差,实现无训练的全面加速。

方法详解

整体框架

CacheQuant 的输入是一个标准扩散模型(支持 UNet 和 DiT 框架),输出是同时具备模型缓存和低精度量化的加速模型。整个流程分两个阶段:(1)通过动态规划调度(DPS)确定最优缓存时间表,同时考虑缓存和量化的特性来最小化误差;(2)通过解耦误差校正(DEC)在每个时间步逐步消除缓存和量化的耦合累积误差。对于 UNet 框架,缓存上采样块的输出特征;对于 DiT 框架,缓存两个块之间的偏差。

关键设计

  1. 动态规划调度(Dynamic Programming Schedule, DPS)

    • 功能:为缓存机制寻找最优的缓存刷新时间表,最小化联合误差
    • 核心思路:将缓存调度问题建模为有序样本分组的动态规划问题。对于 T 步去噪、缓存频率为 N 的模型,将所有特征图分成 \(K=T/N\) 组,组内共享同一缓存特征。定义组内误差 \(D_k(i,j) = \sum_{t=i+1}^{j} \|X_g^i - X_g^t\|_1\)(用 L1 范数衡量,因量化误差源自绝对数值差异),然后通过 DP 递推求解 \(M(T,K) = \min_{K \leq s \leq T}\{M(s-1,K-1) + D(s,T)\}\) 来找到使总误差最小的分组方案。为降低计算复杂度,限制组长度在 \([N/2, 2N]\) 范围内,将 LDM 250步的求解时间从 4 小时缩短到 8 分钟
    • 设计动机:传统方法用均匀缓存调度或手动调参,无法考虑量化带来的额外误差。DPS 通过在误差计算中同时纳入缓存和量化特性,找到真正最优的调度方案
  2. 解耦误差校正(Decoupled Error Correction, DEC)

    • 功能:在推理时逐步消除缓存和量化的耦合累积误差
    • 核心思路:将总误差 \(E_o = O_g - O_{cq}\) 解耦为缓存误差 \(E_c = O_g - O_c\) 和量化误差 \(E_q = O_c - O_{cq}\),然后分别校正。对缓存误差,在输入通道维度校正 \(X_g = a_1 \cdot X_c + b_1\);对量化误差,在输出通道维度校正 \(O_c = a_2 \cdot O_{cq} + b_2\)。校正参数通过最小二乘法求解(利用通道间的强相关性)。核心优势是理论可证明:相比直接校正只调整输出通道的均值和方差,DEC 同时在输入通道和输出通道两个维度进行调整,不仅消除均值误差还有效减小方差
    • 设计动机:直接对 \(O_{cq}\) 做通道校正虽能消除均值误差,但方差仍然很大(因为缓存误差源于 \(X_g\)\(X_c\) 的差异,在输出端校正无法有效处理)。通过解耦并分别在不同维度校正,FID 额外改善 0.91。且量化误差的校正参数可吸收进权重量化中,推理时仅多一次矩阵乘加
  3. 协同加速机制

    • 功能:实现缓存和量化的互补优势
    • 核心思路:缓存跳过重复计算(时间层面加速),量化用低精度表示压缩模型(结构层面加速),两者叠加效果远超各自独立优化。具体而言,缓存减少了需要量化的计算量(被缓存的块不执行量化推理),而量化减少了缓存特征的存储开销
    • 设计动机:单独推进任一方向到极限都会严重掉性能,但联合优化可以在更大加速比下维持质量

损失函数 / 训练策略

CacheQuant 是完全无训练的方案,不需要微调或重训练。DPS 的优化目标是最小化所有组的组内 L1 误差之和,DEC 的校正参数通过最小二乘法在校准集上计算。可选地与量化重建方法结合以进一步提升性能(此时需要少量训练)。

实验关键数据

主实验

模型/数据集 方法 Bops↓ 加速↑ 压缩↑ 需重训 FID↓
SD / MS-COCO Deepcache-N=10 133.58T 3.52× 1.00× 23.45
SD / MS-COCO CacheQuant-N=5 W8A8 8.44T 5.18× 4.00× 23.74
SD / MS-COCO BK-SDM-Base 57.30T 2.79× 3.54× 28.47
LDM-4 / ImageNet Deepcache-N=5 24.06T 4.12× 1.00× 3.79
LDM-4 / ImageNet CacheQuant-N=5 W8A8 1.50T 7.87× 4.00× 4.03
LDM-4 / ImageNet EDA-DM W8A8 6.39T 1.91× 4.00× 4.13
DiT-XL/2 / ImageNet Δ-DiT-N=2 87.88T 1.31× 1.00× 9.06
DiT-XL/2 / ImageNet CacheQuant-N=2 W8A8 5.49T 2.72× 4.00× 7.86

消融实验

配置 FID↓ IS↑ 说明
Deepcache-N=20 (FP32) 8.08 159.27 仅缓存基线
+ 直接加 W8A8 量化 15.36 121.78 简单组合,性能严重下降
+ DPS 8.47 154.07 最优调度大幅恢复性能
+ DPS + DEC 7.21 160.68 解耦校正进一步提升
+ DPS + DEC + Recon 6.34 180.42 加量化重建(需少量训练)最优

关键发现

  • DPS 贡献最大:从简单组合的 FID 15.36 直接降到 8.47,说明最优缓存调度是联合优化的关键
  • DEC 无需训练即可将 FID 从 8.47 降到 7.21,且推理开销极小(仅增加一次矩阵乘加)
  • 在小缓存频率下(N=2,3),CacheQuant 甚至超过全精度模型的 FID(如 LSUN-Church 上 3.52 vs 3.99),这与量化的正则化效应一致
  • 在 GPU/CPU/ARM 多平台部署测试中,GPU 加速最显著(SD 达到 5× 实际加速)

亮点与洞察

  • 缓存+量化的协同发现:两者并非正交但可以互补——量化减少缓存的存储开销,缓存降低量化难度。这个洞察为扩散模型加速开辟了新的组合路线
  • 动态规划建模很巧妙:将缓存调度转化为有序分组问题,用 DP 求解全局最优,比手动调参或启发式方法更系统化。限制组长度的优化技巧将求解时间从 4 小时压缩到 8 分钟
  • 解耦校正的理论清晰:通过等价变换证明直接校正是 DEC 在 \(a_1=1, b_1=0\) 假设下的特例,而这个假设不成立,因此 DEC 严格优于直接校正

局限与展望

  • 当前仅验证了 W8A8 和 W4A8 两种精度配置,极低比特(如 W2A4)下的效果未知
  • DPS 需要预先收集所有时间步的特征图来计算分组误差,增加了初始化开销(虽然优化后只需 8 分钟)
  • 仅在图像生成任务上验证,视频生成等更复杂场景的泛化性未探索
  • DEC 的校正参数在校准集上计算,对不同 prompt 分布的鲁棒性有待验证

相关工作与启发

  • vs DeepCache: DeepCache 只做缓存不做量化,且用均匀调度。CacheQuant 在同等缓存频率下通过加入量化和最优调度,Bops 降低 16× 同时 FID 相当
  • vs EDA-DM: EDA-DM 只做量化需要重训练,加速有限(1.91×)。CacheQuant 无需训练即可达到 7.87× 加速且 FID 更优
  • vs Δ-DiT: Δ-DiT 针对 DiT 框架做缓存,CacheQuant 在其基础上加入量化,加速比从 1.31× 提升到 2.72× 且 FID 从 9.06 降到 7.86

评分

  • 新颖性: ⭐⭐⭐⭐ 首次联合优化缓存+量化,DPS 和 DEC 设计合理,但两个技术本身不算全新
  • 实验充分度: ⭐⭐⭐⭐⭐ 覆盖 DDPM/LDM/SD/DiT 多个模型,多数据集,多平台部署,消融完整
  • 写作质量: ⭐⭐⭐⭐ 问题分析清晰,理论推导完整,图表丰富
  • 价值: ⭐⭐⭐⭐ 实用性强,无训练5×加速+4×压缩对部署有直接价值

相关论文