PPR-2206.00927
Paper
DPM-Solver: A Fast ODE Solver for Diffusion Probabilistic Model Sampling in Around 10 Steps
| id | |
|---|---|
| updated | |
| type | paper |
| title | DPM-Solver: A Fast ODE Solver for Diffusion Probabilistic Model Sampling in Around 10 Steps |
| alias | DPM-Solver |
| authors | Cheng Lu, Yuhao Zhou, Fan Bao, Jianfei Chen, Chongxuan Li, Jun Zhu |
| venue | NeurIPS 2022 |
| arxiv | 2206.00927 |
| tier | 0 |
| lifecycle | EXTRACTED |
| epistemic | n/a |
| ingested | 2026-09-10 |
| version | arXiv:2206.00927v3 |
| source-hash | sha256:3df38f85558868237fb576638d1d51bd5959242b9953e73161b0af159beb1891 |
| admitted-under | U0-user-directive |
| admission-note | 用户 2026-09-10 指令:为 DPM-Solver 概念缺口补定义来源(TRIAGE INBOX 条目),供 CPT-029 的 defined-by 锚定。 |
定位
DPM-Solver(Lu 等,NeurIPS 2022)处理的是扩散概率模型(DPM)的采样速度:标准 DDPM 采样需要对大型网络做数百到数千次串行函数求值(NFE),构成推理瓶颈。把采样换一个视角——生成过程等同于求解扩散 ODE(probability-flow ODE)——并不能自动解决小步数问题:此前工作用的通用黑盒 ODE 求解器(RK45)虽然在 CIFAR-10 上约 60 次 NFE 达到 1000 步 SDE 求解器的质量,但在约 10 步的预算下仍不收敛。
论文的贡献是利用扩散 ODE 的半线性结构,先解析积出其中的线性部分,把解化为网络项的“指数加权积分”,再对这个积分做高阶近似,从而给出带收敛阶保证的专用求解器族 DPM-Solver-\(k\)(\(k\le 3\))。它是免训练的:不重训、不改动已有网络的权重,对离散时间与连续时间的 DPM 都适用,也不依赖特定噪声调度(线性/余弦调度的换元与其逆函数都有解析式)。条件采样(classifier guidance)只体现为对噪声预测模型定义的修改,求解器本身不变。论文自述的规模结论是:在 10–20 次函数求值内生成高质量样本,相对此前的免训练采样器有 \(4\sim 16\times\) 加速。
方法(机制要点)
出发点:扩散 ODE 的半线性结构。 参数化扩散 ODE 为 \(\frac{\mathrm d\mathbf x_t}{\mathrm dt} = f(t)\mathbf x_t + \frac{g^2(t)}{2\sigma_t}\epsilon_\theta(\mathbf x_t,t)\),其中 \(f(t)\mathbf x_t\) 对 \(\mathbf x_t\) 线性(由噪声调度决定,\(\alpha_t,\sigma_t\) 可微),而网络项 \(\epsilon_\theta\) 一般是非线性的——这类 ODE 称为半线性(semi-linear)ODE。黑盒求解器把整个右端当作输入离散,线性项的近似误差无法避免,这是小步数下失效的一个来源。
第一个关键观察:常数变易法把线性项解析积出。 对半线性 ODE 用变易常数公式,解写成齐次部分的精确解加上网络项的加权积分,线性项不再有离散误差。
第二个关键观察:换元到对数信噪比。 令 \(\lambda_t := \log(\alpha_t/\sigma_t)\)(对数信噪比的一半,因 DPM 的定义而随 \(t\) 严格递减),并注意 \(g^2(t) = -2\sigma_t^2\frac{\mathrm d\lambda_t}{\mathrm dt}\),则解化为(论文 Proposition 1):
其中带帽符号表示把 \(\mathbf x\) 与 \(\epsilon_\theta\) 的时间变量按 \(\lambda\) 的逆函数重参数化后的形式。网络项只以 \(\int e^{-\lambda}\hat\epsilon_\theta\,\mathrm d\lambda\)(指数加权积分)出现——论文指出这与 ODE 数值分析里的指数积分器(exponential integrators)直接相关。
求解器构造。 在每个步 \([t_{i-1}, t_i]\) 内,对 \(\hat\epsilon_\theta\) 关于 \(\lambda\) 在 \(\lambda_{t_{i-1}}\) 处做 \((k-1)\) 阶泰勒展开,各阶积分 \(\int e^{-\lambda}\frac{(\lambda-\lambda_{t_{i-1}})^n}{n!}\mathrm d\lambda\) 可反复分部积分解析算出,于是只剩 \(n\le k-1\) 阶全导数需要估计——用指数积分器文献里的 stiff order conditions 估计,即得 \(k\) 阶求解器。一阶(DPM-Solver-1)的更新为
论文在 §4.1 证明该更新与 DDIM 的一步完全相同,即 DDIM 是这一族的一阶特例;并指出这正是 DDIM 优于传统一阶 Euler 离散的原因——它同样利用了半线性结构。二阶(DPM-Solver-2,单步,取 \(\lambda\) 中点作中间时刻)与三阶(DPM-Solver-3,单步,每步 3 次 NFE)在正文给出算法。
实现要点。 步长默认在 \(\lambda\) 上均匀划分(论文附录明确为实验设定);对线性与余弦调度,\(\lambda(t)\) 及其逆有解析式,换元开销可忽略;离散时间 DPM 通过 \(\epsilon_\theta(\mathbf x,t):=\tilde\epsilon_\theta(\mathbf x,(N-1)t)\) 接到连续形式;条件采样沿用 classifier guidance 的定义 \(\epsilon_\theta(\mathbf x_t,t,y):=\epsilon_\theta(\mathbf x_t,t)-\sigma_t\nabla_{\mathbf x}\log p_t(y|\mathbf x_t;\theta)\)。面向 \(K\le 20\) 次 NFE 的快速版本按 \(\lfloor K/3\rfloor\) 步三阶加上余数用一阶(DDIM)或二阶补齐一次,以用尽预算。
实验结果(摘要)
CIFAR-10 上 10 次函数求值得 FID 4.70、20 次得 2.87;在多个数据集(CIFAR-10、ImageNet 64/128、CelebA 64、LSUN 卧室 256)上验证,相对此前的免训练采样器自述 \(4\sim 16\times\) 加速。论文另外给出与 DDIM/Analytic-DDIM/Euler 离散化等一阶方法的对照,以及自适应步长版本(NFE \(>20\) 时使用,含相对容差参数)的行为。
与本库的关系
准入方式为 U0(用户指令,见 frontmatter admission-note):本卡的存在目的是为 CPT-029(DPM-Solver)提供 defined-by 锚点,解决“库内多处引用 DPM-Solver 而无定义”的概念缺口。下游引用关系:PPR-2501.15564(Diffusion Planner)用其数据预测变体 PPR-2211.01095(CPT-030)作反向过程求解器并显式声明 VP 调度;PPR-2606.26017(G2DP)用 10 步 DPM-Solver 并把引导梯度注入求解器(见 CPT-013),因此 CLM-032 的 scope 与 EVI-028 的 method 都以该求解器的步序列为标度;EVI-036 记录 PPR-2501.15564 对步数与温度的扫描(结论是步数在该求解器下稳健)。加工深度为 Tier-0(DA5):只做 provenance 锚定与定位描述,不产 Claim/EVI/FRM;升级 Tier-1 需人工确认。
关联(9)
- PPR-2211.01095 DPM-Solver++: Fast Solver for Guided Sampling of Diffusion Probabilistic Models
- PPR-2501.15564 Diffusion-Based Planning for Autonomous Driving with Flexible Guidance
- PPR-2606.26017 G2DP: Diffusion Planning with Spatio-Temporal Grid Guidance
- CLM-032 稠密网格引导是纯推理期模块:占据预测器与生成骨干分开训练、仅在推理耦合,不重训不改骨干即可注入解析梯度,且部分替代事后规则精修(作者推断)。
- EVI-028 Fig. 8:steps 8–9 + lambda_t=0.5 峰值 77.61;早窗与 lambda_t≥0.8 均退化。
- EVI-036 Fig. 7:低温度采样增强轨迹稳定性、步数在 DPM-Solver++(CPT-030)下稳健;w/ refine. 用更低温度(0.1 vs 0.5)以利精修判断——方法使用边界面,非引导窗口消融。
- CPT-013 spatio-temporal cost volume
- CPT-029 DPM-Solver
- CPT-030 DPM-Solver++