【论文精读】Any-OPD:通过表示空间桥接实现异构流匹配模型的在策略蒸馏

论文标题:Any-OPD: Heterogeneous On-Policy Distillation for Flow-Matching Models via Representation-Space Bridging 作者机构:京东(Siming Fu 等) 发布时间:2026年8月4日 arXiv:2608.03316


一、 研究背景与动机

当前最强的文生图模型来自不同的"家族":FLUX、Stable Diffusion 3(SD3)、Z-Image 等各自演化。它们虽然在任务上同源,却在三个基础维度上互不兼容——VAE 潜在空间不同、Transformer 架构不同、噪声调度参数化不同。这种"异构性"在工业实践中是常态:你拥有的最强教师和你想部署的最优学生,往往分属不同家族。

“在策略蒸馏”(On-Policy Distillation, OPD)是语言模型对齐领域已被验证的强大范式——DeepSeek-V4、GLM-5、Mimo v2 等顶级大模型都用它来融合多个专家教师的能力。其核心思想是:教师纠正学生自己生成的样本,从而消除"曝光偏差",让学生在自己真正会到达的状态上获得监督。

2026年,OPD 范式开始向图像生成迁移:DiffusionOPD(Li et al. 2026)将其引入扩散模型,Flow-OPD(Fang et al. 2026)适配到流匹配框架。但这些前作都隐含一个关键假设:教师和学生是"同构"的——它们共享 VAE 潜在空间、共享架构特征、共享时间步网格。

一旦把 FLUX 当教师、SD3.5 当学生,这个假设瞬间瓦解:

  • FLUX 的 latent 和 SD3 的 latent 是两套互不相通的坐标系,教师的 latent 根本不能作为学生的训练目标;
  • 教师在去噪时会对局部细节做随机"重合成"(re-synthesis),逐像素 MSE 损失会被这种随机性拖垮,退化为模糊回归甚至训练崩溃;
  • 两套噪声调度使用不同的 shift 函数,同一个"第10步"在两边对应着完全不同的噪声水平,时间步索引失去了对齐意义。

Any-OPD 要回答的就是这个直击痛点的问题:当"师生同构"假设完全不成立时,在策略蒸馏还能做吗? 它给出的答案是——可以,只要把两个模型耦合在一个冻结的、与模型无关的第三方视觉表示空间里就够了。


二、 核心问题与挑战

论文将异构对带来的障碍精确拆解为两个层面:

挑战一:无共享空间(No Shared Space)。 设学生的潜在空间为 $\mathcal{Z}_S$,教师的为 $\mathcal{Z}_T$,两者作用域不相交:$\mathcal{Z}_S \not\equiv \mathcal{Z}_T$。这意味着:

  • 教师 latent 不能直接作为学生回归的目标(坐标系不兼容);
  • 中间层特征匹配不可行(架构差异);
  • 像素级 MSE 看似可行,但教师每次采样都会对高频细节做随机重合成,同样的 prompt 两次生成的纹理细节不同。把学生输出和这种"随机版本"做逐像素回归,等价于把"无法预测的随机性"当作学习目标,结果就是训练早期即崩溃。

挑战二:无共享时钟(No Shared Clock)。 流匹配模型的推理是一条离散化的 ODE 轨迹:噪声水平 $\sigma_0 > \sigma_1 > \cdots > \sigma_N$。不同家族使用不同的 shift 函数来生成这套 $\sigma$ 序列,导致同样的步数索引在两边对应不同的噪声水平。OPD 的核心是"教师在学生到达的某个状态上做修正",但如果师生无法对齐"现在到了哪一步",修正就无从谈起。

额外的工程挑战: 全参数微调一个 2.5B 的学生模型既昂贵又容易破坏其原有能力。论文选择仅训练 LoRA 适配器(rank=32, alpha=64),其余参数全部冻结。这也意味着,能用于"承载教师能力"的可表达修正容量相当有限——方法必须在 LoRA 的表达力上限内完成跨家族迁移。


三、 关键思想与核心思路

Any-OPD 的设计哲学可以用一句话概括:两个异构模型只在一个点上耦合,这个点是一个冻结的、与模型无关的第三方视觉表示。 它用三个相互配合的设计,逐一化解前面的挑战:

思路一:用 DINOv2 表示空间作为"中立桥梁"。 既然师生的潜在空间互不相通,那就找一个两者都能接入的"中立国"。论文选用冻结的 DINOv2-Base 模型,把师生各自的解码输出图像送进去,取其 [CLS] token 作为全局表示。两个模型各自用自己的 VAE 解码,仅在这一个外部表示空间里比较。教师被彻底当作黑盒采样器,它的内部 latent、架构、特征完全不参与——换一个教师,只需要换一个采样器,框架其他部分一行代码都不用改。

思路二:用噪声水平(而不是步数索引)对齐轨迹。 既然步数索引无法对齐,那就直接用噪声水平 $\sigma$ 这个连续物理量来对齐。学生轨迹上每一步都对应一个确定的 $\sigma$ 值,教师修正从某个 $\sigma_k^T$ 出发,我们就找到学生调度上"最不嘈杂但仍至少和投影起始一样嘈杂"的那一步 $\sigma_j^S$,让梯度只流经这一段。这样,轨迹的对应关系是通过物理噪声水平建立的,与具体调度参数化完全解耦。

思路三:两阶段分离"分布级差距"与"逐样本修正"。 直接做 OPD 会遇到一个冷启动问题:学生初始分布和教师差太远,on-policy 梯度主要在度量"域差异"而不是"样本质量"。论文引入一个简短的 Anchoring(锚定)阶段:先用教师生成的图像、经学生自己的 VAE 重新编码、作为学生的速度匹配目标。这一步把教师分布"移植"到学生坐标系,关闭分布级差距,让随后的 OPD 阶段专注于真正的逐样本优化。

这三个设计叠加,形成了一条清晰的因果链:外部表示空间解决"在哪比",噪声水平匹配解决"在哪修",锚定阶段解决"从哪起步"。整条链路不依赖任何模型的内部机制,因此对任意异构对都成立。


四、 方法详解

4.1 预备知识:流匹配与潜在生成器

流匹配(Flow Matching)学习一个速度场 $v_\theta$,沿 ODE 将噪声传输到数据。在最优传输插值下(公式1):

$$x_t = (1-t)x_0 + t x_1, \quad x_0 \sim p_{\text{data}}, \quad x_1 \sim \mathcal{N}(0,I)$$

其中 $t$ 本身即为噪声水平。训练目标是最小化 Flow Matching 损失(公式2):

$$\mathcal{L}_{\text{FM}}(\theta) = \mathbb{E}\left[\left\|v_\theta(x_t,t) - (x_1 - x_0)\right\|^2\right]$$

论文将一个潜在生成器定义为一个完整的四元组 $(\mathcal{E}, \mathcal{D}, v, \{\sigma_i\})$:VAE 编码器、VAE 解码器、速度场、噪声调度。学生 $S = (\mathcal{E}_S, \mathcal{D}_S, v_\theta, \{\sigma_i^S\})$ 和冻结教师 $T = (\mathcal{E}_T, \mathcal{D}_T, v_\phi, \{\sigma_i^T\})$ 的速度场作用在不相交的域上(公式3):

$$v_\theta: \mathcal{Z}_S \times [0,1] \to \mathcal{Z}_S, \qquad v_\phi: \mathcal{Z}_T \times [0,1] \to \mathcal{Z}_T$$

这个形式化清晰点明了异构性的本质:两个速度场活在两个不同的数学世界里。

4.2 阶段一:Anchoring(锚定阶段,约 400 步)

目标:离线将教师输出分布移植到学生自己的潜在空间。

流程:

  1. 给定 prompt $c$,教师生成目标图像:$x_T = \mathcal{D}_T(\text{Sample}_T(c))$
  2. 用学生自己的 VAE 重新编码:$z^\star = \mathcal{E}_S(x_T)$
  3. 从学生自己的 $M$ 步调度中均匀采样索引 $m$,加噪(公式4):
$$z_m = (1 - \sigma_m^S) z^\star + \sigma_m^S \epsilon, \quad \epsilon \sim \mathcal{N}(0,I)$$
  1. 最小化 Anchoring 损失(公式5):
$$\mathcal{L}_{\text{WS}} = \mathbb{E}\left[\left\|v_\theta(z_m, \sigma_m^S, c) - (\epsilon - z^\star)\right\|^2\right]$$

