Fewer Denoising Steps or Cheaper Per-Step Inference: Towards Compute-Optimal Diffusion Model Deployment¶
会议: ICCV 2025
arXiv: 2508.06160
代码: https://github.com/GATECH-EIC/PostDiff
领域: 扩散模型 / 模型压缩
关键词: 扩散模型加速, 混合分辨率去噪, 模块缓存, 训练无关压缩, 计算最优部署
一句话总结¶
本文提出 PostDiff——一个无需训练的扩散模型加速框架,在输入层面通过混合分辨率去噪策略(早期低分辨率→后期高分辨率)和模块层面通过混合缓存策略(DeepCache + 交叉注意力缓存)减少冗余,系统性地回答了"减少去噪步数 vs 降低每步计算成本哪个更有效"这一关键问题——答案是后者在大多数效率范围内更优。
研究背景与动机¶
领域现状:扩散模型在图像/视频生成任务上取得巨大成功,但其迭代去噪的本质和复杂的模型架构导致计算密集,限制了资源受限平台上的部署。
现有痛点: - 减少去噪步数(如 DDIM、DPM-Solver、一致性模型)和降低每步计算成本(如 Token 合并/剪枝、模块缓存、量化)是两大加速路线 - 但缺乏系统性研究来比较这两种策略在 post-training 设置下的效率-质量权衡 - 减少步数增大了步间特征变化的方差,可能降低压缩兼容性;保持更多步数则保留了步间冗余,更适合压缩
核心矛盾:在不微调的 post-training 部署场景下,应该选择更少的去噪步数还是更便宜的每步推理?这个问题对研究者和工程师都至关重要,但缺乏明确答案。
本文目标 - 提出统一框架 PostDiff 同时从输入和模块两个层面减少冗余 - 通过受控实验系统比较两种策略 - 发现并解释混合分辨率去噪的"低分辨率增强低频→提升最终质量"现象
切入角度:早期去噪步主要生成低频语义布局,不需要高分辨率;后期步骤添加高频细节才需要高分辨率。这种阶段性特征可以被利用。
核心 idea:早期步用低分辨率去噪(增强低频+省算力),后期切换到高分辨率精炼细节,配合模块缓存,实现"降低每步成本比减少步数更有效"。
方法详解¶
整体框架¶
PostDiff 由两个互补的训练无关技术组成:(1)输入层面的混合分辨率去噪策略——早期去噪步使用低分辨率 latent,在特定步骤切换到高分辨率;(2)模块层面的混合模块缓存策略——结合 DeepCache(缓存 U-Net 深层 skip 分支)和交叉注意力缓存(缓存条件引导信息)在步间复用计算。
关键设计¶
-
混合分辨率去噪(Mixed-Resolution Denoising)
- 功能:在去噪过程中动态切换输入分辨率——早期步用低分辨率,后期步用高分辨率。
- 核心思路:初始化低分辨率 latent \(x_T^l\),形状为 \((\beta w, \beta h)\),其中 \(0 < \beta < 1\) 为缩放因子。在步 \(t = sT\) 时切换到高分辨率:先用 Eq.(2) 计算低分辨率的预测 \(\hat{x}_0^{l,t}\),通过双线性插值上采样 \(\hat{x}_0^{f,t} = \text{Upsample}(\hat{x}_0^{l,t})\),再通过前向扩散公式 \(x_t^f = \sqrt{\alpha_t}\hat{x}_0^{f,t} + \sqrt{1-\alpha_t}\epsilon\) 转换到高分辨率 latent,后续正常去噪。
- 设计动机:早期去噪步主导低频语义布局生成,低分辨率足够且有利——文献和实验都表明低分辨率早期步能增强低频分量,反而提升最终生成质量(win-win)。这与级联扩散模型的经验一致:低分辨率阶段的低频信息有助于高分辨率阶段。
-
"低分辨率增强"现象的可视化验证
- 功能:逐步可视化去噪过程中每一步的 CLIP Score 变化。
- 核心思路:对比全分辨率去噪和不同 \(s\) 设置下的混合分辨率去噪。观察到:(a) 适量低分辨率步可以提升最终 CLIP Score;(b) 低分辨率步虽然初始 CLIP Score 更低,但切换到高分辨率后 CLIP Score 回升更快并最终超越全分辨率方案;(c) 低/高分辨率步数的平衡至关重要。
- 设计动机:这一可视化不仅解释了方法有效的原因(低分辨率确实增强了低频分量),也为选择超参数 \(s\) 提供了直觉。
-
混合模块缓存策略(Hybrid Module Caching)
- 功能:在模块层面复用计算减少冗余。
- 核心思路:结合两种缓存:(a) DeepCache——缓存 U-Net 深层 skip 分支并在后续 \(k=2\) 步复用;(b) 交叉注意力缓存——在步 \(m\) 后停止 CFG 并缓存条件交叉注意力,选择 "Cond" 模式作为缓存(\(CA_{cache} = CA_t^c\)),因为实验表明它效果最好。关键洞察:CFG 的主要作用是在早期步确定布局,后期冗余;且可以在低分辨率步预计算交叉注意力供后续使用。
- 设计动机:(a) 步间特征图高度相似是缓存有效的基础;(b) 交叉注意力主要传递文本引导的布局信息,布局在早期步确定后不再变化→后期可复用;(c) 两种缓存互补——DeepCache 减少空间计算,交叉注意力缓存减少条件引导计算。
损失函数 / 训练策略¶
PostDiff 完全是训练无关(training-free)的——不需要任何微调或蒸馏,可即时应用于预训练扩散模型。超参数通过小校准集快速确定(校准集性能与完整评估集高度相关)。
核心超参数: - \(\beta\):低分辨率缩放因子(SD V1.5 用 1/2,SDXL/PixArt 用 3/4) - \(s\):低-高分辨率切换点(通常 1/2 或 1/5) - \(m\):停止 CFG 的步骤(通常 5-15)
实验关键数据¶
主实验:多个 SOTA 扩散模型上的效果¶
| 模型 | 步数 | Mix | Cache | FID ↓ | CLIP Score ↑ | FLOPs (T) ↓ | 延迟(s) ↓ |
|---|---|---|---|---|---|---|---|
| SD V1.5 | 20 | 18.42 | 30.80 | 30.420 | 2.930 | ||
| SD V1.5 | 8 | 20.60 | 30.41 | 12.168 | 1.298 | ||
| SD V1.5 | 20 | ✓ | 15.69 | 30.78 | 19.035 | 1.945 | |
| SD V1.5 | 20 | ✓ | ✓ | 16.65 | 30.25 | 11.129 | 1.139 |
| SDXL | 20 | 14.10 | 31.95 | 119.641 | 6.521 | ||
| SDXL | 8 | 18.01 | 30.92 | 47.856 | 2.843 | ||
| SDXL | 20 | ✓ | ✓ | 14.18 | 31.11 | 52.682 | 3.119 |
| PixArt-α | 20 | 29.16 | 30.41 | 85.640 | 7.093 | ||
| PixArt-α | 8 | 33.09 | 30.21 | 34.256 | 3.031 | ||
| PixArt-α | 20 | ✓ | ✓ | 25.44 | 30.23 | 54.718 | 4.768 |
重要发现:SD V1.5 上 PostDiff 实现 63.14% FLOPs 减少,同时 FID 还改善了 1.8。
消融实验:交叉注意力缓存策略对比¶
| 配置 | FLOPs (T) ↓ | FID ↓ | CLIP Score ↑ |
|---|---|---|---|
| Original | 30.420 | 18.42 | 30.80 |
| DeepCache (DC) | 17.787 | 17.79 | 30.75 |
| DC + CA (m=5, Ave) | 11.610 | 18.77 | 28.40 |
| DC + CA (m=5, Cond) | 11.610 | 18.82 | 29.20 |
| DC + CA (m=5, CFG) | 11.610 | 103.71 | 18.22 |
| DC + CA (m=10, Cond) | 15.061 | 21.26 | 30.11 |
| DC + CA (m=15, Cond) | 16.360 | 21.67 | 30.37 |
与其他训练无关方法对比(SD V1.5):
| 方法 | FID ↓ | CLIP Score ↑ | 延迟(s) ↓ |
|---|---|---|---|
| Original | 18.42 | 30.80 | 2.930 |
| DeepCache | 17.79 | 30.75 | 1.737 |
| TGATE | 19.51 | 29.55 | 1.992 |
| ToMe | 17.43 | 30.55 | 2.730 |
| PostDiff | 16.65 | 30.25 | 1.139 |
关键发现¶
- 降低每步成本 > 减少步数:当目标是保持较高生成质量(FID < 20)时,保持更多步数+使用 PostDiff 减少每步成本更优。仅在追求极端效率(减少 > 60% FLOPs)时,减少步数才更有利。
- 混合分辨率是 win-win:适当的低分辨率早期步不仅省算力,还能通过增强低频分量提升最终 FID(SD V1.5 的最优 FID 从 18.42 降至 15.69)。
- CFG 缓存不能太早:\(m=5\) 时完全放弃 CFG(CFG模式)导致质量崩溃(FID > 100);"Cond" 模式在所有设置下最稳定。
- 跨架构通用:PostDiff 在 U-Net 和 Transformer 架构、大/小模型、LDM/LCM 上均有效。
- PostDiff 达到最低延迟:SD V1.5 上 1.139s vs 次好 DeepCache 的 1.737s(-34%)。
亮点与洞察¶
- 系统性回答了"更少步 vs 更便宜每步"的关键问题:此前缺乏对这两种加速路线的公平对比。PostDiff 作为统一框架使得控制变量实验成为可能,得出的"每步成本更重要"结论对部署决策有直接指导意义。
- 低分辨率增强低频的发现:不仅是工程 trick,而是对扩散过程的洞察——早期步的低分辨率去噪实际上"迫使"模型专注于低频语义结构,避免了高频噪声的干扰,这与级联扩散的成功原理一致。
- 完全训练无关:无需任何微调或蒸馏,即插即用到任何预训练扩散模型上,实用性极强。
局限与展望¶
- 采用简单的二值分辨率策略(低→高),更复杂的渐进分辨率调度可能进一步提升效果。
- 交叉注意力缓存依赖 CFG 机制,对不使用 CFG 的模型(如流匹配)适用性有待验证。
- 未探索与量化、剪枝等训练感知压缩方法的组合效果。
- 校准集确定超参数的过程虽然高效,但仍需一定计算开销。
- 仅在图像生成上验证,视频扩散模型可能有不同的冗余模式。
相关工作与启发¶
- vs DeepCache: DeepCache 仅缓存 U-Net skip 分支,PostDiff 在此基础上增加了交叉注意力缓存和混合分辨率,三者协同达到更好的效率-质量前沿。
- vs TGATE: TGATE 在步 \(m\) 后完全停止 CFG,但这过于激进导致质量下降;PostDiff 的缓存交叉注意力更温和,保留部分条件信息。
- vs ToMe/ToDo: 这些方法在 token 层面减少冗余(合并/剪枝),PostDiff 在分辨率层面操作,两者正交可组合。
- vs 少步扩散模型(LCM、一致性模型):这些需要额外的训练/蒸馏成本;PostDiff 完全 training-free,且可与 LCM 配合使用(实验验证)。
评分¶
- 新颖性: ⭐⭐⭐⭐ 混合分辨率去噪策略简洁有效,"系统性比较两种加速路线"的研究角度有价值
- 实验充分度: ⭐⭐⭐⭐⭐ 4个 SOTA 模型 × 多种配置,FID-FLOPs 权衡曲线详尽,与6+种方法对比
- 写作质量: ⭐⭐⭐⭐ 研究问题聚焦,实验设计合理,可视化分析(CLIP Score 逐步变化)说服力强
- 价值: ⭐⭐⭐⭐ 实用的 training-free 加速方案 + 对扩散模型部署策略的系统性指导