跳转至

SD3.5-Flash: Distribution-Guided Distillation of Generative Flows

会议: ECCV2026
论文: ECCV 原文
领域: 图像生成
关键词: 整流流、分布匹配蒸馏、时间步共享、分时步微调、移动端生成

一句话总结

SD3.5-Flash 将分布匹配放回学生自身的生成轨迹,配合分时步微调与流水线轻量化,把 SD3.5M 蒸馏为四步文生图模型,在提升部分偏好与对齐指标的同时支持手机部署,但并未改善所有质量指标。

研究背景与动机

高质量文本到图像模型的开销不只来自去噪网络有多少参数,还来自每张图需要反复调用这个网络。 SD3.5 一类整流流模型直接预测潜变量的速度场,将高斯噪声逐步运输到图像潜空间中的样本。 把几十次迭代压成四次可以显著减少计算,却不能简单理解为把采样器步长调大:学生必须学会跨过教师原本需要多次更新才能完成的状态变化。 轨迹模仿为学生提供了起点,而分布匹配蒸馏进一步要求学生生成的整体分布接近教师,不必逐像素复刻教师的每个输出。

困难出现在分布匹配监督的取样位置。 常规 DMD 从学生生成的干净样本出发,重新加噪到随机时刻,再用真实分布和学生分布的得分差提供更新信号。 本文认为,对已经通过轨迹引导建立强噪声—数据耦合的整流流学生,这种重新加噪可能偏离其实际学习到的 ODE 轨迹,使速度估计不可靠。 只有四步时,错误更新也缺少后续迭代修正的机会;同时,一个参数集合还要兼顾不同噪声阶段的画面质量和复杂提示词语义。

作者因此分别处理监督位置、训练容量与部署开销:监督直接使用学生走过的中间状态,末阶段暂时拆分不同时间范围的模型,再将它们合并。 即使去噪只剩四步,T5-XXL 等文本编码器仍会占用大量内存,因此还需在完整生成流水线上做优化。 核心 idea:让少步学生在自身轨迹上接受分布监督,在训练时临时增加时间分段容量,再以单模型和可选文本编码器配置部署。

方法详解

整体框架

输入是文本提示词和高斯噪声,输出是 VAE 解码后的图像;中间状态始终是流模型处理的带噪图像潜变量。 训练先做轨迹预热,再做轨迹内分布匹配,最后进行分时步微调;全流水线轻量化决定部署时保留哪些编码器及使用何种精度。 教师提供分布监督,另一个持续更新的代理模型跟踪学生分布,并为多头判别器提供特征。 代理、判别器和分时步分支都属于训练机制,不是推理时需要顺序调用的额外生成器。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
        INPUT["教师与学生初始化"] --> WARM["轨迹预热"]
        WARM --> MATCH["轨迹内分布匹配"]
        AUX["教师、代理与多头判别器"] -.->|仅训练监督| MATCH
        MATCH --> SPLIT["分时步微调"]
        SPLIT --> OPT["全流水线轻量化"]
        OPT --> GEN["单模型四步生成<br/>与 VAE 解码"]
        PROMPT["推理:文本与噪声"] --> GEN
        GEN --> IMAGE["图像"]

关键设计

1. 轨迹预热:先学会跨过教师轨迹上的多个小步

教师、学生和代理模型都从预训练教师权重初始化,避免让少步生成器从随机参数学习完整图像分布。 第一阶段的轨迹引导损失记为 \(L_{\mathrm{TG}}\):选取教师轨迹中与学生采样时刻对应的状态,监督学生的跨步预测接近教师在对应区间的累计运动。 这不是要求学生在每一个细粒度时刻都复现教师,而是让少数更新节点之间的运输先变得合理。 原文指出,这一步形成类似 reflow 的强耦合噪声—数据对,也为后续训练提供更稳定的起点。 因此第二阶段的目标不再承担从零建立可用生成轨迹的全部压力,可以更多地修正纹理、锐度和整体分布。

需要区分合成训练数据的生成模型与蒸馏教师。 第 5.1 节用 SD3.5 Large 的 8B 模型、32 步和 CFG 4.0 生成合成样本,而少步蒸馏使用的是 2.5B 的 SD3.5M 教师。 两者分别承担训练样本来源与蒸馏指导的角色,不能将结果描述成对 8B 模型的直接四步压缩。 缓存中的轨迹引导公式排版损坏,笔记仅说明可由正文核实的区间模仿机制,不重建其精确求和式。

