Any-OPD: Heterogeneous On-Policy Distillation for Flow-Matching Models via Representation-Space Bridging
Siming Fu, Zheming Fu, Ruizhe He, Hualiang Wang, Jie Huang, Xiaoxiao Ma, Mingchen Zhong, Weihu Huang, Xiaoxuan He, Haojun Xu
cs.LG, cs.CV
2026-08-04
Any-OPD 用冻结的 DINOv2 特征当公共坐标系,打破在线蒸馏要师生同架构的限制,把 12B 的 FLUX 蒸进 2.5B 的 SD3.5,学生只剩五分之一大却反超老师。
蒸馏是让小模型学大模型、把推理成本降下来的常规手段。其中「在线蒸馏」(on-policy)比离线模仿更狠:让小模型自己生成样本,大模型当场纠正,学生学的是自己分布上的修正方向,泛化更好。但在线蒸馏一直有个硬约束,师生必须是同构的:同一套 VAE 潜空间、同一套噪声调度,否则大模型给出的目标在小模型的坐标系里根本对不上。这把跨家族、跨架构的蒸馏堵死了。Any-OPD 要解的就是这件事。
两个失败根源:一是没有共享空间,老师的潜变量在学生的坐标系里不是合法目标;二是没有共享时钟,两边噪声调度不同,步号对不齐。Any-OPD 的做法是用一个冻结的、与模型无关的视觉表示当公共比较空间,具体用 DINOv2 的 CLS 嵌入。师生各自用自己的 VAE 把潜变量解码成图像,再在这个冻结表示里比距离。这个全局比较对重新合成是不变的,恰好绕开了像素级和潜变量级回归会被局部重合成欺骗的问题。
还有两处工程:对噪声水平 σ,定义老师的「加噪再去噪」投影,先扰动图像再在老师的速度场下重生,相当于朝老师的图像流形做随机投影;轨迹对齐不按步号,而按噪声水平匹配,梯度只流过那些噪声水平大于等于老师精修水平的学生步骤。设置上,老师是 FLUX.1-dev(12B),学生是 SD3.5-Medium(2.5B),用 Pick-a-Pic 训练提示,512×512,各 20 步。
学生把 12B 老师的能力搬进来,体量只剩约五分之一,在 DrawBench 上:
| 指标 | SD3.5 基线 | Any-OPD 学生 | FLUX 老师 |
| Aesthetic Score | 5.383 | 5.788 | 5.765 |
| ImageReward | 0.922 | 1.116 | 0.971 |
| PickScore | 0.866 | 0.884 | 0.878 |
| HPSv3 | 9.12 | 10.97 | 11.19 |
学生在 Aesthetic Score、ImageReward、PickScore 上反超了 12B 的老师,只有 HPSv3 略低。消融很说明问题:直接用潜变量 MSE 回归在前几步就崩了,LPIPS 也会退化,只有 DINOv2 CLS 全程稳定。评测在 DrawBench、GenEval、DPG-Bench 上 1024×1024。
过去想把一个流匹配生成模型的能力搬给一个完全不同架构的小模型,基本只能离线模仿,泛化和保真都打折。Any-OPD 把这条跨架构在线蒸馏的路打通了,意味着团队可以用最强的大模型当老师,服务端却跑一个零成本、自带 VAE 的小模型。对做生成模型加速和部署的人,这是个直接可用的杠杆。
作者只列了未来方向,没正经写局限。从结果看:HPSv3 没超老师,说明并非全面碾压;只用了一个老师学生对(FLUX 到 SD3.5),换其它架构组合是否同样稳没有验证。比较空间固定用 DINOv2,如果任务里 DINOv2 不敏感的纹理或结构,损失可能抓不到。
读下来还有一处:DrawBench 这类自动指标(美学、奖励模型分数)和人类审美偏好不完全一致,「反超老师」主要建立在这些代理指标上,缺人评。