Co-Evolving Policy Distillation: 把 RLVR 与 OPD 拧成一股绳

Naibin Gu, Chenxu Yang, Qingyi Si et al. · CAS / UCAS / JD.COM · 2026-04-29 · arXiv:2604.27083
关键词: RLVR · On-Policy Distillation · Multi-Capability Consolidation · Co-Evolution · GRPO · Multimodal

速读卡片 (TL;DR)

一句话:把多个 expert 的 RLVR 训练和它们之间的 OPD 完全交错并行,让 expert 互为师生边训边蒸,以此同时绕开 mixed RLVR 的 capability divergence cost 和 sequential pipeline 的 absorption gap,在文本 + 图像 + 视频三路推理上做出 all-in-one 模型,甚至超过各自的 domain expert。

r=0.89
teacher-student top-k overlap 与 OPD gain 的相关
≥0.90
CoPD 全程维持的 top-k overlap (静态 OPD 跌至 ~0.5)
+1.6 pt
CoPD 三路 overall avg 比 MOPD 多出

立场:这不是新的 KD 损失或新的 RL 算法,而是训练编排 (training schedule) 论文。核心论点只有一句:teacher 和 student 之间的"行为距离"必须被主动维持在可吸收范围内,而静态 pipeline 必然把这个距离推到吸收效率极低的区域


1 · 动机 — 多能力整合到一个 policy,究竟难在哪?

1.1 历史脉络: All-in-one 模型的两条主流路线

2024 年之后,RLVR(rule-based verifiable reward 驱动的 RL)逐渐取代 RLHF 成为大模型 post-training 的主流。GRPO / DAPO / GSPO 一批工作把它做成可规模化的训练机制,DeepSeek-R1、Vision-R1、Video-R1 这些系列证明了 RLVR 能专门为某种能力大幅拉升 reasoning 表现。

但只要你想在一个模型里同时容纳多种能力(文本数学 + 图像推理 + 视频理解),就要面对一个老问题: 怎么把这些能力都装进同一组参数。社区里实际跑通的路线有两条:

1.2 Mixed RLVR 为什么不够: capability divergence cost

论文形式化了一个直觉:不同 capability 的最优梯度方向其实是互相冲突的——文本数学的最优 update 可能压缩 visual token attention,而图像推理的最优 update 反过来强化。混合训练时每一步的 update 是这两个方向的平均,体现为 gradient conflict

Umix ≈ X(D₁,D₂) − Φ(D₁,D₂)

这里 X 是把每条数据"完美应用"到 unified policy 时能拿到的最大 capability,而 Φ > 0 是不同 capability 间 gradient 冲突的代价——即论文称的 capability divergence cost。这就是经典的 seesaw effect:数学能力涨了图像就跌,反之亦然,无论怎么调 mixing ratio 都消不掉。

1.3 Sequential pipeline 为什么不够: behavioral pattern gap

OPD 看起来能避开 gradient conflict——每个 expert 单独训,然后再蒸到 student。问题在 OPD 的训练动力学本身:

LOPD(θ) = Ex, y∼πθ [ (1/|y|) Σt DKLT ‖ πθ) ]

OPD 的 supervision 落在 student 自己采到的状态 y<t 上。当 teacher 的 token-level distribution 与 student 的差太多——即 πT(·|y<t) 与 πθ(·|y<t) overlap 极低——KL 几乎全部集中在 student "几乎不可能去的方向",梯度推不动 student 实际访问到的状态。

论文的 pilot study 用 top-k token overlap (k=10) 量化这件事,得到两个数据点:

结论很硬: "先把 expert 训到 convergence,再 OPD"这个流程的设计点恰好把 teacher-student overlap 推到吸收效率最低的区域。这就是 behavioral pattern gap。

Ustatic ≈ η(Olow) · X(D₁,D₂)

其中 η(O) ∈ [0,1] 是 absorption efficiency,O 是 overlap。Mixed RLVR 是 a=1 但 b=−Φ;static pipeline 是 a=η(Olow) 偏小但 b=0。两条路各自牺牲一半。

