Spectrum 是一个免训练(training-free)的扩散采样加速方法。它的核心动作只有一个:把去噪网络的每个特征通道看成「随时间演化的一条曲线」,用切比雪夫多项式这组全局正交基去拟合,然后用拟合出来的系数去预测未来多个时间步的特征,从而成片地跳过昂贵的网络前向。

效果:在 FLUX.1 上最高 4.79× 加速,Wan2.1-14B 上 4.67×,仅用 14 次网络评估(NFE)就实现 3.5× 提速且几乎不掉画质——而且画质明显优于现有所有缓存类方法。


1. 背景:扩散模型为什么这么慢

扩散模型已经是图像/视频生成的事实标准,但它有个绕不开的成本:采样要把一个巨大的去噪网络迭代跑几十到几百次。现在 SOTA 模型大多是 Diffusion Transformer(DiT),叠了几十层 attention block,跑一次就很贵,50 步就是 50 次完整前向。这对需要实时响应的交互式应用几乎是致命的。

反向采样一般用概率流 ODE 来刻画:

dx=[f(t)x−12g2(t) ϵθ(x,t)]dt dx = \Big[f(t)x - \tfrac{1}{2}g^2(t)\,\epsilon_\theta(x,t)\Big]dt dx=[f(t)x21g2(t)ϵθ(x,t)]dt

用 Euler 等求解器离散成 NNN 步,每步迭代一次:

xti+1=Solve(xti,ϵθ,ti,ti+1) x_{t_{i+1}} = \mathrm{Solve}(x_{t_i}, \epsilon_\theta, t_i, t_{i+1}) xti+1=Solve(xti,ϵθ,ti,ti+1)

跑满 NNN 步 = 调用去噪器 ϵθ\epsilon_\thetaϵθNNN 次。怎么少调用几次,又不掉画质,就是加速的核心命题。


2. 已有套路:特征缓存与复用

一类很有前景的免训练方法叫「特征缓存复用」。思路很直接:在部分时间步真正跑网络、把中间特征缓存下来;在其余时间步,用一个轻量预测器拿历史缓存把特征「猜」出来,跳过昂贵前向。

论文把这类算法统一成一个三元组 A=(U,V,f)\mathcal{A}=(U, V, f)A=(U,V,f)

  • UUU:需要真正跑网络的时间步集合
  • V=T∖UV = T \setminus UV=TU:用预测器 fff 顶替的时间步集合
  • fff:预测器,用历史缓存 CtjC_{t_j}Ctj 预测当前特征 htj=f(Ctj)h_{t_j} = f(C_{t_j})htj=f(Ctj)

理论加速比就是 η=∥T∥/∥U∥\eta = \|T\| / \|U\|η=T∥/∥U

现有预测器主要两类:

  • FORA(朴素复用):直接复制最近一个缓存特征。
  • TaylorSeer:用最近 P+1P+1P+1 个缓存点做离散泰勒展开来外推:

htjTaylor=htk+∑p=1PΔphtkp!(j−kη)p h_{t_j}^{\text{Taylor}} = h_{t_k} + \sum_{p=1}^{P}\frac{\Delta^p h_{t_k}}{p!}\Big(\tfrac{j-k}{\eta}\Big)^p htjTaylor=htk+p=1Pp!Δphtk(ηjk)p

朴素复用其实就是 P=0P=0P=0 的特例。


3. 致命问题:局部近似的误差会「爆炸」

这两类方法有个共同的死穴——它们都是局部近似,只盯着最邻近的几个点。论文用一个定理把根因摆到了台面上:

定理 3.1(order-P 泰勒预测器最坏误差)

sup⁡f∈FP+1(L)∣f(τj)−TP[f](τj)∣=L(P+1)!((j−k)δt)P+1 \sup_{f \in \mathcal{F}_{P+1}(L)}\big|f(\tau_j) - T_P[f](\tau_j)\big| = \frac{L}{(P+1)!}\big((j-k)\delta t\big)^{P+1} fFP+1(L)sup f(τj)TP[f](τj) =(P+1)!L((jk)δt)P+1

读懂这个式子就读懂了全文一半:误差正比于 跨步大小的 (P+1)(P+1)(P+1) 次方