注意 $\epsilon - z^\star$ 这一形式(而非 $(z_m - z^\star)/\sigma_m^S$)避免了 $\sigma_m^S \to 0$ 时除以零,且与 $\mathcal{L}_{\text{FM}}$ 数学等价。

关键限制: Anchoring 只修复分布的位置(宏观对齐),不修复学生在自身(不完美)轨迹上到达具体状态时的行为。这个残留的逐样本误差,正是下一阶段要解决的。

4.3 阶段二:On-Policy Distillation(在策略蒸馏阶段,约 800 步)

这一阶段围绕一个核心算子——教师噪声-去噪映射 $\Pi_T^\sigma$(公式6)组织:

$$\Pi_T^\sigma(x) = \mathcal{D}_T\!\Bigl(\text{Euler}_T\bigl((1-\sigma)\mathcal{E}_T(x) + \sigma\epsilon \;\to\; 0,\; c\bigr)\Bigr)$$

通俗讲:把一张图像扰动到噪声水平 $\sigma$,再让教师重新去噪生成。$\Pi_T^\sigma$ 充当"到教师图像流形的随机投影",$\sigma$ 控制投影半径——$\sigma \to 0$ 趋近恒等,$\sigma \to 1$ 趋近无条件重采样。

每次训练迭代执行三个步骤:

步骤 A:投影 On-Policy 样本。

  • 学生无梯度积分自身调度(公式7):
$$z_{i+1} = z_i + (\sigma_{i+1}^S - \sigma_i^S)\,v_\theta(z_i, \sigma_i^S, c)$$
  • 学生输出经教师 VAE 编码(纯格式转换,无损),教师重新加噪(公式8)并积分到干净端点(公式9),得到参考样本 $x_{\text{ref}} = \Pi_T^{\sigma_k^T}(x_S)$:
$$z_k^T = (1 - \sigma_k^T) z_{N_T}^T + \sigma_k^T \epsilon$$$$x_{\text{ref}} = \mathcal{D}_T\!\left(\text{Euler}_T\!\left(z_k^T, \; k \!\to\! N_T, \; v_\phi, \; c\right)\right)$$

步骤 B:通过噪声水平路由修正(核心公式10)。

$$j = \max\bigl\{\,i : \;\sigma_i^S \geq \sigma_k^T\,\bigr\}$$

即找到学生调度上"最不嘈杂但仍至少和投影起始噪声一样嘈杂"的那一步。从缓存的 $z_j$ 开始带梯度重放(公式11),仅 $N_S - j$ 次变换器计算携带激活:

$$\hat{z}_{N_S} = \text{Euler}_S\!\left(z_j, \; j \!\to\! N_S, \; v_\theta, \; c\right)$$

这一设计的精妙之处:$z_j$ 被视为常量(stop-gradient),梯度只条件于学生实际到达的状态,而非理想状态。梯度仅流经"能表达修正"的学生步骤,既节省计算,又避免了对学生不该负责的历史步骤施加错误信号。

步骤 C:在表示空间中耦合模型(核心公式12)。

$$\boxed{\mathcal{L}_{\text{OPD}} = 1 - \cos\!\Bigl(f(\hat{x}_S), \; f(x_{\text{ref}})\Bigr)}$$

其中 $\hat{x}_S = \mathcal{D}_S(\hat{z}_{N_S})$ 是学生解码输出,$x_{\text{ref}}$ 是教师解码输出,$f$ 返回冻结 DINOv2-Base 的 [CLS] token。梯度流经冻结解码器 $\mathcal{D}_S$ 进入 $v_\theta$(LoRA 适配器)。

这就是 Any-OPD 的全部:两个模型各自用自己的 VAE 解码,仅在 DINOv2 表示空间中比较。 没有特征匹配,没有 latent 回归,没有任何对架构的假设。

4.4 完整训练配置

项目配置
教师FLUX.1-dev(12B,FLUX VAE,动态 shifting,guidance 3.5)
学生SD3.5-Medium(2.5B,SD3 VAE,静态 shift 3.0,guidance 4.5)
训练参数仅 LoRA(rank=32, alpha=64),其余全冻结
Anchoring400 步,$M=10$ 个噪声级别,$512\times512$
On-Policy800 步,$N_S = N_T = 20$,$512\times512$
学习率$10^{-4}$,每 GPU batch=4
训练数据Pick-a-Pic 训练集
评估分辨率$1024\times1024$