2. 轨迹内分布匹配:在学生真正到达的状态上计算监督

DMD 想缩小学生分布相对教师分布的 KL 散度,但两者的概率密度无法直接计算。 训练因此使用分布得分提供梯度,而不是显式求出每张图像的概率。 教师给出目标分布的信息;代理速度模型 \(v_{\mathrm{fake}}\) 则通过学习学生生成样本来估计学生分布。 代理不是少步学生的一次前向调用,也不是永久冻结的教师副本,它需要随着学生分布变化持续更新。 第 4.2 节用标准流匹配目标训练该代理:

\[ L_{\mathrm{FM}}=\left\|v_{\mathrm{target}}-v_{\mathrm{fake}}(x_t,t)\right\|_2^2. \]

这里 \(v_{\mathrm{target}}\) 来自构造带噪样本时的目标速度,\(x_t\) 是对应噪声时刻的潜变量。 背景中的整流流插值是 \(x_t=(1-t)x_0+t\epsilon\),其中 \(t=0\) 为数据端、\(t=1\) 为噪声端。 这一代理拟合过程与下述 DMD 监督位置的选择是两件事,不能理解为训练中所有目标都禁止加噪。

时间步共享改变的是分布匹配梯度在哪个中间状态上计算。 学生先沿自己的去噪轨迹走到本次要训练的时间步,只对当前跨步更新启用梯度,再用更新后的下一个带噪状态评估分布差异。 这样不需要先外推干净样本,再加入一份新噪声跳到随机时刻。 代价是 DMD 可见的时间点更少;作者以监督时间覆盖减少,换取对学生实际轨迹更可靠的局部监督。 最终更新若到达 \(t=0\),其 DMD 项被设为零,该步仍由对抗等辅助目标训练,并非完全没有监督。

分布匹配还需要对抗目标共同稳定训练。 代理在多个预设噪声水平和多个网络层抽取潜空间特征,其上附加 MLP 判别头,区分合成真实样本与学生样本。 高噪声特征和低噪声特征分别提供较粗和较细的视觉线索,避免只从一个尺度判断图像是否逼真。 训练采用非饱和 GAN 目标,并周期性重新初始化判别头,防止它们对有限训练模式过拟合。 这一路提取判别特征仍会对样本加噪;“不再随机重新加噪”的贡献应限定为时间步共享下的 DMD 估计。

3. 分时步微调:把训练容量临时分给不同噪声区间

少步模型要用同一组参数处理从全局布局到局部细节的不同阶段,作者将提示词对齐下降部分归因于这一容量限制。 最后阶段把已部分训练的模型复制为两个分支:\(M_1\) 负责 \((0,500]\),\(M_2\) 负责 \((500,1000]\)。 这里使用的是实现中的时间步尺度,与前面的归一化时间区间对应;高噪声区间先于低噪声区间执行。 分支在各自范围微调,并使用衰减率 \(\beta=0.99\) 的指数移动平均,以稳定训练并使权重保持接近原检查点。 收敛后做权重插值,按 \(M_1:M_2=3:7\) 合并,比例依据 GenEval 对齐效果选择。

推理只加载合并后的一个检查点,不需要根据时间步同时保存两个完整模型,也不是对两张生成图像做插值。 这种做法增加的是训练期间的有效容量,推理网络规模没有因此翻倍。 它依赖两个分支仍处于能够有效插值的权重邻域,不能据此推断任意独立训练的模型都可以直接平均。 原文报告末阶段带来构图、背景细节及提示词对齐改善,但主文表 5 没有单列该消融的 GenEval 数字。

4. 全流水线轻量化:把编码器和硬件精度一起纳入部署预算

SD3.5 流水线除 MM-DiT 外,还包含 CLIP-L、CLIP-G、T5-XXL 和 VAE。 其中 T5-XXL 对峰值显存和推理开销影响很大,完整 16-bit 蒸馏流水线需要约 18 GiB GPU 内存。 作者利用 SD3.5 预训练中的编码器 dropout,使 T5-XXL 成为可选模块:移除它时使用空嵌入替代,并保留 CLIP-L/G 的文本条件。 这不是把自然语言提示词全部置空,也不是无条件图像生成。

