Flux-OPD:用演化上下文做在线策略蒸馏 Flux-OPD: On-Policy Distillation with Evolving Contexts
通过反向KL分解,把演化上下文作为在线监督信号注入蒸馏目标。
前置知识
在线策略蒸馏 (On-Policy Distillation, OPD)
OPD 是一种让小模型(学生)在自身采样出的轨迹上、向大模型(教师)学习的蒸馏范式。给定用户提示 $x$,学生 $\pi_\theta$ 自回归生成回复 $y=(y_1,\dots,y_T)$,在每个解码位置学生分布为 $p_\theta(v\mid h_t)$、教师分布为 $q_0(v\mid h_t)$。训练时在学生自己产生的历史 $h_t$ 上最小化与教师的散度,因此数据分布始终与当前学生匹配,能提供密集的教师监督,避免离线数据的分布失配。
OPD 是本文一切对比的基线与出发点,Flux-OPD 正是在 OPD 框架上加入上下文监督。不理解 OPD「学生采样、教师监督」的循环,就无法理解为何上下文会带来「目标分布漂移」与「冲突分布」这两个核心难题。
上下文蒸馏与在线策略上下文蒸馏 (Context Distillation / OPCD)
上下文蒸馏把一段特权上下文 $c$(如教师从学生轨迹中抽取的经验项)喂给教师但对学生隐藏,得到条件教师分布 $q_c(v\mid h_t)=\pi_T(y_t=v\mid h_t,c)$,再让学生在仅看到 $h_t$ 的情况下模仿这个条件分布。OPCD 进一步让上下文来自当前学生的在线采样,缩小离线数据与学生的分布差距。其训练目标是在策略历史下的反向 KL:$L(\theta)=\mathbb{E}_{h_t,c\sim C}[D_{KL}(p_\theta(\cdot\mid h_t)\|q_c(\cdot\mid h_t))]$。
OPCD 是 Flux-OPD 要修正的直接对象。论文第一个发现就是 OPCD 反而不如无上下文的 OPD,而 Flux-OPD 通过反向 KL 分解重新设计了条件教师的使用方式,必须先看懂 OPCD 才能理解这一修正的意义。
在线经验学习 (Online Experiential Learning, OEL)
OEL 在部署与 OPCD 训练之间交替:每次部署后从学生轨迹中累积经验项作为新上下文,下一轮用这些不断演化的上下文做蒸馏。本文把 OEL 的「演化上下文」思想压缩进单次连续训练,每若干步(实验中为 300 步)更新一次上下文,从而把开放域的复杂偏好持续注入学生。但直接这样做会导致目标分布剧烈漂移与损失突刺。
OEL 揭示了「演化上下文」既必要又危险的矛盾:它能传递真实任务偏好,却又破坏训练稳定性。理解 OEL 的失败模式(图 1 与图 5a 的损失突刺)是理解 Flux-OPD 为何要引入上下文校正与冲突加权的前提。
反向 KL 分解与几何平均教师 (Reverse KL Decomposition & Geometric Mean Teacher)
对固定的解码历史,反向 KL 目标可被分解为蒸馏项与冲突项之和:$\mathbb{E}_c[D_{KL}(p_\theta\|q_c)]=D_{KL}(p_\theta\|q_{geo})+(-\log Z)$,其中 $q_{geo}(v)=\frac{\exp(\mathbb{E}_c[\log q_c(v)])}{Z}$ 是条件教师分布的归一化几何平均,$Z=\sum_v\exp(\mathbb{E}_c[\log q_c(v)])$。蒸馏项让学生逼近几何平均;冲突项 $-\log Z\ge0$(由 Jensen 不等式保证)度量条件教师之间的分布分歧,且对学生参数无直接梯度(推论 1)。
这是全文最核心的理论结果。Flux-OPD 的两个策略——把目标锚定到无上下文教师、用冲突项调制校正强度——都直接来自这条分解。几何平均只对在所有上下文下都高概率的 token 给高概率,这正是「下放冲突」的数学依据。
研究动机
在视频生成提示优化、医学问答等开放域任务中缺乏可验证奖励(RLVR 失效),Rubrics-as-Rewards 虽提供结构化监督但反馈稀疏。OPD 只能传递教师偏好而非真实任务偏好;OPCD 用固定上下文做监督,但上下文一旦蒸馏进学生便几乎不再贡献额外信息。把上下文随学生性能演化(OEL 思路)看似可解,但作者在实验中发现致命问题:演化上下文会使条件教师分布剧烈漂移、触发损失突刺(图 1b 与图 5a),且不同上下文会导出相互冲突的目标分布。结果是 OPCD 在 HealthBench 上以 19.53 落后 OPD 的 19.63,OEL 也无法带来稳定增益(图 1a)。
本文的目标是本文目标明确:构造一个 OPD 范式 Flux-OPD,能在单次连续训练中安全地把「随学生性能演化」的上下文当作在线监督,从而在缺乏可验证奖励的开放域里捕获真实任务偏好,并兼顾训练稳定性。具体地,作者既想保留 OPD 提供的密集教师监督、又想让上下文在整段训练中持续起作用,避免 OPCD「上下文一次蒸馏即失效」与 OEL「交替更新带来的损失突刺」。在评测目标上,作者瞄准在视频提示优化与医学问答两类任务、多种学生-教师配比(4B/7B 学生、8B/32B 教师)上稳定超越 OPD、OPCD、OEL 三大基线,并在跨域 IF-Eval 上验证更好的泛化。
与已有工作不同的是,作者的独特切入角度是「先理论后工程」:不直接堆叠上下文,而是先对反向 KL 目标做分解,证明学生实质上是被蒸馏向条件教师的几何平均,且目标中存在一个可量化冲突但不产生梯度的项 $-\log Z$。基于这一发现,Flux-OPD 把上下文的角色从「直接模仿目标」改写为「相对于无上下文教师的差异信号」,并用冲突项动态调节该差异信号的强度——这与 OPCD「全盘模仿条件教师」、OEL「交替更新上下文」形成了本质区别,是把演化上下文首次安全地嵌入单次 OPD 训练。
核心方法
Flux-OPD 把一次训练分成 $K$ 个迭代,每轮含「上下文抽取」与「上下文蒸馏」两步(图 3a)。抽取阶段:在迭代 $k$ 开始时收集上一版学生 $\pi_{\theta_{k-1}}$ 的 $N$ 条轨迹(含可选补充,如视频生成结果或评分细则),教师用 $M$ 个随机种子依次抽取出彼此不同的经验项并累积成上下文池 $C_k$。蒸馏阶段:在小批量上对上下文池中的 $R$ 条上下文采样,分别计算无上下文教师 $q_0$ 与条件教师 $\{q_r\}$,再做两件事——上下文校正把上下文偏好作为「差异信号」叠加到稳定锚点 $q_0$ 上,上下文加权用冲突项调节叠加强度,最终以反向 KL 把学生推向这个「校正后的教师」。整体直觉是:与其让学生去追赶一个不断漂移、相互打架的条件教师群,不如把它们提炼成「相对稳定锚点的可控偏移量」。
核心创新是把演化上下文从「被模仿的目标」降级为「相对锚点的差异信号 $\Delta_k(v)=\log q_{geo,k}(v)-\log q_0(v)$」,并用冲突度量 $\delta_k=-\log Z_k$ 自适应地缩放它。具体地,校正后的教师为 $q_{flux_k}(v)=\mathrm{softmax}_v(\log q_0(v)+\lambda_k\Delta_k(v))$:当 $\lambda_k=0$ 退化为无上下文教师 $q_0$,$\lambda_k=1$ 退化为几何平均条件教师 $q_{geo,k}$。而 $\lambda_k=\alpha\,\mathrm{clip}(1-\delta_k/\tau,\lambda_{\min},\lambda_{\max})$ 在条件教师一致($\delta_k$ 小)时增强校正、在它们冲突($\delta_k$ 大)时削弱校正。这与 OPCD「直接逼近 $q_c$」、OEL「交替更新上下文后整体替换目标」有本质区别:Flux-OPD 始终以稳定的 $q_0$ 为底座,上下文只贡献「受控的、按冲突程度调节的修正」。
方法步骤详情
完整流程见算法 1。第 1 步上下文抽取:迭代 $k$ 开始时收集上一版学生 $\pi_{\theta_{k-1}}$ 的 $N$ 条轨迹 $\xi_i=(x_i,\hat y_i,\mathcal{E}(x_i,\hat y_i))$,可选补充含视频生成结果或评分细则;对 $m=1,\dots,M$ 个种子用教师与抽取提示 $P_{ext}$ 依次生成 $c_{k,m}$,累积成上下文池 $C_k$(首迭代从全量训练集随机采,后续从已见数据采)。第 2 步蒸馏遍历每个小批量:从 $C_k$ 抽 $R$ 条上下文得 $q_0$ 与 $\{q_r\}$;在 log 空间算几何平均 $\tilde q_{geo}$、归一化常数 $Z$ 与冲突 $\delta=-\log Z$;算权重 $\lambda=\alpha\,\mathrm{clip}(1-\delta/\tau,\lambda_{\min},\lambda_{\max})$;构造目标 $q_{target}=\mathrm{softmax}(\log q_0+\lambda(\log\tilde q_{geo}-\log q_0))$,保留并重归一化 top-$B$($B=64$)个概率;按 $L_{Flux\text{-}OPD}=D_{KL}(\pi_\theta(\cdot\mid h_t)\|q_{target})$ 更新学生。OEL 与 Flux-OPD 每 300 步更新一次上下文。所有实验用 8 张 A800、batch 64、学习率 $2\times10^{-6}$、SFT 5 epoch、其余 10 epoch。
技术新颖性
新颖性可分四层。其一,首次给出 OPCD 反向 KL 目标的等价分解,揭示「学生→几何平均教师 + 冲突项」结构,并证明冲突项 $-\log Z$ 在固定历史下对学生无直接梯度(推论 1),为「冲突项只做信号、不做优化目标」提供了理论依据。其二,提出「上下文差异信号」这一全新用法:上下文不再决定目标本身,而只决定相对稳定锚点的偏移,从而把演化上下文的「漂移」收束到一条可控的一维强度 $\lambda_k$ 上。其三,把冲突度量同时用作「一致性指标」与「强度调节器」,并在数学上区分「冲突感知(单调递减)」与「强度标定(scaling/clipping)」两个维度。其四,通过冲突动力学(图 6)实证:更强教师(32B)冲突更低宜用 clipping,更弱教师(8B)冲突更高宜用 scaling,把超参与教师能力联系起来。
实验结果
Flux-OPD 在两类任务、三种师生配比上全部取得最佳总分。表 1(Qwen3-VL 8B→4B):VBench 均分 80.18,高于 OPD 79.28、OPCD 79.02、OEL 76.86 与 Student 79.69;Video-Bench 均分 3.61 居首,OEL 跌至 3.31。注意 OPD 反把学生从 79.69 拉低到 79.28,Flux-OPD 靠上下文偏好逆转了这一点。表 2(HealthBench,Qwen3 8B→1.7B):总分 20.61,超过 OEL 19.66、OPD 19.63、OPCD 19.53,Accuracy 子项 31.50 远高于 OPD 的 29.10。表 3(32B→7B):VBench 均分 80.24 居首,OPD 79.89。消融表 4 逐项有效:去演化上下文仅 19.63,加校正($\lambda$=0.7)到 20.03,再加冲突加权到 20.61。图 4 三次独立训练在 CogVideoX-2B(78.06 vs 77.39)与 HealthBench(20.30 vs 19.51)上一致更优且方差更小。图 5a 证明 Flux-OPD 损失平稳而 OEL 出现突刺;图 5b 在 OOD 的 IF-Eval 提示级严格准确率达 34.38,高于 OPD 32.90,显示更好跨域泛化。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 视频生成提示优化 (VBench) | VBench 均分↑(Qwen3-VL 8B→4B) | 80.18 | OPD 79.28 / OPCD 79.02 / OEL 76.86 | 相对 OPD +0.90,相对 OEL +3.32 |
| 视频生成提示优化 (Video-Bench) | Video-Bench 均分↑(8B→4B) | 3.61 | OPD 3.54 / OPCD 3.57 / OEL 3.31 | 相对 OPD +0.07,相对 OEL +0.30 |
| 医学问答 (HealthBench) | HealthBench 总分↑(Qwen3 8B→1.7B) | 20.61 | OEL 19.66 / OPD 19.63 / OPCD 19.53 | 相对 OEL +0.95,相对 OPD +0.98 |
| 视频生成提示优化 (VBench, 32B→7B) | VBench 均分↑(Qwen2.5-VL 32B→7B) | 80.24 | OPD 79.89 / OEL 79.75 / OPCD 79.65 | 相对 OPD +0.35 |
| 跨域指令遵循 (IF-Eval) | 提示级严格准确率↑(OOD 泛化) | 34.38 | OPD 32.90 / OEL 34.20 / 初始 31.79 | 相对 OPD +1.48 |
局限与改进
作者坦承的局限主要有三点:一是实验仅在两类任务、三种模型配比上验证,未覆盖代码、数学等更多开放域;二是默认只保留 top-64 目标 logit 并重归一化以求计算效率,可能损失长尾分布信息;三是冲突阈值 $\tau$、scaling 系数 $\alpha$、裁剪区间 $[\lambda_{\min},\lambda_{\max}]$ 仍需按教师强弱与任务手工调参(表 5、表 6、表 7),尚未实现完全自适应。从我的观察看,方法额外要计算 $R$ 条条件教师分布与几何平均,相比 OPD 显著增加每步开销(8B 教师下需多次教师前向),大规模部署成本不低;同时论文未给出随上下文数 $R$、种子数 $M$ 的系统性扩展性分析,也未与基于奖励模型的 RLHF 做直接对照,故「真实任务偏好」是否优于高质量奖励模型仍待证明。
独立分析的弱点
第一个弱点是工程开销:每个小批量需对 $R$ 条上下文各跑一次教师前向并做几何平均,教师越大代价越高,可改进方向是用低秩或缓存近似几何平均、或在 token 级别稀疏触发条件教师。第二个弱点是超参依赖教师能力(图 6、表 6):8B 教师冲突高宜 scaling,32B 教师冲突低宜 clipping,但选择标准仍靠经验,可改进为根据在线测得的 $\delta_k$ 分布自动切换 scaling/clipping 并自适应设 $\tau$。第三个弱点是上下文抽取仍用固定提示与人工设计的「经验项」结构,跨任务迁移性受限,可改进为用元学习或自提示让抽取器与学生共演化。第四个弱点是评测偏窄,仅视频提示优化与医学问答两类,可补充代码生成、创意写作等更高维开放域来检验「上下文冲突」假设的普适性。
未来方向
作者方向上,可把冲突动力学(图 6、图 14)从「事后监控」升级为「在线调度」:当冲突持续偏高时主动减少上下文数或触发重抽取,甚至按 token 级别分配不同 $\lambda$,而非全局统一权重。基于本成果可延伸的研究包括:将反向 KL 分解推广到前向 KL 已有的「算术平均 + 互信息」分解框架,统一两类蒸馏的目标分析;把「上下文差异信号」思想迁移到奖励模型蒸馏与过程奖励(PRM)场景,用冲突项筛选可信教师信号;以及探索学生自身参与上下文抽取(双向演化)的闭环训练,理论上能进一步缩小「教师偏好」与「真实任务偏好」的差距。
复现评估
复现信息较完整。论文给出算法 1 伪代码、附录 A 的抽取/蒸馏/系统提示、表 7 的全部超参(含每对师生-下游模型的 $\tau$ 与 calibration 设置)、数据集(VPO 10K 提示、RaR-Medicine 约 18K 题)、上下文抽取设置(每上下文 8 条 rollout、$M=3$ 种子、每 300 步更新)、训练配置(8×A800、batch 64、学习率 $2\times10^{-6}$、SFT 5 epoch、其余 10 epoch、top-64 logit)。困难在于:需具备 VL 与纯文本两类师生配比(4B/7B/32B 教师),单次训练含多次教师前向,算力门槛高;且评测依赖 Wan2.1-VACE-1.3B、CogVideoX-2B、HealthBench、VBench、Video-Bench、IF-Eval 多个下游模型与基准,端到端跑通工程量较大。代码与提示模板的官方发布情况论文未明确,需关注作者后续开源。
论文图表
图分为两面板:(a) 在 HealthBench 上 OPCD(19.53)反而不如 OPD(19.63),OEL(19.66)也未带来稳定增益,说明直接用条件教师做目标会退化;(b) 演化上下文导致训练损失出现明显的 loss surge,且不同上下文产生相互冲突的目标分布。右侧还给出视频提示优化任务中「抓住原意并补充深度细节」「聚焦主体、不加冗余复杂度」两类偏好示例。
这张图直接点明全文要解决的两个核心痛点——上下文当目标会变差、演化上下文会失稳,是理解 Flux-OPD 动机的入口。
附录图分五个面板展示各设置下随步数变化的平均冲突:8B 教师的提示优化冲突最高(约 0.2–0.4),32B 教师的提示优化冲突很低(接近 0–0.04),医学问答虽用 8B 教师但因评分细则补充,冲突值与 32B 设置相当(约 0.001–0.005)。结论是上下文一致性同时依赖教师能力与抽取时可选补充。
作为图 6 的扩展版提供全部设置的冲突曲线,为「冲突决定标定方式」提供更完整的实证,也帮助理解医学问答为何冲突意外地低。