这意味着——加速比越高,要跳的步子越大,(j−k)δt(j-k)\delta t(jk)δt 越大,误差就指数级地放大;而且单纯堆高泰勒阶数 PPP 也救不回来,因为跨步项依然在主导。这就是为什么 TaylorSeer 在高加速比(如 N=6N=6N=6)下画质会断崖式下跌——在 SD3.5 上 ImageReward 从 0.82 直接掉到 0.32。

直觉上:局部泰勒会过度放大局部尖锐细节,却抓不住整条采样轨迹的全局语义。

在这里插入图片描述

图1:把每个特征通道看成时间的函数。局部泰勒只用邻近几点做展开,跨步一大就「飞」出真实轨迹(误差≈0.72);全局切比雪夫拟合整条曲线,在远处依然贴合(误差≈0.05)。图中误差为对一条平滑特征曲线实算所得。


4. Spectrum 的核心思想:从时域局部到频域全局

既然「只看附近几个点」会崩,那就换个视角看整条曲线

Spectrum 把每个特征通道 hi(t)h_i(t)hi(t) 看成一条随时间演化的函数,用一组全局、正交的基函数去逼近它。选的基是第一类切比雪夫多项式

Tm(τ)=2τ Tm−1(τ)−Tm−2(τ),T0=1, T1=τ, τ∈[−1,1] T_m(\tau) = 2\tau\,T_{m-1}(\tau) - T_{m-2}(\tau),\quad T_0=1,\ T_1=\tau,\ \tau\in[-1,1] Tm(τ)=2τTm1(τ)Tm2(τ),T0=1, T1=τ, τ[1,1]

于是每个通道被表示成:

hi(t)=∑m=0Mcm,i Tm(τ),τ=g(t)=2t−1 h_i(t) = \sum_{m=0}^{M} c_{m,i}\,T_m(\tau),\quad \tau = g(t) = 2t-1 hi(t)=m=0Mcm,iTm(τ),τ=g(t)=2t1

g(t)g(t)g(t) 把扩散时间步 [0,1][0,1][0,1] 映射到切比雪夫的定义域 [−1,1][-1,1][1,1]。)

为什么换成全局基就稳了? 关键在这个定理:

定理 3.2(切比雪夫的普适逼近性)fff 在 Bernstein 椭圆上解析,则其 MMM 阶截断的逼近误差满足

∥f−pM∥∞≤2Bρ−1 ρ−M \|f - p_M\|_\infty \le \frac{2B}{\rho-1}\,\rho^{-M} fpMρ12BρM

注意对比定理 3.1:这个误差界只跟基的阶数 MMM 有关,跟跨步大小完全无关,而且随 MMM 指数衰减。 论文进一步把这个「不随跨步累积」的误差界推广到完整预测器(定理 3.3)。

一句话对比两种范式:

维度 泰勒(局部时域) Spectrum(全局频域)
误差随跨步 ∝(step)P+1\propto (\text{step})^{P+1}(step)P+1,会爆炸 与 step 无关,只看阶数 MMM
高加速比表现 断崖式掉点 稳定不崩
捕捉全局语义 弱(只看邻近点) 强(拟合整条轨迹)

在这里插入图片描述

图2:两种预测器的误差随跨步大小的不同命运。局部泰勒误差按跨步的幂次(∝\propto 跨步P+1^{P+1}P+1)陡升,且增大阶数 P 在大跨步区反而更糟;全局切比雪夫的误差被阶数 M 锁住(∝ρ−M\propto \rho^{-M}ρM),几乎与跨步无关。按定理 3.1 / 3.2 的标度关系绘制。


5. 算法:在线拟合 + 预测

Spectrum 的整个流程是「边采样、边拟合、边预测」(online fitting-then-forecasting)。

第一步:构造设计矩阵。 对缓存里所有真实算过的时间步,构造切比雪夫基行向量并堆叠:

ϕ(τk)=[T0(τk),T1(τk),…,TM(τk)],Φtj∈RK×(M+1) \phi(\tau_k) = [T_0(\tau_k), T_1(\tau_k), \dots, T_M(\tau_k)],\quad \Phi_{t_j}\in\mathbb{R}^{K\times(M+1)} ϕ(τk)=[T0(τk),T1(τk),,TM(τk)],ΦtjRK×(M+1)

第二步:岭回归在线拟合系数。