三种范式各自损失了什么 (utility decomposition) Mixed RLVR X(D₁,D₂) 全部信号 −Φ 冲突 a=1, b=−Φ Sequential RLVR→OPD η(Olow) · X (吸收一小块) overlap 已经掉到低 η 区 a=η(Olow) ≪ 1, b=0 CoPD (本文) η(Omod) · X (大部分) overlap 主动维持在高 η 区 a=η(Omod) ≈ 1, b=0 overlap O → η static O_low CoPD O_mod O→1 collapse
上半: 三种范式 utility 拆解。Mixed RLVR 全信号但被 Φ 蚀掉一块;static OPD 没冲突但只吸收 η(O_low)·X 这一小条;CoPD 既消掉 Φ,又把 O 维持在 η 较高的区域。下半: η(O) 是钟形的——overlap 太低 student 听不懂,overlap 趋近 1 又意味着 KL=0 没新信息可传,所以"主动维持中等 overlap"才是最优工作点。

1.4 缺失的那一块: 不只是"什么时候蒸",还要"双向 + 持续"

把上面的分析翻译成设计要求,论文识别出三条耦合条件:

  1. 蒸馏必须发生在 expert 训练过程中而非之后 —— 否则 overlap 已经掉光;
  2. teacher 必须随 student 一起进化 —— 否则 overlap 又会单方面被 RLVR 推开;
  3. capability-specific RLVR 不能停 —— 否则 teacher 没新东西可教,信息量退化。

三条同时满足才是 CoPD 的设计:RLVR + 双向 mutual OPD,两个阶段交替,N 个 cycle 跑完。


2 · 背景速查

2.1 关键术语

术语含义
RLVRReinforcement Learning with Verifiable Rewards. reward 来自规则验证(数学答案对错、代码 unit test 等),取代 RLHF 的学习型 reward model
GRPOGroup Relative Policy Optimization. PPO 变体,用 group 内 reward 标准化估 advantage,无需 value model
OPD / On-Policy Distillation蒸馏发生在 student 自己 sample 出的 trajectory 上,teacher 在每个 token 位给出 KL supervision
MOPDMulti-teacher OPD. 多个 expert 同时作为 teacher,共同蒸到一个 student
Mixed RLVR把多个 capability 的训练数据混进一个 pool 跑一次 RLVR
Capability divergence cost (Φ)不同 capability 梯度方向冲突造成的优化损失
Behavioral pattern gapteacher 与 student 在 student 自己访问的状态上,token 分布的差异
Top-k overlap OkOkθT) = E [|Topk(πθ) ∩ Topk(πT)| / k] 沿 student 的 on-policy 轨迹
Absorption efficiency η(O)OPD signal 实际转化为 capability 增益的比例,论文论证它是 O 的递增函数(到饱和点前)
Mutual / bidirectional OPD两个 branch 互为师生,各自在对方数据上 rollout、用对方的 logits 作 supervision
Hub-and-spoke topologyK 个 branch 时不做 K² 全配对蒸馏,选一个 branch 作 hub 与每个 spoke 做双向 OPD

2.2 OPD 的标准流程 (复习)

  1. Student πθ 在 prompt x 上 sample 出 trajectory y = (y₁,...,yT);
  2. Teacher πT 在每个前缀 (x, y<t) 上 forward 一次,得 token 级分布 πT(·|x, y<t);
  3. loss = (1/|y|) Σt KL(πT ‖ πθ),反传更新 student;
  4. 关键: rollout 来自 student,所以 supervision 永远落在"student 实际能采到的状态"上——这是它优于 off-policy KD 的本质。

2.3 GRPO 一行回忆

LGRPO = E [ (1/G) Σi (1/|yi|) Σt min(ρi,t·Âi, clip(ρi,t,1±ε)·Âi) ]

对 prompt 采 G 条 rollouts,Âi = (ri − r̄)/σr 是 group-relative advantage,ρi,t 是 importance ratio。


3 · 统一分析框架: 三种范式在同一坐标系下

论文 §2.1 给出一个非常聪明的统一公式:

UP ≈ aP · X(D₁,D₂) + bP

