跳转至

TwinFlow: Realizing One-step Generation on Large Models with Self-adversarial Flows

会议: ICLR 2026
arXiv: 2512.05150
代码: https://github.com/inclusionAI/TwinFlow
领域: 扩散模型 / 单步生成 / 大模型加速
关键词: one-step generation, self-adversarial, flow matching, 20B scaling, no auxiliary models

一句话总结

提出 TwinFlow:通过将 flow matching 时间区间从 \([0,1]\) 扩展到 \([-1,1]\),构造"孪生轨迹"形成自对抗信号,使模型无需判别器或冻结教师即可实现单步生成。首次将 1-NFE 生成能力扩展到 20B 参数的 Qwen-Image 模型,1-NFE GenEval 0.86 逼近原始 100-NFE 的 0.87,推理成本降低 100×。

研究背景与动机

扩散/流匹配模型生成质量出色,但推理需要 40–100 步 NFE,在大模型时代推理成本远超一次性训练成本,亟需少步/单步生成方案。

现有方法的瓶颈

方法类别 辅助训练模型 冻结教师 核心问题
GAN 1(判别器) 0 训练不稳定,难扩展到大模型
扩散蒸馏 0 1 需冻结教师占用额外显存
DMD/DMD2 1–2(fake score + 判别器) 1 复杂度最高,20B 模型直接 OOM
一致性模型(LCM/PCM) 0 0–1 NFE < 4 时质量急剧下降
TwinFlow(本文) 0 0 无额外组件,20B 可训练

核心矛盾:大模型单步加速需要极简且显存高效的框架,但所有高质量少步方法都依赖辅助组件(判别器/教师),在 20B 规模直接 OOM。

切入点:能否让模型"自己教自己"?模型多步输出质量高于单步输出——这个质量差本身就是可用的自监督信号,不需要外部教师。

方法详解

核心 idea:孪生轨迹(Twin Trajectories)

标准 flow matching 在 \(t \in [0,1]\) 上学习从噪声到真实数据的映射。TwinFlow 将时间区间扩展到 \(t \in [-1,1]\)

  • 正半轴 \(t \in (0,1]\):标准流,噪声 → 真实数据(real trajectory)
  • 负半轴 \(t \in [-1,0)\):孪生流,噪声 → 模型自身生成的"假"数据(fake trajectory)

两条轨迹共享同一个网络 \(F_\theta\),通过时间条件的正负符号区分。模型生成 \(\mathbf{x}^{\text{fake}} = \mathbf{z} - F_\theta(\mathbf{z}, 0)\) 作为 fake 端点,构造完整的 fake 轨迹。

关键设计

  1. 自对抗损失 \(\mathcal{L}_{\text{adv}}\):对 fake 轨迹施加标准 flow matching 目标,教网络在负时间条件下学会从噪声到 fake 数据的映射,无需额外判别器
  2. 速度匹配校正损失 \(\mathcal{L}_{\text{rectify}}\):核心数学洞察——最小化 real/fake 两条轨迹的速度场差异 \(\Delta_\mathbf{v}(\mathbf{x}_t) = \mathbf{v}_{\text{real}}(\mathbf{x}_t, t) - \mathbf{v}_{\text{fake}}(\mathbf{x}_t, -t)\) 等价于最小化 \(D_{\text{KL}}(p_{\text{fake}} \| p_{\text{real}})\),通过 stop-gradient 操作转化为可行损失
  3. Any-step 统一框架:基于 RCGM 的 any-step 公式,同一模型同一 checkpoint 支持 1/2/4/... 步推理,部署时灵活选择

总损失与训练策略

\[\mathcal{L}(\theta) = \mathcal{L}_{\text{base}} + \underbrace{(\mathcal{L}_{\text{adv}} + \mathcal{L}_{\text{rectify}})}_{\mathcal{L}_{\text{TwinFlow}}}\]
  • \(\mathcal{L}_{\text{base}}\):标准 any-step flow matching(\(N=2\)),目标时间 \(r\) 随机采样自 \([0,1]\)
  • \(\mathcal{L}_{\text{TwinFlow}}\):自对抗 + 校正,目标时间固定 \(r=0\)
  • 批内混合:超参 \(\lambda\) 控制每个 mini-batch 中分别用于两个损失的比例,最优 \(\lambda \approx 1/3\)
  • Qwen-Image-20B 支持 LoRA 微调(~40GB)和全参数训练

为什么不会模式坍缩?

与 Qwen-Image-Lightning(基于 DMD2 去掉 GAN loss)不同,TwinFlow 保留 \(\mathcal{L}_{\text{base}}\) 中的随机目标时间采样,持续学习完整轨迹;同时 fake 轨迹随训练共同演化(self-play),避免了冻结教师导致的固定目标偏差。实验证实 Qwen-Image-Lightning 存在严重的多样性退化(同一 prompt 不同噪声生成几乎相同的图),而 TwinFlow 无此问题。

实验结果

统一多模态模型对比(Qwen-Image-20B, LoRA)

方法 NFE ↓ GenEval ↑ DPG-Bench ↑ WISE ↑
Qwen-Image 原始 100 0.87 88.32 0.62
Qwen-Image-Lightning 1 0.85 87.79 0.51
Qwen-Image-RCGM 1 0.52 59.50 0.30
Qwen-Image-TwinFlow 1 0.86 86.52 0.54
Qwen-Image-TwinFlow 2 0.87 87.64 0.57
BLIP3-o-8B 60+ 0.84 81.60 0.62
Bagel 100 0.82 0.52
MetaQuery-XL 60 0.78 81.10 0.55