Ctj=arg⁡min⁡C∥ΦtjC−Htj∥F2+λ∥C∥F2 C_{t_j} = \arg\min_C \|\Phi_{t_j}C - H_{t_j}\|_F^2 + \lambda\|C\|_F^2 Ctj=argCminΦtjCHtjF2+λCF2

闭式解:

Ctj=(Φtj⊤Φtj+λI)−1Φtj⊤Htj C_{t_j} = (\Phi_{t_j}^\top\Phi_{t_j} + \lambda I)^{-1}\Phi_{t_j}^\top H_{t_j} Ctj=(ΦtjΦtj+λI)1ΦtjHtj

用 Cholesky 分解求解即可。注意求逆的矩阵只有 (M+1)×(M+1)(M+1)\times(M+1)(M+1)×(M+1),由于 MMM 很小(默认 4),开销几乎可忽略。

第三步:用系数预测未来步。 在需要跳过的时间步直接代入:

htj=ϕ(g(tj)) Ctj h_{t_j} = \phi(g(t_j))\,C_{t_j} htj=ϕ(g(tj))Ctj

复杂度:拟合主导项 O(K(M+1)F)O(K(M+1)F)O(K(M+1)F),预测仅 O((M+1)F)O((M+1)F)O((M+1)F)。相比泰勒只多出 K(M+1)/PK(M+1)/PK(M+1)/P 量级的开销,而这点开销和去噪器一次完整前向相比微不足道。

算法骨架(伪代码)

for j = 1..N:
    if t_j ∈ U:                          # 真实前向
        h, ε ← ε_θ(x, t)
        更新缓存 C,重新拟合系数 𝒞 (闭式解)
    else:                                # 用预测器
        继承上一组系数 𝒞
        h ← φ(g(t_j)) · 𝒞                # 切比雪夫预测
        ε ← 由 h 得到 score
    x ← Solve(x, ε, ...)                 # 求解器走一步

在这里插入图片描述

图3:Spectrum「边采样·边拟合·边预测」的运行图景。时间轴上实心点是真实前向步 U(跑网络→更新缓存→岭回归刷新系数 CCC),空心点是预测步 V(跳过网络,用 h^=ϕ(g(t))⋅C\hat{h}=\phi(g(t))\cdot Ch^=ϕ(g(t))C 做切比雪夫外推);调度上早期密集、后期稀疏——早期多真算以抑制误差累积,后期多预测以换取提速。


6. 三个让它「真正能用」的工程设计

论文最值得抄作业的,其实是这三个朴素但有效的工程决策:

① 只缓存最后一层(last-block-only)。 TaylorSeer 给每个 attention block 都建缓存,内存和计算 ×L(L 是层数)。Spectrum 发现这是冗余的——只对最后一个 attention block 的输出建模反而更准、更快、更省内存。作者推测:逐层预测会让误差在层间聚合时反复累积。这是"少即是多"的典型案例。

② 自适应调度(adaptive scheduling)。 早期步的预测误差会沿采样轨迹向后累积、被放大。所以策略是:早期多跑真网络,后期多用预测器。用一个预计算的调度:

U={τj:j=⌊αr(r+1)2⌋} U = \Big\{\tau_j: j = \big\lfloor\alpha\tfrac{r(r+1)}{2}\big\rfloor\Big\} U={τj:j=α2r(r+1)}

α\alphaα 控制间隔增长速度,α=0\alpha=0α=0 即退化为传统均匀调度。关键是它全程预计算、零运行时开销——不像有些方法要在推理时追踪指标。消融显示同样的 NFE 预算下,自适应调度对泰勒和 Spectrum 都有提升。

③ 岭正则 λ\lambdaλ 是命门,不是装饰。 λ\lambdaλ 太大 → 欠拟合 → 误差变大;太小 → 数值不稳定(解 Φ⊤Φ+λI\Phi^\top\Phi+\lambda IΦΦ+λI 时病态)。两端(10−310^{-3}103101010)都明显掉点,默认取 λ=0.1\lambda=0.1λ=0.1


7. 实验:到底有多强

文生图(DrawBench,50 步为参考) — 以 FLUX.1 高加速场景为例:

方法 加速比 PSNR↑ NFE
TaylorSeer (N=6) 4.14× 20.24 12
Spectrum (α=3.0) 4.79× 22.21 10

