Denoising as Path Planning: Training-Free Acceleration of Diffusion Models with DPCache¶
会议: CVPR 2026
arXiv: 2602.22654
代码: GitHub
领域: 扩散模型加速
关键词: 扩散模型加速, 缓存, 动态规划, 路径规划, 无训练
一句话总结¶
将扩散模型采样加速形式化为全局路径规划问题,构建路径感知代价张量(PACT)量化跳步误差的路径依赖性,通过动态规划选择最优关键步序列,在FLUX上以4.87×加速超越全步基线+0.028 ImageReward。
研究背景与动机¶
扩散模型(尤其是DiT架构)推理开销大,缓存类加速方法因无需训练而受青睐,但现有方法存在根本缺陷: - 固定调度(如DeepCache):均匀跳步模式忽略局部特征动态,在关键转变区域偏差大 - 局部自适应调度(如TeaCache/AdaCache):贪心短视决策可能跳过关键步骤,导致不可逆漂移和误差累积 - 两种策略都忽略了去噪轨迹的全局结构
核心洞察:最优加速需要全局视角——考虑整个去噪轨迹并整体规划采样步骤。
方法详解¶
整体框架¶
DPCache 分三个阶段:(1) 校准阶段:在少量样本上运行完整去噪过程,构建3D路径感知代价张量;(2) 最优调度选择:用动态规划在给定步数预算 \(K\) 下选择最优关键步序列;(3) 推理阶段:仅在关键步执行完整计算,其余步用缓存特征预测。
关键设计¶
-
路径感知代价张量(PACT): 传统2D代价矩阵仅编码两个步之间的跳步误差,但缓存预测特征依赖于之前缓存的状态(路径依赖性)。PACT 是3D张量 \(\mathcal{C} \in \mathbb{R}^{(T+1)\times(T+1)\times(T+1)}\),每个元素 \(\mathcal{C}[i,j,k]\)(\(i>j>k\))表示在前驱关键步为 \(i\) 的条件下,从步 \(j\) 跳到步 \(k\) 的累计预测误差: $\(\mathcal{C}[i,j,k] = \sum_{\tau=k}^{j-1} \|\mathbf{h}_\tau^L - \mathbf{h}_{pred,\tau}^L(i,j)\|_1\)$ 使用累计误差而非单点误差,防止看似局部最优但整体不稳定的大跨步。仅使用最后一层特征构建以节省内存。引入哨兵步 \(t=0\) 统一边界处理。
-
动态规划最优调度选择: 给定代价张量和目标步数 \(K\),最小化总路径代价: $\(\arg\min_{\mathcal{T}} \sum_{m=2}^{K} \mathcal{C}[t_{m-1}, t_m, t_{m+1}]\)$ 维护 DP 表 \(D[m,k]\)(到达步 \(k\) 用 \(m\) 个关键步的最小累计代价)和路径表 \(P[m,k]\)(回溯用),递推关系为: $\(D[m,k] = \min_{j>k} D[m-1,j] + \mathcal{C}[P[m-1,j], j, k]\)$ 固定前 \(M=3\) 步为必选步以保持早期去噪动态,时间复杂度 \(O(KT^2)\),\(K<T=50\) 时开销可忽略。
-
校准集驱动的通用性: 去噪轨迹形状主要取决于扩散模型本身而非生成内容(引用先前工作OmniCache的发现),因此仅用约10个校准样本即可获得通用最优调度,无需为每个输入单独计算。推理时关键步执行完整前向传播并缓存特征,其余步用 Taylor 展开预测: $\(\mathcal{F}_{pred,m}^l(\mathbf{x}_{t-k}) = \mathbf{h}_t^l + \sum_{i=1}^m \frac{\Delta^i \mathbf{h}_t^l}{i! \cdot \mathcal{N}^i}(-k)^i\)$
损失函数 / 训练策略¶
- 完全无训练方法,不需要任何微调或蒸馏
- 校准阶段用约10个样本,预测阶设为2阶 Taylor 展开
- 与具体预测器解耦——可无缝集成未来更好的预测方法
实验关键数据¶
主实验(FLUX.1-dev, DrawBench)¶
| 方法 | 加速比 | ImageReward↑ | CLIP Score↑ | PSNR↑ | SSIM↑ |
|---|---|---|---|---|---|
| 全50步基线 | 1.00× | 0.979 | 17.40 | — | — |
| TeaCache | 3.42× | 0.934 | 17.17 | 16.31 | 0.6812 |
| TaylorSeer | 3.51× | 0.939 | 17.31 | 16.95 | 0.6922 |
| SpeCa | 3.62× | 0.975 | 17.27 | 18.35 | 0.6773 |
| DPCache (K=13) | 3.54× | 1.007 | 17.34 | 21.65 | 0.8106 |
| DPCache (K=9) | 4.87× | 0.958 | 17.33 | 18.77 | 0.7117 |
DPCache (K=13) 在3.54×加速下 ImageReward 超越全步基线 +0.028!
消融实验(HunyuanVideo, VBench)¶
| 方法 | 加速比 | VBench↑ | PSNR↑ | SSIM↑ |
|---|---|---|---|---|
| 全50步 | 1.00× | 80.93 | — | — |
| TaylorSeer | 3.87× | 80.33 | 18.53 | 0.6025 |
| SpeCa | 4.05× | 80.26 | 20.09 | 0.6370 |
| DPCache (K=11) | 4.05× | 80.35 | 23.11 | 0.7462 |
视频生成上同样显著优于其他方法,PSNR提升尤为突出。
关键发现¶
- 全局最优调度的核心优势在于 轨迹保真度(PSNR/SSIM/LPIPS 大幅领先)——说明路径规划确实使采样轨迹更接近原始去噪轨迹
- 加速比越高优势越明显——3.54×时已超基线,4.87×时仍大幅领先其他方法
- 路径依赖性建模(3D PACT vs 2D cost matrix)是关键——2D矩阵无法捕捉前驱步对当前跳步误差的影响
- 10个校准样本即足够,说明去噪轨迹结构确实与内容无关
亮点与洞察¶
- 将采样加速建模为路径规划问题的视角非常新颖——动态规划在此场景下完美适用
- PACT的3D张量设计精准捕捉路径依赖性,是对现有2D分析的本质提升
- 在FLUX上 加速后反而超过全步基线 这一结果说明:跳过某些步不仅不损害质量,反而可能因避免误差累积而提升效果
- 方法与预测器解耦的设计使其成为通用加速框架
局限与展望¶
- 校准阶段需要完整运行一次扩散过程,增加预处理时间
- PACT构建的内存开销为 \(O(T^3)\),当步数 \(T\) 很大时可能成为瓶颈
- 目前假设所有样本共享同一最优调度,对分布外样本可能不最优
- 可探索与自适应调度结合——PACT提供全局框架,局部细调适应特定样本
相关工作与启发¶
- DeepCache 发现了高层特征跨步相似性,DPCache 在此基础上优化了何时缓存何时计算
- TaylorSeer 的 Taylor 展开预测器与 DPCache 的路径规划框架正交互补
- 与步数减少方法(DDIM/DPM-Solver/蒸馏)不同,DPCache 属于每步计算优化类
- 路径规划视角可启发其他序列决策问题中的计算优化
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 路径规划视角+PACT+DP组合极具原创性
- 实验充分度: ⭐⭐⭐⭐ 覆盖DiT/FLUX/HunyuanVideo,图文视频均验证
- 写作质量: ⭐⭐⭐⭐⭐ 问题定义清晰,形式化严谨,图示直观
- 价值: ⭐⭐⭐⭐⭐ 无训练、通用、性能优异,实用价值极高
- 价值: 待评