先建立 NFE、teacher path、endpoint consistency、distribution matching 与 student rollout distribution 的共同语言。
Generative Model Distillation
生成模型蒸馏:从路径压缩到分布匹配,再到自回归视频自校正
监督对象如何从 teacher path 迁移到 student 推理时真正会访问的状态分布
1. 一句话总纲:生成蒸馏到底在蒸什么?
生成模型蒸馏的目标不是简单把大模型变小,而是把一个昂贵的采样过程变成便宜的采样过程。
对分类模型来说,teacher 通常给出一个 logits 分布,student 学这个分布即可。对扩散模型、flow 模型和视频生成模型来说,teacher 给出的不是一个静态答案,而是一整条从噪声到样本的计算路径:每一步的 denoising direction、ODE trajectory、最终样本分布、CFG 后的偏好方向,甚至是视频模型在自回归生成时不断遇到的 self-generated context。
因此,生成蒸馏的第一个问题不是 loss 怎么写,而是 student 到底要匹配什么:匹配 teacher 的每一步,匹配同一条轨迹的终点,匹配最终样本云,匹配真实图像流形,还是匹配 student 推理时自己会访问的状态分布。
这里 \(p_T\) 是昂贵 teacher sampler 定义的生成分布,\(p_\theta\) 是低 NFE student 分布。不同方法的差别,在于 \(\mathcal{D}\) 无法直接计算时,选择哪个代理监督对象。
监督对象选择器
同一个 teacher-student 框架可以监督 logits、transition、endpoint、distribution、reward 或 self-rollout。越靠右,监督越接近 student 推理时的真实状态分布,优化也越难。
0. 阅读路线
全文按“监督对象”组织,而不是按论文年份罗列。
逐条检查训练输入、推理时保留的组件、额外网络、采样步数和失败模式,再对照工程决策树与评估 checklist。
DMD/DMD2、ADD/LADD、Self-Forcing、Self-Forcing++ 集中体现了现代方法如何把监督推向更接近推理分布的区域。
2. 数学坐标系:diffusion、flow、CFG、NFE 与 teacher-student
后文所有方法都会反复用到这些词;先把坐标系对齐。
NFE:为什么 diffusion 慢
NFE 是 Number of Function Evaluations,也就是采样时模型前向调用次数。50-step diffusion 通常意味着约 50 次 denoiser 调用;如果使用 CFG,每一步可能还要 conditional 与 unconditional 两次前向,真实代价接近翻倍。
这里 \(c\) 是文本 prompt 或其他条件,\(x_T\) 是高噪声状态,\(x_0\) 是最终图像、视频帧或 latent。少步蒸馏通常把 50/100/1000 步压到 1/2/4/8 步。
score、denoiser、velocity
score 可粗略理解为往数据分布高密度区域走的方向。denoiser 可以预测噪声 \(\epsilon\)、干净样本 \(x_0\)、\(v\)-prediction 或 flow velocity。低 NFE 下,参数化和 loss weighting 往往决定稳定性。
CFG 为什么重要
Classifier-Free Guidance 把条件预测和无条件预测线性组合成更强的文本对齐方向。Guided Distillation 的目标之一,是把这个 guided vector 压进 student,让推理不再需要双前向 CFG。
train-test mismatch
训练时 student 看到的状态常来自 teacher trajectory、真实数据加噪或离线 teacher samples;推理时 student 看到的是自己上一步生成的状态。NFE 降到 1 到 4 步后,这个差异会被放大。
DMD2 的 multi-step backward simulation、Self-Forcing 的 self-rollout、Self-Forcing++ 的 long rollout window correction,本质上都在把训练分布往 student inference distribution 推近。
3. 方法地图:六种监督对象
从左到右,监督信号越来越不依赖 teacher 的逐步轨迹,越来越接近 student 推理时真正会遇到的分布。
| 路线 | 匹配对象 | 绑定 teacher path | 常需 real data | 额外网络 | 典型 NFE | 代表方法 | 主要风险 |
|---|---|---|---|---|---|---|---|
| 路径压缩 | teacher 的一步或多步 transition | 强 | 可选 | 无 | 4-16 | Progressive, Guided | 继承 path 偏差,多轮误差累积 |
| 一致性模型 | 同一 PF-ODE 轨迹 endpoint | 中 | 可选 | EMA target | 1-4 | CM, LCM, TCD, CTM, iCT | 1-step 模糊,schedule 敏感 |
| 分布匹配 | noisy marginal distribution | 弱 | 方法相关 | fake score model | 1-4 | Diff-Instruct, DMD, DMD2, SiD, SIM | fake score 不稳,多样性下降 |
| 对抗反馈 | real/fake 或 latent feature realism | 弱 | 通常需要 | discriminator | 1-4 | ADD, LADD, SiDA | GAN artifact,prompt alignment 受损 |
| Flow 少步化 | 更直 path 或 average velocity | 不一定 | 视方法而定 | 视方法而定 | 1-8 | Reflow, Shortcut, MeanFlow | 与蒸馏边界易混淆 |
| 视频 self-rollout | student 长程状态分布 | 弱 | 视方法而定 | critic/reward 可选 | chunk/streaming | Self-Forcing, Self-Forcing++ | 长程漂移,记忆不足 |
4. 路线一:路径压缩 -- Progressive / Guided Distillation
路径压缩最直观:teacher 走多步,student 学成少步;代价是强绑定 teacher trajectory。
Progressive Distillation
一句话直觉:老师原来每次只能迈两小步,学生学会把这两小步合成一大步;重复这个过程,采样步数逐轮减半。
把 DDIM-like teacher 的 \(K\) 步采样压到 \(K/2,K/4,\ldots\),让少步采样仍然沿着 teacher 局部 transition 前进。
从同一个 \(x_t\) 出发,teacher 走两步得到目标 \(x^{T}_{t-2\Delta}\),student 走一步得到 \(x^{S}_{t-2\Delta}\),最小化二者距离,再把 student 作为下一轮 teacher。
只保留 student 和 distilled schedule;通常不需要原始 teacher。低 NFE 下 \(v\)-prediction、\(x_0\)-prediction 和 loss weighting 很关键。
强 teacher-path 绑定会继承 teacher trajectory 的偏差;多轮蒸馏会放大局部误差。
算法流程
Trajectory Compression Lab
曲率越高、student step 越大,toy error 越高;distillation round 越多,NFE reduction 越高。
NFE reduction = 4x · toy error = 0.00
Guided Distillation
一句话直觉:先把 CFG 合成后的 guided vector 变成 student 的单次输出,再把 guided student 做少步采样。
CFG 每步常需 conditional 与 unconditional 两次前向。Guided Distillation 压缩的是 CFG-composed denoiser,可同时减少 guided vector 计算和后续采样步数。
Guided Distillation 主要学 guided vector;LCM 学 augmented PF-ODE 上的 endpoint consistency。二者都能服务 few-step inference,但监督对象不同。
student 可直接输出接近 CFG 后的方向,通常不再需要双前向 CFG;但往往只适配训练过的 guidance scale 范围。
scale 泛化有限,高 guidance 可能过饱和;它省 CFG 成本,不自动解决所有 trajectory compression error。
算法流程
5. 路线二:一致性模型 -- 从 CM 到 LCM / TCD / CTM / iCT
一致性不是逐步复制 teacher,而是让同一条 PF-ODE 轨迹上的不同点都知道同一个终点。
直觉类比:山路上不同高度的位置,都应该能指向同一个山脚终点。一致性模型学的不是每一步怎么走,而是无论从轨迹上的哪个点出发,都要知道终点在哪。
可从 diffusion teacher distill,也可直接 consistency training。使用 EMA target 稳定 endpoint matching。
把 guided reverse diffusion 看成 augmented PF-ODE,在 latent space 预测 few-step endpoint,常用于 LCM-LoRA 工程接入。
从 endpoint consistency 扩展到 trajectory consistency、anytime-to-anytime mapping 或更稳定的独立一致性训练。
1-step 延迟最低,但更容易模糊或语义弱;2-4-step 通常在细节和文本一致性上更稳。
算法流程
Consistency Endpoint Lab
同一轨迹上多个 noisy states 都指向同一 endpoint。噪声等级越高,一致性误差越难控制。
consistency error = 0.00
Consistency distillation 仍可依赖 teacher ODE 轨迹;consistency training 更接近从数据直接训练。两者都不等于完整分布匹配,低步数细节仍取决于 schedule、parameterization 和 boundary condition。
6. 路线三:分布匹配 -- Diff-Instruct、DMD、DMD2、SiD、SIM、SiDA
分布匹配不要求单个样本路径一致,只要求最终样本分布或 noisy marginal distribution 接近。
从路径匹配到分布匹配
路径匹配要求 student 跟 teacher 走类似路线;分布匹配只要求 \(p_\theta(x_0|c)\approx p_T(x_0|c)\)。这更接近生成建模目标,但高维分布不能直接比较,DMD 类方法转而比较不同噪声时间 \(t\) 的 score。
\(s_{\mathrm{real}}\) 告诉我们往 teacher 或真实数据高密度区域走,\(s_{\mathrm{fake}}\) 告诉我们当前 student 分布已经在哪里。二者差值就像把 fake samples 推向 target distribution 的修正方向;不同论文的符号方向可能不同,关键是 real/fake score gap 的语义。
Diff-Instruct 与 DMD
从 KL / integral KL 角度,把 diffusion teacher 的分布知识蒸馏到 generator,是 DMD 前的重要铺垫。
让 one-step/few-step generator 的 noisy marginal distribution 接近 teacher 或 real distribution,而不是逐路径复现 teacher。
teacher score 只描述目标分布,还需要额外 \(F_\phi\) 估计当前 generator 分布在哪里,才能构造 score gap。
原始 DMD 中 paired regression 可稳定训练、保留 teacher path 信息,但也可能把模型拉回 trajectory matching,削弱纯分布匹配优势。
这里 \(x_0=G_\theta(z,c)\),\(x_t\) 是对 \(x_0\) 加噪后的状态,\(s_{\mathrm{real}}\) 来自 teacher 或 real-data score,\(s_{\mathrm{fake}}\) 来自 fake score model,\(w(t)\) 是时间权重。
算法流程
DMD vs Trajectory Matching
trajectory 模式绑定路径;distribution 模式只看样本云覆盖。fake critic accuracy 和 GAN weight 会改变锐度与覆盖风险。
coverage risk = medium · sharpness = medium
DMD2:对 DMD 的四层修正
移除 paired regression,使目标更接近纯分布匹配。
使用 two-time-scale fake critic / fake score 更新,让 fake score 跟上 generator 的非平稳分布。
加入 GAN loss,用 real data signal 修正 teacher score 或 fake score 偏差。
通过 backward simulation 模拟推理时多步输入分布,缓解 train-test mismatch。
推理时只保留 one-step 或 few-step generator;fake score、GAN head 和 teacher 不参与推理。DMD2 的优势不是多加了 GAN,而是系统处理分布匹配稳定性与 multi-step mismatch。
算法流程
SiD / SIM / SiDA / Uni-Instruct
Score Identity Distillation 从 score identity 角度做 data-free one-step distillation,目标是减少对 paired teacher samples 的依赖。
Score-based Implicit Matching 属于 score divergence family,关注如何用 score matching 稳定驱动隐式 generator。
在 score identity distillation 上结合 adversarial feedback,试图同时提升真实感和分布对齐。
把多个 one-step diffusion distillation objective 放入统一理论框架,强调 divergence、score 估计和优化稳定性的选择。
这条路线的核心问题不是把 loss 名字换掉,而是选择什么 divergence、如何稳定估计 score、如何避免 mode collapse 或 diversity loss。
7. 路线四:对抗反馈 -- ADD 与 LADD
低 NFE 下单纯回归容易模糊,单纯 GAN 又可能牺牲 prompt alignment;ADD/LADD 试图把两类信号配平。
ADD:score distillation 与 adversarial loss 的互补
ADD 的关键不是简单把 GAN loss 加到 diffusion 上,而是把两个互补信号结合起来:adversarial loss 负责看起来真实,frozen diffusion teacher 的 distillation/SDS-like loss 负责保留 teacher 的组合能力和文本对齐。teacher 往往作用在重新加噪后的 student output 上,而不是 raw generated image。
student 从 noisy input 直接产生低步样本;输出重新加噪后由 frozen diffusion teacher 给 score/SDS-like 信号,同时 discriminator 约束真实图像流形。
只保留低步 student,通常不需要 teacher、discriminator 或 CFG,因此节省步数和 CFG 双前向成本。
adversarial signal 过强时可能过锐、产生 artifact 或牺牲 prompt alignment;score signal 过强又可能回到模糊路径回归。
不能只看 sharpness,需要同时看文本对齐、diversity、分辨率、CFG 设置和真实 latency。
算法流程
Loss Balance Lab
调节 score、DMD、adversarial、reward 权重,观察 toy sharpness、coverage 和 temporal consistency。
LADD:把真实感老师搬到 latent generative features
LADD 可以看作把 ADD 的真实感老师从 RGB 判别器迁移到 latent diffusion teacher 的内部生成特征中。直接好处是避免昂贵 RGB decode,也让判别信号更贴近 latent generator 实际工作的空间。
teacher 既生成 synthetic target latents,也作为 latent feature discriminator backbone。
不再 decode 到 RGB 后判别,而是在 latent/token/generative feature 上做 adversarial feedback。
高噪声特征更偏全局结构,低噪声特征更偏局部纹理;synthetic data 可改善 image-text alignment。
更适合 SD3/DiT/MAR 或高分辨率 latent 模型;在某些 synthetic data 设置下,额外 distillation loss 可能不再必要。
算法流程
LADD Feature Feedback
拖动 noise level,看反馈从 global structure 逐渐偏向 local texture。
8. 路线五:Flow 少步化与相邻路线 -- 不只是蒸馏 teacher
低 NFE 生成不只有 teacher-student 压缩,也可以通过重新设计 path、velocity 或训练目标来实现。
边界说明
这一节讨论的是少步生成的相邻路线,不一定都是传统意义上的 distillation。把它们放在这里,是为了说明低 NFE 生成也可以从训练目标和路径设计入手。
从训练目标层面学习 vector field,路径设计更直、更容易积分。
通过 reflow 把弯曲路径拉直,使少步积分误差降低。
让模型学习不同步长的跳步更新,而不是只能做固定小步。
强调 self-contained one-step generative modeling,直接学习区间 average velocity,而不是把 instantaneous velocity 用一步 Euler 硬近似。
算法流程
9. 路线六:视频 self-rollout 蒸馏 -- Self-Forcing 与 Self-Forcing++
视频和自回归生成的核心矛盾,是训练时喂 ground-truth context,推理时只能吃自己生成的历史。
直觉类比:teacher forcing 像做饭训练时每一步都有人帮你把锅洗干净、食材摆好;真正考试时,你必须接着自己上一轮留下的锅和食材继续做。Self-Forcing 的核心就是训练时就让模型吃自己做的饭。
Self-Forcing
AR video diffusion 的 exposure bias:训练 context 与推理 context 不一致,长程误差逐段累积。
student 在训练时进行 self-rollout,使用自己生成的 context 和 rolling KV cache,再用 holistic video distribution loss 更新。
保留 autoregressive few-step generator 与 rolling KV cache;teacher、critic 或 reward model 只在训练时需要。
训练 horizon 不足会导致身份漂移、运动冻结、cache contamination 或连续 latent drift。
算法流程
Rolling KV Cache Lab
比较 Teacher Forcing 与 Self Forcing。后者训练与推理都使用 self-generated context 和 rolling KV cache。
train-test gap warning = high
Self-Forcing++
- student 使用 rolling KV cache 自回归生成超过 teacher horizon 的长视频 latent \(\hat{x}_{1:T}\)。
- 从 long rollout 中采样连续短窗口 \(\hat{x}_{i:i+k}\)。
- 对窗口做 backward noise initialization,把它映射到 teacher 熟悉的 noisy state。
- 用短 teacher / critic 对该窗口提供 correction 或 extended DMD 分布匹配信号。
- 更新 student,使下一次 self-rollout 的长程状态更接近目标分布。
算法流程
常见失败模式
长程身份漂移、物体遮挡后形状变化、多事件组合不稳定、rolling KV cache 污染、运动冻结或节奏崩坏、极长视频 continuous latent drift。
10. 怎么选方法:面向工程落地的决策树
先定目标,再选监督对象;不要从 paper 名字开始选。
只想省 CFG 双前向:优先 Guided Distillation。
已有 SD/SDXL 想到 2-4 step:优先 LCM / LCM-LoRA / TCD。
追求 1-step 或 2-step 高保真:看 DMD2 / ADD / LADD / SiDA。
使用 DiT、SD3、MAR 或高分辨率 latent:优先 LADD 这类 latent-space adversarial feedback。
目标是长视频或 streaming video:看 Self-Forcing / Self-Forcing++。
不想依赖 teacher:看 Flow Matching、Shortcut、MeanFlow、iCT 等相邻路线。
| 目标 | 推荐路线 | 原因 | 注意事项 |
|---|---|---|---|
| 低成本 4-step 文生图 | LCM / TCD | 工程成熟,接入简单 | 1-step 质量可能不稳 |
| 1-step 高保真 | DMD2 / ADD / LADD | 分布或对抗反馈更强 | 训练复杂,可能掉多样性 |
| 高分辨率 latent / DiT | LADD | 避免 RGB decode,利用 teacher feature | 判别信号设计敏感 |
| 保留文本对齐 | Guided Distill / ADD / LADD | 显式处理 CFG 或 teacher alignment | 需要评估 prompt following |
| 长视频 | Self-Forcing++ | 直接处理 self-rollout mismatch | 长程记忆仍是难点 |
11. 怎么评估:不要只被 1-step 样例图说服
少步生成的评估必须同时看质量、速度、训练成本和覆盖度。
- 同等 NFE 比较:1-step 对 1-step,4-step 对 4-step。
- 同等 backbone / teacher:SD1.5、SDXL、SD3、DiT、EDM2、FLUX 不能随意横向比较。
- 是否使用 CFG:有无 CFG 的速度、显存和文本对齐都不同。
- 真实 latency:NFE 少不一定等于快,decoder、分辨率、模型尺寸、KV cache 都影响。
- 训练成本:teacher pairs、fake score model、GAN discriminator、synthetic data generation 都可能很贵。
- 质量与多样性:FID 好不代表 diversity 没掉;样例漂亮不代表覆盖充分。
- 文本对齐:看 CLIPScore、GenEval、DPG-Bench 或人评,不只看视觉真实感。
- 视频评估:看 temporal consistency、motion quality、FVD、VBench、人评和长程身份保持。
- 失败样例:可靠报告应展示失败模式,而不是只展示 cherry-picked samples。
- 复现细节:训练数据、teacher、schedule、NFE、CFG scale、分辨率、采样器都要写清楚。
12. 常见误解与失败模式
少步生成不是单一指标竞赛,很多漂亮样例背后隐藏了分布覆盖和条件对齐问题。
常见误解
- 蒸馏就是压参数:生成蒸馏经常压的是采样计算图和 NFE,参数量可以不小。
- 1-step 一定最快:真实速度还取决于模型大小、分辨率、decoder、CFG、KV cache 和系统实现。
- FID 好就代表模型好:FID 不能充分反映 prompt alignment、diversity、composition、long-tail concepts 和视频时序一致性。
- 少步模型只是 teacher 的近似:DMD2、ADD、LADD、Self-Forcing 已开始利用 distribution、adversarial feedback 或 self-rollout correction。
- 所有少步生成都是蒸馏:MeanFlow、部分 Flow Matching / Shortcut 路线更像重新设计训练目标或路径。
| 方法族 | 典型失败模式 | 可能原因 |
|---|---|---|
| Progressive / Guided | 模糊、误差累积、继承 teacher path 偏差 | 强路径绑定,多轮误差放大 |
| Consistency / LCM | 1-step 细节弱、文本对齐不稳 | endpoint 学习不足,schedule 敏感 |
| DMD / DMD2 | diversity 下降、fake score 不稳、mode seeking | fake distribution 估计困难,优化非平稳 |
| ADD / LADD | 过锐、GAN artifact、prompt alignment 受损 | adversarial signal 压过 teacher alignment |
| Flow 少步化 | 一步结果欠细节或路径假设不匹配 | path/velocity 学习难,训练目标偏差 |
| Self-Forcing | 长程漂移、身份变化、运动冻结 | self-rollout distribution 难覆盖,长期记忆不足 |
13. 开放问题
这些问题决定了少步生成能否从演示模型走向可靠系统。
- one-step 生成的 fidelity-diversity trade-off 是否存在更好的理论刻画?
- fake score model 如何稳定跟踪高速变化的 generator distribution?
- adversarial feedback 如何避免 reward hacking、过锐纹理和 prompt misalignment?
- 少步模型是否系统性继承或放大 teacher bias?
- 视频蒸馏中如何处理长期记忆、身份一致性和多事件组合?
- distillation objective 能否统一 diffusion、flow、AR token generation、audio、3D 和 video?
- 如何建立公平的 latency/quality/cost benchmark?
- 少步模型在 controllability、editing、inversion、安全过滤和 personalization 上是否会退化?
14. 术语表
把反复出现的技术词压缩成可查表。
| 术语 | 解释 |
|---|---|
| NFE | Number of Function Evaluations,采样时模型前向调用次数。 |
| CFG | Classifier-Free Guidance,通过条件和无条件预测组合增强条件对齐。 |
| teacher path | teacher 从噪声到样本的逐步采样轨迹。 |
| student rollout | student 在推理或训练中根据自己输出继续生成的过程。 |
| score | 数据分布 log density 对输入的梯度,可理解为朝高密度区域移动的方向。 |
| PF-ODE | Probability Flow ODE,将 diffusion 的随机反向过程对应到确定性 ODE。 |
| endpoint consistency | 同一生成轨迹上不同时间点都应映射到同一 clean endpoint。 |
| fake score | 对当前 student/generator 分布 score 的估计。 |
| adversarial feedback | discriminator 或 critic 给出的 real/fake 判别信号。 |
| train-test mismatch | 训练时输入分布和推理时输入分布不一致。 |
15. 参考资料与来源核验
表中只记录本文算法流程或评估主张直接依赖的来源;具体数值以各 paper reports 和复现设置为准。
| 主题 | 核验到的流程要点 | 来源 |
|---|---|---|
| Progressive / Guided | teacher 两步合成 student 一步;guided distillation 先匹配 CFG-composed output。 | Progressive Distillation · Guided Diffusion Distillation |
| Consistency / LCM / TCD / CTM / iCT | 同一 PF-ODE 轨迹状态映射到 endpoint;LCM 用 latent guided PF-ODE;TCD/CTM/iCT 扩展 consistency 训练。 | CM · LCM · TCD · CTM · iCT |
| Diff-Instruct / DMD / DMD2 | 从 KL/integral KL 和 score gap 角度做分布蒸馏;DMD2 移除 regression,加入 two-time-scale fake critic、GAN loss、backward simulation。 | Diff-Instruct · DMD project · DMD2 |
| SiD / SIM / SiDA / Uni-Instruct | score identity、score divergence、adversarial score identity 和统一 one-step distillation objective。 | SiD · SIM · SiDA · Uni-Instruct |
| ADD / LADD | ADD 结合 score distillation 与 adversarial loss;LADD 使用 latent teacher generative features、noise-level feedback 和 synthetic data。 | ADD · LADD |
| Flow / Reflow / Shortcut / MeanFlow | Flow Matching 学 vector field;Rectified/Reflow 让路径变直;Shortcut/MeanFlow 学可跳步或 average velocity。 | Flow Matching · Rectified Flow · Shortcut Models · MeanFlow |
| Self-Forcing / Self-Forcing++ | 训练时 self-rollout 与 rolling KV cache;长 rollout 抽短窗口,backward noise initialization 后用短 teacher 做 correction。 | Self-Forcing · Self-Forcing paper · Self-Forcing++ |
| 评估基准 | 文本对齐、组合能力、视频质量、真实延迟和复现细节需要分开报告。 | VBench · GenEval · DPG-Bench · FVD |