Consistency Model 技术文档(原理 + 自洽性 + 蒸馏/直接训练 + 采样 + 对比)
本文档为正式技术规格文档,系统介绍 Consistency Model 的核心思想、自洽性定义、两种训练范式(Consistency Distillation / Consistency Training)、一步与多步采样,以及与扩散模型、MeanFlow 的对比。
- 算法名称:Consistency Model(一致性模型)
- 提出者:Song Yang, Prafulla Dhariwal 等(OpenAI / 独立研究)
- 发表时间:2023 年(ICML 2023)
- 核心定位:一步或极少步采样的生成模型
- 基础依托:扩散模型轨迹上的自洽性(self-consistency)
- 核心创新:从学习瞬时速度/得分改为学习「轨迹上任意点到数据」的一致性映射 fθ(xt,t)→x1,实现 1-NFE 或少量 NFE 采样
- 扩散模型与流匹配通过 ODE/SDE 从噪声 x0 生成数据 x1,需对向量场或得分进行多步数值积分(常需 20~50+ 步),推理延迟高。
- 步数减少会明显损害样本质量,难以在保持质量的前提下做到真正的一步生成。
不直接学瞬时速度 vt 或得分 ∇logpt,而是学一个一致性函数 fθ:将轨迹上任意点 (xt,t) 映射到同一轨迹的终点 x1。若该映射在整条轨迹上「自洽」,则从噪声 x0 出发只需一次前向即可得到 x1=fθ(x0,0),实现一步生成。
- 设数据 x1∼pdata,噪声 x0∼pnoise(如 N(0,I))。扩散或流匹配定义了一条从 x0 到 x1 的概率轨迹 t↦xt(t∈[0,1] 或 [0,T])。
- 一致性函数 fθ(x,t):输入当前状态 x 与时间 t,输出该轨迹应到达的终点(即数据端样本)。理想情况下,对同一轨迹上的任意 (xt,t),有 fθ(xt,t)=x1。
自洽性:轨迹上任意两个时刻 t,t′ 的状态 xt,xt′ 经 fθ 映射到同一终点,即
fθ(xt,t)=fθ(xt′,t′)=x1.因此,模型学的是「从轨迹上任意点指向终点」的映射,并约束其在同一条轨迹上一致。
为与生成过程兼容,通常要求:
- fθ(x1,1)=x1(在 t=1 时已是数据,终点即自身);
- fθ(x0,0)=x1(从噪声 x0 一步得到数据 x1)。
因此一步采样形式为:x1=fθ(x0,0),x0∼pnoise。
- xt∈Rd:时刻 t 的状态(t∈[ε,1] 或 [0,T],ε 为小正数避免奇异性)。
- x1∼pdata:数据分布。
- x0 或 xε:噪声端(如高斯)。
- fθ(x,t):一致性模型,输入 (x,t),输出与 x 同维的向量,表示「从 (x,t) 所在轨迹的终点」。
- 教师模型(仅蒸馏时需要):多步扩散/流 ODE 的向量场或得分,用于从 x1 生成轨迹并给出「目标终点」估计。
设教师(或某个前向过程)给出从 x1 到噪声的轨迹 {xt}t∈[ε,1](例如 xt 为 x1 加噪后的状态)。若 f 是理想的一致性函数,则对轨迹上任意两点 (xt,t) 与 (xt′,t′),有
f(xt,t)=f(xt′,t′)=x1.训练目标即让 fθ 在数据与噪声生成的轨迹上逼近这一性质。
前提:已有训练好的扩散模型(或概率流 ODE)作为教师。
思路:用教师从 x1 出发,沿 ODE 积分得到轨迹上的点 (xt,t);再用教师从 xt 积分到终点,得到「目标终点」x^1(通常用多步数值积分近似)。学生 fθ(xt,t) 拟合该目标:
LCD=Ex1,t,xt[d(fθ(xt,t),x^1)],其中 d(⋅,⋅) 为距离(如 L2),xt 由教师前向过程从 x1 采样得到,x^1 由教师从 xt 反向积分得到。
特点:
- 依赖预训练扩散/流模型,两阶段(先训教师,再训一致性模型)。
- 目标 x^1 来自数值积分,存在离散化误差,理论上是近似目标。
前提:无需教师,仅需数据 x1∼pdata。
思路:用某种前向过程从 x1 得到 xt(例如加噪 xt=αtx1+σtϵ),并构造「目标终点」。一种常见做法是:对同一 x1,取两个不同时间 t>t′,得到 xt,xt′,约束 fθ(xt,t) 与 fθ(xt′,t′) 一致(都应为 x1),即
LCT=Ex1,t,t′,xt,xt′[d(fθ(xt,t),fθ(xt′,t′))],或直接约束 fθ(xt,t)→x1(若 x1 可作为目标)。实际实现中常配合课程学习:先在小范围 t(接近数据)上训练,再逐步扩大到更大 t(接近噪声)。
特点:
- 单阶段,不依赖教师。
- 目标构造和课程设计需要较多设计,理论偏启发式。
x0∼pnoise,x1=fθ(x0,0).一次前向即得样本,延迟最低。
可将区间 [0,1] 划分为 0=t0<t1<⋯<tK=1,从 xt0=x0∼pnoise 出发,迭代:
xtk+1=fθ(xtk,tk)+(可选)修正项,或使用论文中的多步更新公式,用更多步数换取更高样本质量。
- 采样数据 x1∼pdata。
- 采样时间 t,用教师前向过程得到 xt。
- 用教师从 xt 积分到终点,得到目标 x^1。
- 前向 fθ(xt,t),最小化 d(fθ(xt,t),x^1) 更新 θ。
- 采样数据 x1∼pdata。
- 采样时间 t,t′,用前向过程得到 xt,xt′。
- 前向 fθ(xt,t) 与 fθ(xt′,t′),最小化二者差异(或与 x1 的差异)更新 θ。
- x0∼pnoise。
- x1=fθ(x0,0),输出 x1。
| 维度 | 扩散 / 流匹配 | Consistency Model | MeanFlow |
|---|
| 学习目标 | 瞬时速度 vt 或得分 ∇logpt | 一致性映射 fθ(xt,t)→x1 | 区间平均速度 u(zt,r,t) |
| 采样步数 | 多步积分(常 20+ 步) | 1 步或少量多步 | 1 步 z1=z0+uθ(z0,0,1) |
| 训练 | 单阶段,目标解析(如 flow matching) | CD 依赖教师两阶段;CT 单阶段但需课程等设计 | 单阶段,目标由恒等式解析给出 |
| 理论 | 基于 ODE/SDE、概率路径,较闭合 | 自洽性 + 蒸馏/启发式目标,非完全闭合 | 从平均速度定义严格推导,完全闭合 |
- 需要极低延迟的生成(一步或少数几步)。
- 有现成扩散/流模型时可做 CD 压缩为一致性模型;无教师时可考虑 CT。
- 与 MeanFlow 相比:Consistency Model 更依赖蒸馏或启发式训练;MeanFlow 用平均速度 + 严格恒等式,单阶段、理论闭合,同样支持一步生成。
- Song Yang, Prafulla Dhariwal, et al., Consistency Models, ICML 2023.
- 相关:Flow Matching、DDPM、Probability Flow ODE、MeanFlow(一步生成、平均速度场)。