其中 a∈[0,1] 是"信号转化效率",b≤0 是"额外冲突损失"。三种范式落在同一框架的不同点上:

范式ab主导失败模式
Mixed RLVR1−Φ < 0capability divergence (gradient conflict)
Static RLVR-then-OPDη(Olow) ≪ 10behavioral pattern gap (低吸收效率)
CoPDη(Omod) ≈ 10—— 两边都规避

这是论文的 narrative spine: 它把"两种已有范式的 failure mode"归结为同一个 utility 公式中的不同退化方式。CoPD 的存在就是为了同时让 a 和 b 都靠近最优。

反向论证:如果只把 OPD 提前(满足条件 ①),但 teacher 仍然用一个固定 expert,那 student 一边被 OPD 拉向 teacher,一边被自己的 RLVR 推开,overlap 仍会逐步偏离;不引入 RLVR (条件 ③),teacher 与 student 又会合二为一,KL→0,信息量耗尽。所以三个条件缺一不可。

4 · 行为一致性假设 + Pilot Study

4.1 假设

"OPD signal 越易被 student 吸收,当 teacher 与 student 沿 student 自己的 on-policy 轨迹表现出越接近的 token 级分布。"

4.2 实验 1: η 随 overlap 单调上升

固定一个 image-domain teacher,通过调 sampling temperature 在 base 上跑短训得到一系列 student,使它们与 teacher 的 top-k overlap 不同。然后用相同 OPD 配置跑相同 budget,看 WeMath gain。

结果: 线性拟合 r=0.89, R²=0.79。同一个 teacher 下,越行为相近的 student 吸收得越多

4.3 实验 2: RLVR 训练把 overlap 推向低 η 区

从 shared base π₀ 出发,独立训文本 expert 与图像 expert,定期测每个 expert 与 π₀ 在 on-policy rollout 上的 top-k overlap 与 symmetric KL。π₀ 在这里被当作"最终的 student 代理"。

Exp 1: OPD gain vs overlap top-k overlap O post-OPD gain r=0.89, R²=0.79 Exp 2: O 随 RLVR 训练单调下降 RLVR step → O / sym KL top-k overlap ↓ symKL ↑ (~10×) low-η trap
左: 同一 teacher、不同 overlap 的 student,跑 OPD 后 gain 与 overlap 强正相关 (r=0.89)。右: 标准 RLVR 训练时 expert 与 base 的 overlap 单调下降、symmetric KL 涨一个数量级——这恰好把 expert 推到右图阴影区,即左图坐标轴最左端 η 最低的位置。两张图合在一起就是论文的核心实证: 静态 pipeline 必然在 η 最差的工作点做 OPD

4.4 钟形 η 的另一面: overlap → 1 也会塌

论文还提出一个边界条件: 当 teacher 与 student 行为完全一致时, KL(πT‖πθ)→0, OPD gain 必然为 0。这意味着"一直跑 OPD 不切换"也不行——teacher 与 student 会收敛到同一个分布,从此再无新信号。所以 CoPD 的"周期性插入 RLVR phase"不只是工程方便,而是主动制造适度的行为差距,让 supervision 保持信息量。


5 · CoPD 方法详解

5.1 总体: alternating 两阶段 × N cycles

Mixed 单 model · 数据混合 RLVR Sequential expert₁ RLVR expert₂ RLVR MOPD into one student (在 O_low 上) CoPD RL₁ mOPD Merge θ* θ₁: θ₂: RLVR (branch-specific) Mutual OPD (双向) Parameter merge (最后一次)
三种 paradigm 时间线对照。Mixed RLVR 是单条粗线;Sequential 是两条平行 RLVR 线 → 一段长 MOPD;CoPD 把整条时间轴切成 N 个 cycle,每 cycle 内 RLVR 与双向 mutual OPD 都贴着发生,最后做一次 parameter merge。每个 cycle 内的双向箭头表示两个 branch 互为 teacher/student。

5.2 Phase I: Branch-specific RLVR

第 n 个 cycle 的 Phase I,每个 branch k 各自在自己的 Dk 上做 SRL 步标准 GRPO:

θk(n,I) = RLVR(θk(n−1); Dk, rk, SRL)

这一步刻意把两个 branch 拉开——若不拉开就没东西可教对方。

5.3 Phase II: Bidirectional Mutual OPD

在 Phase II,branch k 拿对方的 prompt x'∼Dj sample 自己的 rollout,然后用对方 branch j 的 logits 作 token-level supervision。论文给出的 token-level advantage 形式很巧妙:

δi,t(k←j) = log πθj(yi,t(k)|x', y<t) − log πθk(yi,t(k)|x', y<t)
Âi,t(k) = βk · δi,t(k←j)

即把"teacher 给 student 实际产出 token 的 log-prob 增量"当成 token 级 advantage,再用 PPO/GRPO 那套 clipped surrogate 优化。这等价于一种 reverse KL 蒸馏,但被嫁接到 RL 框架里——同一份 update 路径既能跑 RLVR 也能跑 OPD。

Algorithm 1 里 mutual OPD phase 实际还包含同时进行的 native RLVR (line 10–12),不是纯蒸馏。这把"capability-specific 训练不能停"显式编码进算法。

关键工程细节:由于双向对称、两边都从同一 base 出发并被 mutual OPD 紧紧拉住,K 个 branch 训完后参数没有 drift 太远,直接做 parameter merge(简单地 weight-average 或 task-arithmetic 风格)就能得到 unified model。这是 CoPD 能"all-in-one"出最终模型的物理基础——没有 merge,前面所有 mutual 设计都是空中楼阁

5.4 K > 2 时的 hub-and-spoke

K 个 branch 全配对蒸馏要 K(K−1) 对 OPD,O(K²) 复杂度。论文用 hub-and-spoke: 选一个 branch 做 hub(三路设置里是文本 branch,因为 image/video branch 都是 VL 模型,reasoning 大头都靠 LLM 子组件),其余 spoke branch 只与 hub 双向 OPD。这样 OPD 对数降到 O(K)。

2-branch θ₁ θ₂ 3-branch (hub-spoke) θ_text (hub) θ_img θ_vid img/vid 不直连 (省一对 OPD) N-branch hub O(K) edges
从 2 branch 到 K branch 的拓扑。在三路里把文本 branch 当 hub 是设计选择: image / video 都是 VL 模型,其推理大头由 LLM 子模块承担,所以 text branch 学到的"推理风格"对它们最易迁移;反之则未必。如果改成 image hub,论文没报告但暗示效果会不如 text hub。

6 · Worked Example: 两个 expert 跑 4 个 cycle 的内部状态

抽象不够实在,这里把 paper 里 Figure 4 的 dynamics 数据(top-k overlap、symKL)结合算法流程,用一个具体的 trace 走一遍。设置: branch₁ = text(数学题,Polaris-53K), branch₂ = image(MMFineReason-123K), 同 base π₀ = Qwen3-VL-4B-Instruct, SRL=15, SOPD=10, β=1.0。

时刻动作O10(θ₁,θ₂)symKL变化机制
cycle 0 / 起点θ₁=θ₂=π₀1.000同一个 base,完全一致
cycle 1 · Phase I各自 RLVR 15 步0.930.4两个 branch 沿不同 capability gradient 偏离
cycle 1 · Phase II互蒸 10 步 (双向)0.960.2每个 branch 在对方 prompt 上 rollout,用对方 logits 拉回
cycle 2 · Phase IRLVR 15 步0.910.5再次拉开,但起点已含对方知识
cycle 2 · Phase II互蒸 10 步0.940.25新一轮 mutual OPD 把双方 capability 又混合一次
...共 N cycle稳定 ≥ 0.90每 cycle 一推一拉,overlap 围绕 ~0.92 振荡
对照: static pipeline跑同样总 step 但全是 RLVR~0.50~5×单调下降到低 η 区,此时再跑 OPD 已晚
cycle N 结束Merge θ₁, θ₂θ* 同时具有两个 branch 的能力

具体 token 级 trace (Phase II, branch₁ = student / branch₂ = teacher)