再将 MM-DiT 量化到 8-bit,结合移除 T5,把显存要求降低到约 8 GiB。 为了适配手机和平板,作者通过 CoreML 将 8-bit 模型进一步量化为 6-bit,并改写 RMSNorm 等操作,以减轻 Apple Neural Engine 上的精度损失。 因此移动端结果不只是把权重文件转成更低位数,还依赖算子实现和硬件后端适配。 量化不保证在所有设备上更快,例如 RTX 4090 上部分 8-bit 配置比 16-bit 配置更慢。 移除 T5 也会削弱复杂组合提示词的条件表达,部署选项应由内存、延迟和语义需求共同决定。

一个完整示例

考虑正文第 4.2 节的训练过程,当前要优化实现尺度上的 \(t=500\) 更新。 先从纯噪声出发,在关闭梯度的情况下走过 \(x_{1000}\rightarrow x_{750}\rightarrow x_{500}\)。 随后启用梯度,用学生预测速度并更新到 \(x_{250}\),教师与代理在这个真实下一状态上提供 DMD 监督。 常规路径会先从当前速度估计干净端点,再重新加噪到随机时间;本文恰好省去了这段离轨操作。 其他辅助目标仍可训练该更新,后续执行 \(x_{250}\rightarrow x_0\) 时则不使用 DMD 项。 部署时只需沿四步学生轨迹运行并解码,不保留此次训练用的教师、代理或判别器。

损失函数 / 训练策略

第一阶段进行 2K 次轨迹预热迭代;第二阶段用分布匹配与多头对抗训练 800 次;第三阶段分时步微调 400 次。 训练在单个 H100 节点上完成,主文没有给出可据此换算的完整 GPU 小时和节点卡数。 代理使用 \(L_{\mathrm{FM}}\) 跟踪学生分布,判别头使用自身的对抗目标,学生接收 DMD 与生成器对抗监督。 这些优化对象不同,不能把代理拟合误差直接解释成推理时的图像质量损失。 由于缓存中 KL 梯度与 GAN 公式存在抽取缺损,这里不编写所谓精确总损失权重,也不猜测未提供的优化器超参数。

实验关键数据

主实验

下表摘自原文表 3,第 12 页。 CLIP、AeS、IR 与 FID 使用 COCO 描述生成的 30K 样本评估;GenEval 是另行评估对象、属性和关系对齐的测试,不是 COCO 上的同一个统计量。 CLIP 是 CLIP ViT-B/32 空间中的图文相似度,AeS 与 IR 分别为 Aesthetic Score 和 ImageReward,均越高越好;FID 比较 Inception-V3 特征分布,越低越好。

模型 步数 CLIP ↑ AeS ↑ IR ↑ GenEval ↑ FID ↓
SD3.5M 50 32.00 5.99 0.91 0.64 20.06
SDXL-DMD2 4 31.64 6.28 0.88 0.56 16.64
SWD-M 4 32.00 6.37 1.12 0.72 25.90
SANA-Sprint 0.6B 2 31.39 6.54 0.98 0.77 24.99
SD3.5-Flash 16-bit (+T5) 4 31.65 6.38 1.10 0.70 29.80
SD3.5-Flash 16-bit (No T5) 4 31.63 6.39 1.08 0.68 28.65

四步完整模型相对 50 步教师将 GenEval 从 0.64 提升到 0.70,但 FID 从 20.06 变为 29.80,不能称为全面无损压缩。 SWD-M 的 GenEval 与 IR、SANA-Sprint 0.6B 的 GenEval 均高于本文完整配置,自动指标不存在统一冠军。

消融实验

下表摘自原文表 5,第 13 页,指标定义与第 5.4 节一致,研究对象是 16-bit 四步 SD3.5M 蒸馏流水线。 前四项主要检验第二阶段,均未运行最终分时步微调;移除对抗目标也同时移除了判别头刷新,不能将每行与最终模型的差都当作严格单变量贡献。

配置 AeS ↑ CLIP ↑ FID ↓ IR ↑
无对抗目标 4.72 28.50 97.40 -0.57
无学生预热 6.22 31.14 30.13 0.89
无时间步共享 5.97 30.97 35.61 0.67
无判别头刷新 6.07 31.22 41.84 0.52
基线:无分时步微调 6.32 31.46 30.76 0.93
完整模型:16-bit + T5 6.38 31.65 29.80 1.10

与无分时步微调基线相比,无时间步共享的 IR 为 0.67 而非 0.93,FID 为 35.61 而非 30.76,支持监督位置确实重要。 分时步微调对应更直接的末阶段比较:IR 从 0.93 升至 1.10,FID 从 30.76 降至 29.80。 无对抗目标的 FID 达到 97.40,说明时间步共享不能独自替代对抗训练提供的稳定性。

