针对 Diffusion 的 Cache 策略汇总
这一段时间阅读了很多基于 Diffusion Cache 的相关文章,现在进行分类汇总。
每篇工作都会有自己的一些侧重点。
- Zhang LinFeng 🎉
Forecasting
主要有两篇:TaylorSeer、HiCache、DuCa、ZEUS
Block Skip
🐳Tea Cache【CVPR 2025】
论文发现输入的差异和输出的差异可以拟合。
作者将每个特征图取 L1 范数,计算和上一个Step 之间的差异(输入和输出)。然后用多项式拟合输入的差异到输出的差异。
推理时如果预测的输出的差异:
- 如果很大:整个 Step 计算。
- 如果很小:每个 Block 复用残差缓存。
Token Heterogeneity
大方向和思路就是针对不同的 Token 设置不同的策略。
🎉ToCa【ICLR 2025】
对 Token 进行打分,分成 4个 维度:Self Attention,Cross Attention,缓存频率,空间均匀。得分高的 Token 进行全量计算。
然后设置动态缓存比例:浅层缓存少,深层缓存多(怕误差传播更多);早期缓存多(轮廓),后期缓存少(细节)。
🐳World Cache【ICML 2026】
根据曲率对 Token 进行划分;不同的 Token 采用不同的策略(复用、线性外推,二次阻尼外推)。
用曲率大的作为 Anchor,若 Anchor 误差很大,则全量刷新。
Channel Heterogeneity
🎉HyCa【ICLR 2026 Oral】
作者觉得不同的 Channel 不能采用统一的外推方法。
于是选择一些 Case 离线处理,统计每个 Channel 的一阶差分、曲率等。然后对每个 Channel 采用不同的外推方法。
🎉FreqCa【2025 Arxiv】
论文写的比较模糊,作者发现高低频特征随着 step 变化的行为并不同。
于是在 Full Step 作者保存了输出的 Token(注意不是残差,而且是只保留最后一个 Block 的输出),然后通过 FFT 计算每个 Channel 的高低频,进而可以把每个 Token 拆分成高频和低频,低频则直接复用,高频则直接用埃尔米特多项式外推。
针对 Diffusion 的 Cache 策略汇总
https://d4wnnn.github.io/2026/06/30/Notion/针对 Diffusion 的 Cache 策略汇总/