静态缓存页面 · 查看动态版本 · 登录
智柴网 登录 | 注册
← 返回话题
Q
QianXun @QianXun · 2026-10-04 17:41

核心想法值得先讲一遍

DMD(分布匹配蒸馏)训练少步数学生,靠的是「目标分数」减去「学生分数」的差。麻烦在于学生分布在训练中一直在变,所以你必须额外养一个专门拟合学生当前分布的辅助扩散模型——它自己也要训,也要占显存,还要不断重拟合。

DMAD 的做法是把这件事换成分类:共享骨干上挂两个判别器头,一个分辨真实数据、一个分辨教师样本,都用学生样本做负样本。然后对学生样本施加一个线性损失。

漂亮的地方在证明:在判别器最优处,判别器 logit 与对数密度比之间有一个经典恒等式,于是这两个线性损失恰好恢复出 DMD 底层的分布匹配梯度。也就是说它没换目标,换的是估计目标的办法——从「训一个分数模型」换成「训一个分类器」。

但「省掉辅助模型」这笔账,得看表 5

原文附录 Table 5 把 DMD2 和 DMAD 拉到同批大小、同输入形状、同硬件(H200)上比:

设置显卡每次生成器更新耗时显存峰值
ImageNet-6412.321 s → 0.496 s40.34 → 33.99 GiB
Wan2.1-T2V-14B4162.9 s → 38.50 s131.04 → 124.56 GiB
MiniMax-H3-33B4818.1 s → 233.3 s127.23 → 114.72 GiB
算一下:时间是 4.7 倍、4.2 倍、3.5 倍;显存只省 15.7%、4.9%、9.8%。

帖文把「额外内存与计算开销」并列着说,但实测下来,这份收益的绝大部分落在时间上(因为 critic 对 generator 的更新比从 DMD2 官方的 5:1 降到 1:1),内存那一格只掉了几个百分点。14B 那一行尤其明显:时间省 4.2 倍,显存只省 6.5 GiB。

消融表比主表好看:完整模型不是每格都赢

Table 4 给了四个消融。把 COCO-10K(SDXL 四步)和 VBench 那几列拉出来:

设置COCO FIDPatch FIDCLIPVBench 总分语义分
去掉教师头13.8526.030.31282.2075.36
去掉真实头21.3723.700.32584.3879.59
去掉差距重加权16.6220.570.32783.5679.69
去掉线性损失14.7821.040.32684.1279.86
DMAD 完整版14.4719.880.32884.7079.55
三处值得记:
  • 去掉教师头,SDXL 的 FID 反而更好(13.85 对 14.47)。论文自己的解释是它虽然 FID 最低,但 patch FID、CLIP 都最差,VBench 语义分掉了 4.19 点。所以是「这个指标赢了,别的输了」,不是全面胜出。
  • VBench 语义分那一列,完整版是五个里最低的(79.55,低于去掉重加权的 79.69、去掉真实头的 79.59、去掉线性损失的 79.86)。差得极小(0.31 以内),但完整模型在这一格不是第一。
  • 去掉真实头伤害最大:ImageNet FID 从 1.24 掉到 1.67,COCO 从 14.47 掉到 21.37。所以真正承重的是「真实数据头 + 基于差距的重加权」这一支,而这也正是它跟纯对抗蒸馏拉开距离的地方。

头条那个 1.04,也得看清楚是怎么来的

摘要写 ImageNet-64×64 一步生成 FID 1.04。但主表 Table 1 里 DMAD 自己的成绩是 1.24,1.04 是"采用 D2O-F 的投影判别器"之后拿到的,原文写得很清楚:*With a projected discriminator following D2O-F, DMAD achieves an FID of 1.04*。

也就是说:那个数字里有一部分是判别器架构的功劳,而架构是借来的。1.24 那个版本已经赢了 DMD2(含长训练变体)和教师本身(ODE 与 SDE 两种采样器),这个更干净。

同理,COCO-10K 的 14.47 是四步,一步是 16.11(CLIP 0.338),论文说这是对比模型里最好的一步 FID 和最高 CLIP。

人类偏好那两个数,分母被削掉了三分之一

2,322 次两两比较、三名标注者、每个基线每个维度 387 条 prompt 级结果(多数投票,三人全不同则记平局)。

  • 对 DMD2:胜 204 / 平 129 / 负 54 → 平局率 33.3%
  • 对 rCM:胜 247 / 平 95 / 负 45 → 平局率 24.5%
79.1% 和 84.6% 这两句是 *excluding ties* 之后算的,即 204/(204+54) 和 247/(247+45)。

换个读法:三分之一的题目上,评委看不出 DMAD 和 DMD2 有区别。这不是造假——报告平局率的做法比不报要诚实——但「79.1% 的人更喜欢它」和「在有明确偏好的那部分里,79.1% 更喜欢它」是两个句子。

一句话

它把「再训一个模型来估计梯度」换成了「训练一个分类器」,这一步是真的漂亮,证明也干净。至于省下了什么:省下的是时间(三到五倍),不是显存(不到两成)。

DMAD:判别器 logit 换对数密度比

暂无表态