五、 实验设计与结果

5.1 主实验:学生反超教师

下表是论文 Table 1 的核心结果。注意:学生只有 2.5B 参数,约为教师(12B)的五分之一。

指标FLUX.1-dev(教师)SD3.5-M(基线学生)Any-OPD(蒸馏学生)相对基线变化
Aesthetic Score ↑5.7655.3835.788+0.405
ImageReward ↑0.9710.9221.116+0.194
PickScore ↑0.8780.8660.884+0.018
HPSv3 ↑11.199.1210.97+1.85
UnifiedReward ↑3.383.233.31+0.08
UnifiedReward2 ↑3.353.213.26+0.05
DPG-Bench ↑83.8484.5884.71+0.13

关键观察:

  1. 三项指标反超教师:在 Aesthetic Score、ImageReward、PickScore 上,2.5B 学生超越了 12B 教师。这是"以小博大"的典型范例。
  2. ImageReward 的提升幅度极具冲击力:学生相对基线提升 +0.194,而教师相对基线的自身优势只有 +0.049——学生的提升是教师自身优势的近 4 倍。这说明 Any-OPD 并非简单地"拉近距离",而是把教师的"质量上限"以一种高效的方式注入了学生。
  3. HPSv3 接近持平:从 9.12 跃升到 10.97,几乎追平教师的 11.19,提升了 +1.85。
  4. DPG-Bench 基本持平:因为该指标偏向组合准确性而非感知质量,而 Any-OPD 的目标函数是偏好/感知导向的。

5.2 教师可替换性验证:换成 Z-Image

论文将教师从 FLUX.1-dev 替换为 Z-Image(6B),其他一切不变,结果如下(Table 3):

模型ImgRwd↑Pick↑HPSv3↑GenEval↑DPG↑
SD3.5-M(基线)0.9220.8669.1270.7084.58
Z-Image(教师参考)0.9580.8649.9674.9086.73
Any-OPD-Z1.0820.8729.7571.5085.53

换成 Z-Image 后,所有指标相对基线均有提升,特别是 GenEval 提升 +0.80,DPG 提升 +0.95。这验证了论文的核心承诺:教师是可插拔的黑盒,换教师不需要改动框架。

5.3 教师精炼强度 $r$ 的影响

参数 $r$ 控制投影半径(教师从哪一步开始重新去噪)。在 20 步教师调度上(Table 2):

强度 $r$范围HPSv3↑Pick↑ImgRwd↑DPG↑
Med-low[0,10)10.240.8810.89181.21
Med-high[10,15)10.800.8851.12084.68
High[15,20]10.970.8841.11684.71

最终采用 $r \in [15,20]$ 作为最佳平衡——投影半径越大,教师有更多"自由发挥"空间来注入自身的高质量先验。


六、 为何 DINOv2 表示空间桥梁优于直接潜在空间蒸馏

这是理解 Any-OPD 为何成功的关键。论文在消融中对比了三种损失:Latent MSE、LPIPS、DINOv2 CLS。它们的表现差异巨大(MSE 训练崩溃,LPIPS 先升后降,DINOv2 全程稳定最优),这背后的原因要从机制因果的角度来解释。

根因一:教师采样是一个"随机重合成"过程,不是确定性映射。

当教师 $\Pi_T^\sigma$ 对学生输出做"加噪再去噪"时,它并不是在"修复"学生图像的确定版本,而是在给定语义约束下重新采样新的细节。同样的语义内容,教师两次独立采样得到的高频纹理(毛发、草叶、光影颗粒)是不同的。这是生成模型的本质特性,不是 bug。

根因二:Latent MSE 假设了不存在的"逐位置对应性"。

Latent MSE 在潜在空间逐位置回归教师目标。但上面的随机重合成意味着:学生输出的某个空间位置(比如左上角的第 3 个 latent 向量)和教师参考图像同一位置的 latent,语义上是同一个东西,但具体的纹理实现不同。强制逐位置相等,等价于把"不可预测的随机细节差异"当作"可学习的误差"——模型拼命去拟合一个随机目标,结果就是训练发散崩溃。

