目录

Consistency Model

Consistency Model 技术文档(原理 + 自洽性 + 蒸馏/直接训练 + 采样 + 对比)

本文档为正式技术规格文档,系统介绍 Consistency Model 的核心思想、自洽性定义、两种训练范式(Consistency Distillation / Consistency Training)、一步与多步采样,以及与扩散模型、MeanFlow 的对比。

  • 算法名称:Consistency Model(一致性模型)
  • 提出者:Song Yang, Prafulla Dhariwal 等(OpenAI / 独立研究)
  • 发表时间:2023 年(ICML 2023)
  • 核心定位:一步或极少步采样的生成模型
  • 基础依托:扩散模型轨迹上的自洽性(self-consistency)
  • 核心创新:从学习瞬时速度/得分改为学习「轨迹上任意点到数据」的一致性映射 fθ(xt,t)x1f_\theta(x_t, t) \to x_1,实现 1-NFE 或少量 NFE 采样
  • 扩散模型与流匹配通过 ODE/SDE 从噪声 x0x_0 生成数据 x1x_1,需对向量场或得分进行多步数值积分(常需 20~50+ 步),推理延迟高。
  • 步数减少会明显损害样本质量,难以在保持质量的前提下做到真正的一步生成。

不直接学瞬时速度 vtv_t 或得分 logpt\nabla \log p_t,而是学一个一致性函数 fθf_\theta:将轨迹上任意点 (xt,t)(x_t, t) 映射到同一轨迹的终点 x1x_1。若该映射在整条轨迹上「自洽」,则从噪声 x0x_0 出发只需一次前向即可得到 x1=fθ(x0,0)x_1 = f_\theta(x_0, 0),实现一步生成。

  • 设数据 x1pdatax_1 \sim p_{\text{data}},噪声 x0pnoisex_0 \sim p_{\text{noise}}(如 N(0,I)\mathcal{N}(0, I))。扩散或流匹配定义了一条从 x0x_0x1x_1 的概率轨迹 txtt \mapsto x_tt[0,1]t \in [0, 1][0,T][0, T])。
  • 一致性函数 fθ(x,t)f_\theta(x, t):输入当前状态 xx 与时间 tt,输出该轨迹应到达的终点(即数据端样本)。理想情况下,对同一轨迹上的任意 (xt,t)(x_t, t),有 fθ(xt,t)=x1f_\theta(x_t, t) = x_1

自洽性:轨迹上任意两个时刻 t,tt, t' 的状态 xt,xtx_t, x_{t'}fθf_\theta 映射到同一终点,即

