← 返回 2026-07-31

Flux-OPD:用演化上下文做在线策略蒸馏 Flux-OPD: On-Policy Distillation with Evolving Contexts

Yuran Wang, Zekun Wang, Bohan Zeng, Ruixu Zhang, Wenxuan Liu, Liu Yang, Yifan Dai, Yang Shi, Bozhou Li, Chengzhuo Tong, Daili Hua, Yuanxing Zhang, Wentao Zhang 📅 2026-07-30 👍 43 2026-08-05 19:06
上下文蒸馏 医学问答 反向KL分解 在线策略蒸馏 大语言模型 开放域对齐 知识蒸馏 视频生成

通过反向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,把超参与教师能力联系起来。

Applying the Reverse KL Decomposition to Training with Evolving Contexts.
Fig. 2: Applying the Reverse KL Decomposition to Training with Evolving Contexts.
Overview of Flux-OPD.
Fig. 3: Overview of Flux-OPD.
Flux-OPD Training.
Algorithm 1: Flux-OPD Training.

实验结果

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,显示更好跨域泛化。

Results on the Prompt Optimization Task with a Qwen3-VL-Instruct 8B Teacher and 4B Student.
Table 1: Results on the Prompt Optimization Task with a Qwen3-VL-Instruct 8B Teacher and 4B Student.
Results on the Medical Question Answering Task with a Qwen3 8B Teacher and 1.7B Student.
Table 2: Results on the Medical Question Answering Task with a Qwen3 8B Teacher and 1.7B Student.
Results on the Prompt Optimization Task with a Qwen2.5-VL-Instruct 32B Teacher and 7B Student.
Table 3: Results on the Prompt Optimization Task with a Qwen2.5-VL-Instruct 32B Teacher and 7B Student.
Ablation Study of Flux-OPD on HealthBench.
Table 4: Ablation Study of Flux-OPD on HealthBench.
Parameter Study of the Conflict Threshold $\tau$.
Table 5: Parameter Study of the Conflict Threshold $\tau$.
Parameter Study of Strength Calibration.
Table 6: Parameter Study of Strength Calibration.
Additional Hyperparameters of Flux-OPD.
Table 7: Additional Hyperparameters of Flux-OPD.
Results across Three Independent Training Runs.
Fig. 4: Results across Three Independent Training Runs.
Training Stability 与 Out-of-Distribution Performance on IF-Eval.
Fig. 5: Training Stability 与 Out-of-Distribution Performance on IF-Eval.
Conflict Dynamics.
Fig. 6: Conflict Dynamics.
查看结构化数据
任务指标本文基线提升
视频生成提示优化 (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 多个下游模型与基准,端到端跑通工程量较大。代码与提示模板的官方发布情况论文未明确,需关注作者后续开源。