设 prompt x'∈D₂(图像题): "图中三角形三边为 3, 4, 5,求面积"。student θ₁(text branch)生成 rollout:

" 勾股 定理, 这是 直角 三角形, 面积 = (3×4)/2 = 6"

对 token "勾股" 这一位:

反之若某 token θ₁ 的 log-prob 已经显著高于 θ₂(text branch 自己更专),δ 为负或接近 0,update 微弱——OPD 不会让 student 退步到老师水平。这与 PPO clip 的语义一致。

反向论证: 假如取消"双向"会怎样?

论文 Table 3 的 ablation 给出了清楚答案。把 I-OPD(image branch 教 text)拿掉,text reasoning avg 从 58.76 跌到 57.41;把 T-OPD 拿掉,image reasoning avg 从 56.97 跌到 56.48。每条单向 OPD 都有独立贡献——这是"互"的实证必要性,不是冗余对称。

反向论证: 假如取消"过程中"(把 OPD 全堆到最后)?

这就退化为 static OPD pipeline。Table 1 显示 OPDV→T overall 56.09, OPDT→V 56.29, 而 CoPD 57.71。差距 ~1.4 pt 全部来自"OPD 在低 η 区跑 vs 高 η 区跑"的 absorption 差异。Figure 4(c) 进一步显示, 即使把 SRL:SOPD 比例调成各种值,CoPD 也始终高过 static OPD baseline。


7 · 实验关键结果

7.1 Two-branch (text + image) 主表

ModelImage AvgText AvgOverall
Base (Qwen3-VL-4B)54.0055.7854.74
Image-Expert (单独 RLVR)55.7655.5155.65
Text-Expert (单独 RLVR)54.8857.8956.13
Mixed RLVR55.6955.4855.60
OPD (V→T)55.9956.2356.09
OPD (T→V)56.4456.0956.29
CoPD56.9758.7657.71

三个值得注意的现象:

7.2 Three-branch (text + image + video) 拓展

ModelImageTextVideoOverall
Mixed RLVR56.1755.3959.6256.79
MOPD (3 teacher)56.3756.8058.3256.99
CoPD57.1258.6359.2158.12

有意思的是 Mixed RLVR 在video 上反而最高(59.62),论文解释为 video reasoning 受益于多样化数据;但代价是 text 跌到最低 (55.39)。CoPD 把 text 拉回 58.63,同时 video 保持 59.21,是真正的 "no trade-off"。

7.3 Ablation 关键发现

VariantImageTextOverall
CoPD (full)56.9758.7657.71
w/o I-OPD56.7857.4157.04
w/o T-OPD56.4857.7857.02
Text-Branch only (no merge)56.2658.6157.24
Image-Branch only (no merge)56.7857.1756.94

关键观察: 即使不做 merge,单个 branch 已经超过 static OPD baseline(57.24 / 56.94 vs 56.09 / 56.29)。也就是说 mutual OPD 让每个 branch 在各自训练过程中就已经吸收了对方的能力——merge 是锦上添花而非依赖。这也意味着 CoPD 还能用作"训出多个互补 expert,部署时按需要 route"的方案。

7.4 SRL : SOPD ratio

Figure 4(c): 1.5:1 在 image / text / overall 都最优。论文解释: SRL 太短 → 拉不开足够 capability gap, OPD 没新东西可传;SRL 太长 → overlap 跌出可吸收范围, OPD 来不及救。1.5:1 是"探索-巩固"的 sweet spot。

7.5 Training dynamics 的图证 (Fig 4 a/b)

这张图直接对应方法的核心论证:RLVR 制造分化 → 蒸馏才有信息;mutual OPD 拉回邻近 → 信号可吸收


8 · 与同类工作对比