fθ(xt,t)=fθ(xt,t)=x1. f_\theta(x_t, t) = f_\theta(x_{t'}, t') = x_1.

因此,模型学的是「从轨迹上任意点指向终点」的映射,并约束其在同一条轨迹上一致

为与生成过程兼容,通常要求:

  • fθ(x1,1)=x1f_\theta(x_1, 1) = x_1(在 t=1t=1 时已是数据,终点即自身);
  • fθ(x0,0)=x1f_\theta(x_0, 0) = x_1(从噪声 x0x_0 一步得到数据 x1x_1)。

因此一步采样形式为:x1=fθ(x0,0)x_1 = f_\theta(x_0, 0)x0pnoisex_0 \sim p_{\text{noise}}

  • xtRdx_t \in \mathbb{R}^d:时刻 tt 的状态(t[ε,1]t \in [\varepsilon, 1][0,T][0, T]ε\varepsilon 为小正数避免奇异性)。
  • x1pdatax_1 \sim p_{\text{data}}:数据分布。
  • x0x_0xεx_\varepsilon:噪声端(如高斯)。
  • fθ(x,t)f_\theta(x, t):一致性模型,输入 (x,t)(x, t),输出与 xx 同维的向量,表示「从 (x,t)(x, t) 所在轨迹的终点」。
  • 教师模型(仅蒸馏时需要):多步扩散/流 ODE 的向量场或得分,用于从 x1x_1 生成轨迹并给出「目标终点」估计。

设教师(或某个前向过程)给出从 x1x_1 到噪声的轨迹 {xt}t[ε,1]\{ x_t \}_{t \in [\varepsilon, 1]}(例如 xtx_tx1x_1 加噪后的状态)。若 ff 是理想的一致性函数,则对轨迹上任意两点 (xt,t)(x_t, t)(xt,t)(x_{t'}, t'),有

f(xt,t)=f(xt,t)=x1. f(x_t, t) = f(x_{t'}, t') = x_1.

训练目标即让 fθf_\theta 在数据与噪声生成的轨迹上逼近这一性质。

前提:已有训练好的扩散模型(或概率流 ODE)作为教师。

思路:用教师从 x1x_1 出发,沿 ODE 积分得到轨迹上的点 (xt,t)(x_t, t);再用教师从 xtx_t 积分到终点,得到「目标终点」x^1\hat{x}_1(通常用多步数值积分近似)。学生 fθ(xt,t)f_\theta(x_t, t) 拟合该目标:

LCD=Ex1,t,xt[d(fθ(xt,t),x^1)], \mathcal{L}_{\text{CD}} = \mathbb{E}_{x_1, t, x_t} \left[ d\bigl( f_\theta(x_t, t),\, \hat{x}_1 \bigr) \right],

其中 d(,)d(\cdot, \cdot) 为距离(如 L2),xtx_t 由教师前向过程从 x1x_1 采样得到,x^1\hat{x}_1 由教师从 xtx_t 反向积分得到。

特点

  • 依赖预训练扩散/流模型,两阶段(先训教师,再训一致性模型)。
  • 目标 x^1\hat{x}_1 来自数值积分,存在离散化误差,理论上是近似目标

前提:无需教师,仅需数据 x1pdatax_1 \sim p_{\text{data}}

思路:用某种前向过程x1x_1 得到 xtx_t(例如加噪 xt=αtx1+σtϵx_t = \alpha_t x_1 + \sigma_t \epsilon),并构造「目标终点」。一种常见做法是:对同一 x1x_1,取两个不同时间 t>tt > t',得到 xt,xtx_t, x_{t'},约束 fθ(xt,t)f_\theta(x_t, t)fθ(xt,t)f_\theta(x_{t'}, t') 一致(都应为 x1x_1),即

LCT=Ex1,t,t,xt,xt[d(fθ(xt,t),fθ(xt,t))], \mathcal{L}_{\text{CT}} = \mathbb{E}_{x_1, t, t', x_t, x_{t'}} \left[ d\bigl( f_\theta(x_t, t),\, f_\theta(x_{t'}, t') \bigr) \right],

或直接约束 fθ(xt,t)x1f_\theta(x_t, t) \to x_1(若 x1x_1 可作为目标)。实际实现中常配合课程学习:先在小范围 tt(接近数据)上训练,再逐步扩大到更大 tt(接近噪声)。

特点

  • 单阶段,不依赖教师。
  • 目标构造和课程设计需要较多设计,理论偏启发式
x0pnoise,x1=fθ(x0,0). x_0 \sim p_{\text{noise}},\quad x_1 = f_\theta(x_0, 0).

一次前向即得样本,延迟最低。

可将区间 [0,1][0, 1] 划分为 0=t0<t1<<tK=10 = t_0 < t_1 < \cdots < t_K = 1,从 xt0=x0pnoisex_{t_0} = x_0 \sim p_{\text{noise}} 出发,迭代:

xtk+1=fθ(xtk,tk)+(可选)修正项, x_{t_{k+1}} = f_\theta(x_{t_k}, t_k) + \text{(可选)修正项},

或使用论文中的多步更新公式,用更多步数换取更高样本质量。

  1. 采样数据 x1pdatax_1 \sim p_{\text{data}}
  2. 采样时间 tt,用教师前向过程得到 xtx_t
  3. 用教师从 xtx_t 积分到终点,得到目标 x^1\hat{x}_1
  4. 前向 fθ(xt,t)f_\theta(x_t, t),最小化 d(fθ(xt,t),x^1)d(f_\theta(x_t, t), \hat{x}_1) 更新 θ\theta
  1. 采样数据 x1pdatax_1 \sim p_{\text{data}}
  2. 采样时间 t,tt, t',用前向过程得到 xt,xtx_t, x_{t'}
  3. 前向 fθ(xt,t)f_\theta(x_t, t)fθ(xt,t)f_\theta(x_{t'}, t'),最小化二者差异(或与 x1x_1 的差异)更新 θ\theta
  1. x0pnoisex_0 \sim p_{\text{noise}}
  2. x1=fθ(x0,0)x_1 = f_\theta(x_0, 0),输出 x1x_1
维度扩散 / 流匹配Consistency ModelMeanFlow
学习目标瞬时速度 vtv_t 或得分 logpt\nabla \log p_t一致性映射 fθ(xt,t)x1f_\theta(x_t, t) \to x_1区间平均速度 u(zt,r,t)u(z_t, r, t)
采样步数多步积分(常 20+ 步)1 步或少量多步1 步 z1=z0+uθ(z0,0,1)z_1 = z_0 + u_\theta(z_0, 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(一步生成、平均速度场)。

相关内容