根因三:LPIPS 缓解但仍假设"局部空间对应"。

LPIPS 用预训练网络提取 patch 级特征再做距离。它比 MSE 宽容(不要求像素精确相等),但仍然假设"学生第 $i$ 个 patch 和教师第 $i$ 个 patch 是对应的"。这种局部空间对应在高频随机重合成下依然不成立——某个 patch 里教师画了一根羽毛,学生画了一片叶子,两者语义都合理但空间错位,LPIPS 仍会给出虚假的"误差信号"。这就解释了为什么 LPIPS 初期改善(语义大体对齐)但后期退化(被虚假局部信号带偏)。

根因四:DINOv2 [CLS] token 同时满足"全局语义聚合"与"对局部随机性不变"两个性质。

DINOv2 是在 1.42 亿张图像上用判别式自监督(DINO + iBOT)训练的 ViT。其 [CLS] token 有两个关键特性:

  1. 全局聚合:它把所有 patch 的信息汇聚成一个向量,做的是"这张图整体上是什么"的语义抽象,而不是"某个像素是什么"。
  2. 对无关细节不变:自监督训练天然鼓励模型对"同一语义的不同实现"(红车 vs 蓝车、不同光照下的同一场景)给出相近的 embedding。

这两点恰好对抗了教师随机重合成带来的困难。余弦距离在 [CLS] 空间里度量的,是"两张图在语义结构上有多接近"——它惩罚结构性和语义性偏差(这是学生应该学的),但对教师每次采样的局部纹理随机性保持不变(这是学生不应该被强制预测的)。

根因五:外部性带来教师可替换性。

DINOv2 不触碰任何一个模型的 latent 或架构,它是纯粹的"第三方裁判"。换教师只需要换 $\Pi_T$ 这个采样算子,损失函数、学生侧、表示空间都不用动。这正是论文"任何教师教任何学生"愿景的机制基础。如果用潜在空间回归,换教师就意味着换目标坐标系,整个训练管线都要重写。

一句话总结:DINOv2 [CLS] 空间之所以最优,是因为它把"可学习的语义结构"和"不可预测的随机细节"做了干净的解耦——前者进入梯度,后者被表示空间的不变性吸收。 这正是异构蒸馏场景下最需要的性质。


七、 消融实验关键结论

除损失函数外,论文还做了三个关键消融,每个都有清晰的工程启示。

消融一:Anchoring 步数(100 vs 400)。

论文对比了"无锚定"、“锚定 100 步”、“锚定 400 步"三条训练曲线。结果:400 步锚定全程压制 100 步,即使给 100 步版本补上等量的 OPD 总预算也无法追赶。这说明锚定阶段的差距是"初始化质量差距”,而非"总算力差距"——OPD 应该在锚定充分收敛后才启动,否则前期梯度都在为分布错位买单。

消融二:Rollout 随机性 $\eta$(CPS 采样)。

论文用 CPS(Coefficients-Preserving Sampling)替代确定性 Euler,通过 $\eta$ 控制随机性(公式13):

$$x_{i+1} = (1-\sigma_{i+1})\,\hat{x}_0 + \sigma_{i+1}\!\left[\cos\!\tfrac{\eta\pi}{2}\,\hat{\epsilon} + \sin\!\tfrac{\eta\pi}{2}\,\xi\right]$$

结果:确定性 Euler($\eta=0$)两项指标均最优;$\eta=0.3$ 在 200-300 步后开始退化;$\eta \geq 0.3$ 明显退化。这看似反直觉——一般以为随机性有助于探索——但原因在于:扰动 rollout 会把"训练时受监督的轨迹"和"部署时实际推理的轨迹"解耦。部署用的是确定性 Euler,训练却用随机 Euler,等于在优化一个和目标分布不一致的分布,自然退化。

消融三:教师精炼步数 $N_T$。

定性比较 $N_T=10$ 和 $N_T=20$:前者目标图像本身可见模糊,学生忠实复现了这种模糊;后者目标清晰,学生相应更锐利。结论朴素但重要:教师的去噪预算(步数)直接限制了可迁移质量的上限——教师自己都画不清楚的细节,学生不可能学得会。


八、 与现有工作的关系与定位