Spectrum 又快、画质又高、还用更少的网络评估。论文有个很提气的对比:Spectrum(α=3.0,仅 10 次 NFE)的 PSNR 已经逼近 TaylorSeer(N=4,要 16 次 NFE)。

文生视频(VBench,Wan2.1-14B) — 高加速场景 PSNR 对比更夸张:

方法 加速比 PSNR↑
TaylorSeer (N=6) 3.94× 17.24
Spectrum (α=3.0) 4.67× 21.24

特征级误差(与 50 步 oracle 的 RMSE,Wan2.1) — 每一步都更接近真值:

扩散步 10 20 30 40 50
Taylor 0.0121 0.0303 0.0629 0.1226 0.2510
Spectrum 0.0040 0.0164 0.0358 0.0742 0.1674

此外,论文还在 SD3.5-Large、HunyuanVideo、以及 U-Net 架构的 SDXL 上都验证了有效性,说明它不绑定 DiT。

建议配图:可直接引用原文 Figure 2/3/4 的定性对比图,以及 Figure 5/6 的 λ、M 消融曲线,CSDN 读者会很买账。


8. 贡献小结

  1. 首个在频域做特征缓存预测的扩散加速方法,把范式从「局部时域外推」换成「全局谱域拟合」。
  2. 理论自洽:先用定理 3.1 揭示泰勒误差随跨步爆炸,再证明 Spectrum 的误差界不随跨步累积——理论直接解释了它为什么在高加速比下不崩。
  3. 近乎零开销的在线拟合方案:小矩阵闭式解 + Cholesky。
  4. 三个可直接复用的工程技巧:最后一层缓存、自适应调度、岭正则。
  5. 覆盖面广 + 正交可叠加:图像/视频/U-Net 全验证,且与量化、剪枝、token 压缩等正交,可组合进一步提速。

9. 工程师能从中借鉴什么(重点)

抛开扩散模型这个具体场景,这篇论文里有一串可迁移到很多工程问题的思想:

  • 要做远距离外推/插值,别迷信局部展开,上全局正交基。 泰勒、最近邻这类局部方法,跨步一大就崩;切比雪夫、傅里叶这种全局基误差有界。这是时序预测、曲线拟合、信号重建里的通用结论。
  • 选基要看条件数。 切比雪夫递推良态,远胜单项式(范德蒙矩阵病态)——数值计算里「选对基」常常比「加阶数」更管用。
  • 流式数据用在线最小二乘 + Cholesky 闭式解。 数据陆续到来时不必从头重算,小矩阵求逆开销可忽略。
  • 正则项是数值稳定的开关,不是可有可无。 λ\lambdaλ 调不好就崩或欠拟合——任何回归/拟合系统都该把它当一等公民。
  • 主动找「最小充分表示」。 不是缓存越多越好,只缓存最后一层反而更准更省。资源优化先问「哪些是冗余的」。
  • 误差预算要按「会不会累积」分配。 把算力花在误差会向后传播的早期阶段——这是 budget allocation 的通用思路(早期投入、后期省)。
  • 免训练 / 即插即用的落地价值。 不动原模型权重,与其他优化正交,工程成本最低、风险最小。
  • 先证边界,再做设计。 理论分析直接指明了选型(为什么是切比雪夫、为什么 M=4),这是「理论驱动工程」的范例,而不是先调参再补故事。

10. 局限与结语

诚实地说几个边界:Spectrum 的误差界建立在「特征曲线足够光滑、可解析延拓」的假设上,对极端非光滑的特征轨迹收益会打折;自适应调度和 α\alphaαMMMλ\lambdaλ 仍需按模型经验设定;论文主要在标准 benchmark 上验证,工业级长视频、复杂 pipeline 的鲁棒性还待更多实践检验。

但瑕不掩瑜。Spectrum 真正有启发的地方,是它用一个非常「老」的数学工具(切比雪夫多项式),干净地解决了一个非常「新」的工程痛点——并且用理论说清了「为什么有效」。在大家拼命堆 trick 的扩散加速赛道里,这种「换个数学视角、误差界一压、问题就消失」的做法,本身就值得每个做系统优化的工程师细品。

如果你在做任何「用历史预测未来、还想跳着用」的系统——时序、缓存、采样、信号——这篇论文的思路都值得抄进你的工具箱。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