Consistency Models:把「去噪 1000 步」压成「去噪 1 步」
🎯 为什么重要:扩散模型的「慢」是它最后一块短板
扩散模型已经赢了图像/音频/视频生成,但有一个老大难:慢。生成一张图要 10~2000 次网络前向(NFE),而 GAN / VAE 只要 1 次。这让它进不了实时应用。Consistency Model 是 OpenAI 给出的系统性答案:
💡 核心思想:自洽性 —— 同一条轨迹上的点都映射到同一处
关键观察:扩散模型的 PF-ODE 给出一条从数据 $x_0$ 到噪声 $x_T$ 的确定轨迹 $\{x_t\}_{t\in[\epsilon, T]}$。论文定义一致性函数:
它必须满足自洽性:同一条轨迹上的任意两点,输出相同。
为了满足边界条件 $f(x_\epsilon, \epsilon) = x_\epsilon$,论文用跳跃连接参数化(和 EDM 的扩散模型架构很像):
🛠️ 怎么做:两种训练方式
| 方式 | 需要预训练扩散? | 训练目标 | 特点 |
|---|---|---|---|
| ① 一致性蒸馏 (CD) | 需要 | 从 $\text{pdata}$ 取 $x$,加噪到 $x_{t_{n+1}}$;用数值 ODE 求解器(Euler/Heun)走一步得 $\hat{x}^\phi_{t_n}$;最小化 $d(f_\theta(x_{t_{n+1}}, t_{n+1}), f_{\theta^-}(\hat{x}^\phi_{t_n}, t_n))$ | 把扩散模型的知识蒸馏成单步采样器;精度高,FID 最好 |
| ② 一致性训练 (CT) | 不需要 | 从 $\text{pdata}$ 取 $x$,分别加噪到 $t_n$ 和 $t_{n+1}$(相邻);最小化两个输出的距离;用 EMA 目标网络 $f_{\theta^-}$ 提供稳定监督 | 把 CM 当成独立生成模型家族训;首次摆脱「必须有扩散先验」 |
| 关键工程选择(CD) | 最优值 | 原因 |
|---|---|---|
| 距离函数 $d(\cdot, \cdot)$ | LPIPS | 输出是图像,LPIPS 比 L1/L2 更贴近人眼;Fig.3a 验证 |
| ODE 求解器 | Heun(二阶) | 同 N 下,二阶比一阶 Euler 误差小(Theorem 1) |
| 离散化步数 N | 18 | 够大就饱和(Fig.3c) |
| CT 中的 N(·) 和 μ(·) | 渐进增长 | 小 N → 快收敛但有偏;大 N → 慢但精度高;渐进调度两段都吃 |
单步出图难免粗糙,CM 设计了 多步采样算法(Algorithm 1):从 $x_T$ 出发用 $f$ 得到 $\hat{x}_0$ → 给 $\hat{x}_0$ 在 $t_n$ 加一点噪声 → 再用 $f$ 去噪 → 重复。每多一次「加噪-去噪」循环,质量就提升一点。这就是「用算力换质量」的回归——把扩散的优点拿了回来。
📊 关键结果:CIFAR-10 单步 FID 3.55(新 SOTA),ImageNet64 单步 6.20
| 数据集 | 方法 | NFE | FID ↓ |
|---|---|---|---|
| CIFAR-10 | DDIM | 50 | 4.67 |
| Knowledge Distillation(合成数据) | 1 | 9.36 | |
| Progressive Distillation (PD) | 1 | 8.34 | |
| CD(本文,蒸馏) | 1 | 3.55 | |
| CD(本文,两步) | 2 | 2.93 | |
| ImageNet 64×64 | PD | 1 | 15.39 |
| DFNO(合成数据) | 1 | 8.35 | |
| CD | 1 | 6.20 | |
| CD | 2 | 4.70 | |
| LSUN Bedroom 256×256 | PD | 2 | 8.47 |
| CD | 1 | 7.80 | |
| CD | 2 | 5.22 |
| 维度 | 结论(PDF 溯源) |
|---|---|
| 蒸馏效果 | CD 在所有数据集 / 所有步数上都优于 PD(progressive distillation),除了 Bedroom 单步 + L2 的一个 corner case(Fig.4) |
| 独立训练 | CT 在无预训练扩散的情况下:CIFAR-10 单步 FID 8.70、两步 5.83,超过大多数单步 GAN(如 BigGAN 14.7、Diffusion GAN 14.6)和非对抗单步生成模型 |
| vs StyleGAN2-ADA | CIFAR-10 上 CD 两步 2.93 已追平 StyleGAN2-ADA 的 2.92(GAN 的强项就是单步) |
| vs 扩散 | CD 两步 FID 2.93(CIFAR-10)已优于 DDPM 1000 步(3.17)和 DDIM 50 步(4.67)——少 25-500 倍算力 |
| 零样本编辑 | 无需专门训练,CM 可做:图像去噪、样本插值、inpainting、上色、超分、笔触引导编辑(SDEdit 风格)—— 论文 §6.3 + Fig.6/8/10/13 |
🌐 在领域中的位置
Consistency Model 是「生成模型加速」线的里程碑:它把扩散的多步迭代折成单步映射,同时保留了多步换质量和零样本编辑能力。后续工作(LCM、CTM、Rectified Flow、一致性 Policy)都沿着这条路。对机器人动作生成也有直接影响——Diffusion Policy 的多步去噪是延迟瓶颈,CM 思路被借去做了「一致性 Policy」(如 Consistency Policy)。
❓ 常见误区
Consistency Model 是扩散模型的一种吗?
两种身份:(1)作为蒸馏时,它是扩散模型的「压缩版」,把上千米步压成 1 步;(2)作为独立训练时(CT 模式),它和扩散模型没关系,是一类新的生成模型。论文 §1 明确说「a new family of generative models」。
它和 Progressive Distillation 有什么不同?
PD 是「2 的幂次」递减(1024 → 512 → 256 → ... → 1),蒸馏一次只能砍半;CM 直接学「轨迹任一点 → 起点」,一次训练就支持单步。论文 Fig.4 显示 CM 在同 NFE 下全面优于 PD。
单步生成会不会丢失多模态性?
不会。CM 是从 $x_T \sim \mathcal{N}(0, T^2 I)$ 出发的一次映射——不同的 $x_T$ 对应不同的 $x_0$,多模态性来自初始噪声的多样性,和扩散一样。
CT 真的不需要扩散预训练吗?
对,CT 直接从随机初始化训练。但 CT 的精度(CIFAR-10 单步 8.70)暂时不如 CD(3.55)——后者毕竟「抄」了扩散的答案。CT 证明了「独立生成模型」身份,CD 才是当下的实用模式。
它对机器人动作生成有用吗?
非常有用。Diffusion Policy 类方法的主要瓶颈就是去噪步数(实时性差)。Consistency Policy 等后续工作直接把 CM 思路搬到动作空间,把几十步去噪压到 1~4 步,让扩散 Policy 进入实时控制。