工作路线与 CoPD 的关系
Vanilla RLVR (DeepSeek-R1, Vision-R1, Video-R1)单 capability RLCoPD 的"branch-specific RLVR phase"就是 vanilla RLVR; CoPD 在它之上加 mutual OPD
Mixed RLVR / scaling-laws-for-mixtures (Shukor 2025)混合数据训一个 model + tune mixing ratioCoPD 论证无论 ratio 怎么调都消不掉 Φ,这是结构性的
Sequential KD / MOPD (Qwen3, Kimi K2.5, GLM-5)独立训 expert → 一次性蒸到 studentCoPD 直接 target 它的 absorption gap;Table 1 / Table 2 直接打过
On-Policy Distillation (Thinking Machines blog, 2025)OPD 作为单向 KD 配方CoPD 把它升级为双向 + 持续
MoE routing alternatives (DeepSeek-V3, GLM-MoE)用 MoE 把 capability 分到 expert,运行时 route正交路线: CoPD 不改架构,只改训练;但训完的 model 仍是 dense,推理简单
TIDE (2604.26951)跨架构 (AR ↔ dLLM) on-policy distillation同样是"OPD 不要静态"的思路,但聚焦 cross-architecture, CoPD 聚焦 cross-capability
Multi-task RL (PCGrad, GradVac)梯度投影减少 task 间冲突处理 Φ > 0 的另一思路 — 修 gradient 而不绕开;CoPD 是从结构上把每个 capability 隔离成独立 branch
RL frameworks (verl/EasyR1)训练栈CoPD 实现在 EasyVideoR1 (verl + EasyR1) 之上 — 它是调度层,不需要新 framework
RLSD / NPO (作者前作 Self-Taught RLVR series)"informed self" / "temporal self"CoPD 是同系列第三篇 "parallel self" — 多个并行的自己互教
定位:CoPD 是训练编排论文,不是 algorithm 论文。它的所有工具(GRPO、OPD、parameter merge)都是 off-the-shelf;贡献是把"什么时候做、谁教谁、是否对称"这套问题想清楚并用 utility 公式说服读者。这种类型的论文,实证强度比理论新颖度更重要——而它的两个 pilot study 实验恰恰把"行为距离 ↔ absorption 效率"钉得很死。

9 · 局限 / 个人 take / 待验证问题

论文承认 / 我读出的局限

我的疑问 (落地后想验证)

  1. "互蒸"用 reverse KL (δ = log πj − log πk) 对应 mode-seeking 行为,如果换成 forward KL (mean-seeking) 是否会让 overlap 维持更稳但 capability 提升变弱?
  2. Phase II 内同时跑 native RLVR + cross-branch OPD,两者 batch 怎么混?Algorithm 1 line 12 说"combine native and cross-branch batches",但相对权重 βk = 1 是固定还是 schedule?
  3. 能否把 mutual OPD 改造成 sample-level (而非整个 phase),即每条 prompt 上都同时算 RL loss + OPD loss?这会让 overlap 维持得更紧,但梯度方向冲突是否变成另一个 Φ?
  4. 对于 capability 高度相关的子集(如 image math 与 text math),是否还需要 explicit branch 分离?会不会一个 capability 就够?
  5. K → 大时,merge 应该用什么(simple average / TIES / DARE)?论文没说。merge 失败时 fallback 到"每 branch 单独部署 + router" 的 cost 多大?
  6. 这套机制能否扩展到 RLHF (preference-based reward)?reward 不再是 verifiable rule 时,branch-specific reward 之间冲突可能更微妙。

记忆点

立场 不是新算法,是 schedule 论文 — 把 RLVR 与 OPD 编排成 alternating + 双向
核心 teacher-student 行为距离决定 OPD absorption,必须主动维持
公式 U = a·X + b: mixed (a=1, b=−Φ); static (a=η(O_low), b=0); CoPD (a=η(O_mod), b=0)
证据 r=0.89 (overlap↔gain), CoPD overlap ≥0.90 vs static 跌至 ~0.5
惊讶 CoPD 在 text/image 都超过各自 expert — 打破"unified ≤ specialist"的 ceiling
尺度 2-branch + 3-branch 都验证;hub-and-spoke 把 OPD 数从 O(K²) 降到 O(K)

精读笔记 v1 · 2026-05-09 · 配套 PDF: /data/szhang967/papers/paper-notes/models/CoPD_2604.27083.pdf
相关阅读: TIDE · MTP · RL frameworks