Any-OPD 处于"扩散/流匹配蒸馏"与"在策略蒸馏"两条脉络的交汇点。理解它的定位需要看清这两个脉络各自的局限。

脉络一:扩散/流匹配蒸馏(离线范式)。 传统方法包括三类:渐进式蒸馏(Progressive Distillation)、一致性模型(Consistency Models)、分布匹配(DMD/DMD2)。它们的共同特点是离线——监督信号来自固定数据或预先采样的教师轨迹,教师不直接纠正学生训练时到达的状态。这导致严重的"曝光偏差":学生永远在自己没见过的分布上被评估。更重要的是,这些方法几乎都默认师生同构。

脉络二:在策略蒸馏(语言模型→图像)。 OPD 在 LLM 对齐中已大放异彩(DeepSeek-V4、GLM-5、Mimo v2),2026 年开始迁移到图像:DiffusionOPD 把它引入扩散模型,Flow-OPD 适配到流匹配。但这两者都假设师生可在共享状态上交互——这套假设在同家族 checkpoint 间成立,一旦 VAE latent 不兼容就立即崩溃。

Any-OPD 的定位:首个解决"异构对"的 OPD 框架。 它与 DiffusionOPD/Flow-OPD 的关系,类似于"跨语言蒸馏"与"单语言蒸馏"的关系——前者要解决一个额外的、根本性的"语义对齐"问题。论文用三个设计完成了这层跃迁:

  • 外部表示空间(DINOv2)替代共享 latent,使模型间耦合点最小化;
  • 噪声水平匹配替代步数索引对齐,使跨调度轨迹对应成为可能;
  • 锚定阶段关闭分布级差距,使 OPD 梯度专注于逐样本质量。

这三点共同把 OPD 的适用边界从"同家族检查点"扩展到了"任意潜在流匹配生成器对"。论文的一句话愿景很有分量:“希望这种解耦,把最强可用的生成器——无论谁构建的——变成任何需要部署的模型的可用教师。”


九、 局限与未来展望

论文坦诚讨论了两个主要局限,并指向两个清晰的未来方向。

局限一:单教师的"天花板"。 当前框架每次只用一个教师。但不同教师各有所长——FLUX.1-dev 在感知质量上强(Aesthetic、ImageReward),Z-Image 在组合准确性上强(GenEval)。用一个教师蒸馏,必然只能继承它的部分优势,无法同时占领所有指标的高地。

未来方向一:多教师组合。 论文明确指出"结合互补的教师是一个自然的补救方案"。因为 Any-OPD 的教师是纯黑盒采样器,理论上可以同时接入多个教师,每个教师在自己的强项领域提供 $\Pi_T^\sigma$ 投影。这需要一个"路由"机制来决定每个样本由哪个教师纠正——Flow-OPD 的 task-routing labeling 提供了一个可借鉴的思路。

局限二:当前仅在图像上验证。 框架的耦合点是 DINOv2 这个特征提取器,除此之外没有任何环节是图像特有的。

未来方向二:跨模态扩展。 论文指出,“因为公式中除了特征提取器外,没有任何东西特定于图像,所以将 Any-OPD 扩展到其他潜在生成模态是一个进一步的方向。” 这指向了视频生成(如视频流匹配模型)、3D 生成、甚至音频生成等领域的潜在应用——只要能找到一个合适的、冻结的、模态特定的表示空间作为桥梁,Any-OPD 的框架原则上就能迁移。这为"异构生成模型对齐"开辟了一个相当宽广的研究空间。

更深层的启示: Any-OPD 揭示了一个值得关注的工程哲学——当两个系统无法在内部达成共识时,引入一个外部的、中立的、冻结的"裁判空间"可能是唯一的解法。 这个思路不仅适用于生成模型蒸馏,也可能启发多模态对齐、跨模态融合等更广泛的问题。在 AI 系统越来越异构、越来越需要"互操作"的未来,这种"表示空间桥梁"的思路或许会成为一种基础范式。


一句话总结:Any-OPD 通过冻结的 DINOv2 表示空间、噪声水平匹配和两阶段锚定,首次让任意两个异构流匹配模型之间做在策略蒸馏成为可能——2.5B 学生在多项指标上反超 12B 教师,证明"教师可替换、学生可超越"不再是一句口号。