关键发现

以下部署数据来自原文表 1,第 8 页,均为 6-bit、无 T5 的四步配置;“768 px”等保留原表的分辨率标记。 M4 iPad 与 A17 iPhone 均标为 8 GB 统一内存,表中未给出这两个设备的 1024 px 延迟。

分辨率 M4 iPad 延迟 / 秒 A17 iPhone 延迟 / 秒
768 px 6.44 8.32
512 px 2.62 3.25

原文表 4,第 12 页报告 RTX 4090 上 16-bit + T5 为 0.58 秒,而 8-bit + 8-bit T5 为 0.66 秒,说明省内存不等于必然省时。 用户研究包含 178 名标注者,每个提示词使用 4 个种子,每组图像由 3 人投票,针对 12 个竞品的图像质量比较超过 54K 次。 作者报告图像质量偏好领先,但不同方法的提示词遵循偏好差异小于 ±1.6%,不应将质量胜率当成同幅度的语义对齐提升。 表 2 的 Elo 按部署环境分组,移动端仅有两个模型,不能将不同组的 Elo 直接排列成全模型总榜。

亮点与洞察

  • 关键不是增加一个更复杂的距离函数,而是重新选择监督发生的位置。对具有强路径耦合的生成模型,梯度计算点是否位于实际轨迹上可能比覆盖更多随机时间点更重要。
  • 分时步微调把训练容量与推理容量分开处理。它为不同噪声阶段提供专门优化机会,再通过参数融合避免部署双模型。
  • 代理同时服务于分布估计和判别特征提取,减少额外特征网络需求,但两种用途的目标与噪声构造必须区分。
  • 部署实验将文本编码器、主干量化和算子适配放在同一预算中考虑。只报告去噪网络的四步次数,不足以解释手机端能否实际运行。

局限与展望

  • 作者承认蒸馏会牺牲部分质量和多样性,移除 T5 对复杂构图更不利。平均对齐指标变化较小并不排除长提示词或组合关系上的个别严重失败。
  • FID 退化是实际观测,不应被删除。作者将其归因于低层统计与感知偏好的差异,但这不足以证明所有分布覆盖问题都已排除。
  • 第 5.4 节文字称 AeS 达到 SOTA,但表 3 中本文 +T5 的 6.38 低于 SDXL-HyperSD 的 6.67;应以表中具体比较为准,不复述该无条件结论。
  • 对 FLUX.1-dev 的泛化只展示训练到第二阶段的定性样本,仍有轻微伪影,尚不足以建立跨架构的完整定量结论。
  • 缓存缺少补充材料内容,且部分公式与图中文字损坏。未核实的图 8 百分比、损失权重和完整训练成本不作为定量证据。
  • 后续可检验时间步共享对不同步数、不同轨迹初始化及分布覆盖的影响;这是基于本文机制提出的研究方向,不是已完成实验。

相关工作与启发

  • 对比 DMD / DMD2(原文文献 56 / 55):沿用分布得分监督、代理与对抗训练的路线,主要变化是整流流少步场景下的监督位置,而不是重新发明分布匹配目标。
  • 对比 NitroFusion(原文文献 3):借鉴多判别器与周期刷新,但本文还依赖轨迹预热和 DMD,不能把结果归结为纯对抗蒸馏。
  • 对比 SWD(原文文献 49):SWD 采用尺度层面的蒸馏组织,本文强调时间轨迹与分段容量;主实验显示两者在不同指标上各有优势。
  • 对比 SANA-Sprint(原文文献 5):后者使用连续时间一致性蒸馏,表中两步配置具有速度与部分对齐指标优势,本文重点则是 SD3.5M 的四步质量和跨设备部署。
  • 研究启发:可以将“在哪些学生状态上监督”和“如何估计学生分布”分别消融,以辨别稳定性提升来自状态分布变化还是代理估计改善。

评分

  • 新颖性: 4/5,时间步共享与训练后分支融合具有针对性,但依托成熟的分布匹配及对抗蒸馏框架。
  • 实验充分度: 4/5,包含自动指标、用户偏好、组件消融及实机延迟,跨架构与多样性分析仍有限。
  • 写作质量: 3/5,训练示例清晰,但 AeS 的文字结论与表格不一致,部分复现细节依赖补充材料。
  • 价值: 4/5,为整流流少步蒸馏及移动端文生图提供有用的训练和部署经验。