重点:1-NFE 即超过大多数 40–100 NFE 的统一多模态模型(Bagel/MetaQuery/BLIP3-o),2-NFE 完全追平原始 100-NFE。

20B 全参数训练对比

方法 NFE GenEval ↑ DPG-Bench ↑ WISE ↑ 备注
VSD / DMD / SiD(原始) OOM OOM OOM 需 3 份模型副本
VSD(LoRA fake score) 1 0.67 84.44 0.22 质量差
DMD 1 0.81 84.31 0.47 模式坍缩⭐
sCM(JVP-free) 8 0.60 85.54 0.45 8 步仍低
MeanFlow(JVP-free) 8 0.49 83.81 0.37 8 步仅 0.49
TwinFlow 1 0.85 85.44 0.51
TwinFlow 2 0.86 86.35 0.55
TwinFlow(更长训练) 1 0.89 87.54 0.57 全参数持续提升

重点:VSD/DMD/SiD 在 20B 原始配置直接 OOM;sCM/MeanFlow 即使 8-NFE 也远不如 TwinFlow 的 1-NFE。更长训练后 1-NFE GenEval 达到 0.89,超过原始 100-NFE 的 0.87。

专用 T2I 模型对比(SANA 骨干)

方法 NFE 参数量 GenEval ↑ DPG-Bench ↑
SANA-Sprint-1.6B 1 1.6B 0.76 80.1
RCGM-1.6B 1 1.6B 0.78 76.5
FLUX-Schnell 1 12B 0.69
SDXL-DMD2 1 0.9B 0.59
TwinFlow-0.6B 1 0.6B 0.83 78.9
TwinFlow-1.6B 1 1.6B 0.81 79.1
SANA-1.5 40 4.8B 0.81 84.7

重点:TwinFlow-0.6B 的 1-NFE(0.83)超过 SANA-1.5-4.8B 的 40-NFE(0.81),参数量仅 1/8、推理快 40×。

消融实验要点

  • \(\lambda\) 的影响\(\lambda = 1/3\) 最优,过大过小均下降,印证了 base loss 与 TwinFlow loss 的平衡重要性
  • \(\mathcal{L}_{\text{TwinFlow}}\) 的通用性:在 OpenUni、SANA、Qwen-Image 三种架构上,加入 \(\mathcal{L}_{\text{TwinFlow}}\) 后 1-NFE DPG-Bench 分别提升约 3/2/27 个百分点,Qwen-Image 提升最显著(59.50→86.52)
  • 训练步数 vs NFE:训练越长,最优 NFE 越少——1-NFE 和 few-step 同时获益

亮点与洞察

  • 极简设计是最大卖点:0 辅助模型 + 0 冻结教师,对比其他方法在 20B 直接 OOM,TwinFlow 是目前唯一可行方案
  • 数学优雅:将时间区间扩展到 \([-1,1]\) 后,real/fake 速度差自然等价于 KL 散度梯度,不需要显式训练 score 估计器
  • 工程意义:首次证明 20B 模型可以 1-step 出图且质量不垮,对大模型部署成本有直接影响
  • Any-step 灵活性:同一 checkpoint 支持 1/2/4 步推理,部署时按质量/速度需求动态选择

局限性与改进方向

  • 自对抗的理论收敛保证不充分——虽然实验上未坍缩,但缺乏严格的稳定性分析
  • 缺少 FID/IS 等传统分布质量指标,仅用 GenEval/DPG-Bench/WISE 评估
  • 仅验证了文生图任务,视频生成、音频生成等模态的适用性未知
  • 图像编辑仅做了初步实验(15K 数据 4-NFE),尚不充分

相关工作对比

  • vs DMD/DMD2:DMD 需 fake score 估计器 + 冻结教师(共 3 份模型显存),20B 直接 OOM;TwinFlow 仅 1 份模型
  • vs sCM/MeanFlow:同属无辅助模型方法,但这两者在 20B 全参训练下 8-NFE 仍仅约 0.5 GenEval,远不如 TwinFlow 的 1-NFE 0.85
  • vs SANA-Sprint:Sprint 使用 GAN loss + 冻结教师,在大模型规模不可行;TwinFlow 去掉 GAN loss 但 1-NFE GenEval 高 7–11 个百分点
  • vs Qwen-Image-Lightning:同为 20B 少步模型,但 Lightning 存在严重模式坍缩,TwinFlow 无此问题

评分

  • 新颖性: ⭐⭐⭐⭐ 孪生轨迹 + 速度匹配校正的公式推导优雅,但核心直觉(自己的多步输出当教学信号)并不复杂
  • 实验充分度: ⭐⭐⭐⭐⭐ 从 0.6B 到 20B、LoRA 到全参、3 个 benchmark + 详尽消融 + 与 7 种基线对比
  • 写作质量: ⭐⭐⭐⭐ 结构清晰,数学推导完整,表格丰富
  • 价值: ⭐⭐⭐⭐⭐ 首次在 20B 模型实现高质量 1-step 生成,对大模型推理成本有直接且显著的实际影响