Open-MOPD

Open-MOPD Diagnosing and Fixing Capability Imbalance in Multi-Teacher On-Policy Distillation

We introduce the first fully open-source recipe for multi-teacher on-policy distillation.

Open-MOPD reduces the integration gap from 3.50 to 0.31 points in one shared student.

Huan-ang Gao*,1,2,3, Haohan Chi*,1,2,3, Yong Yan1,2,3 Shiyuan Feng1,2, Hanlin Wu1,2, Zheng Jiang3, Bingxiang He3 Wei-Ying Ma1,2, Ya-Qin Zhang1,2, Hao Zhou1,2,†

1SIA-Lab of Tsinghua AIR and ByteDance Seed

2Institute for AI Industry Research (AIR), Tsinghua University

3Department of Computer Science and Technology, Tsinghua University

*Equal contribution · Project Lead · Corresponding author

The first fully open-source multi-teacher on-policy distillation (MOPD) recipe

Open-MOPD specifies the complete path from a public base model to one unified student: mixed-domain supervised fine-tuning, three independently trained domain RL teachers, and hard-routed multi-teacher on-policy distillation, together with the datasets, training settings, checkpoints, and evaluation suite. The recipe balances two constraints. Model capacity must be high enough to close long reasoning trajectories, otherwise truncation confounds the diagnosis; experimental feasibility must remain low-cost enough to repeat the full pipeline and its mechanism ablations. SmolLM3-3B-Base is selected as the operating point between an under-capable 1.7B screen and a capable but substantially more expensive 7B screen.

The Open-MOPD training recipe SmolLM3-3B-Base is supervised fine-tuned into MixSFT. MixSFT trains three domain RL teachers and initializes the Open-MOPD student through a dashed path. RL-Math, RL-Code, and RL-IF jointly teach the final student. init. teachers BASE MODEL SmolLM3-3B-Base Fully open · 3B · 64K context STAGE I MixSFT Math · OpenR1-Math-93k Code · OCR-50k IF · Instruction-Nemotron STAGE II · TEACHER RL-Math DAPO-Math-17k STAGE II · TEACHER RL-Code DeepScaler-24k STAGE II · TEACHER RL-IF Nemotron-IF-RL-46k STAGE III Open-MOPD Token-share balance Gap-following allocation Reward refresh One unified student The Open-MOPD training recipe A mobile vertical layout of the same recipe: base model, MixSFT, three domain RL teachers, and one Open-MOPD student. init. teachers BASE MODEL SmolLM3-3B-Base Fully open · 3B · 64K context STAGE I MixSFT Math · OpenR1-Math-93k Code · OCR-50k IF · Instruction-Nemotron STAGE II · TEACHER RL-Math DAPO-Math-17k STAGE II · TEACHER RL-Code DeepScaler-24k STAGE II · TEACHER RL-IF Nemotron-IF-RL-46k STAGE III Open-MOPD Token-share balance · Gap-following allocation Reward refresh One unified student

Preliminary Naive MOPD Results

Naive M-OPD versus RouteOPD: math gap 1.89, code gap 2.45, and IF gap 6.16 points
Integration gap: math 1.89 · code 2.45 · IF 6.16 points.

Math, code, and instruction-following experts can each gain capability through reinforcement learning, yet their strengths do not simply add up when all three teachers update one shared student. Even with correct hard routing by known domain labels, Naive M-OPD remains below the per-domain RouteOPD reference, with the largest deficit on short instruction-following responses.

Diagnosing the Problems

The paper tests routed-teacher disagreement first, then measures the two sources of optimization-budget imbalance: response-token share and the moving teacher–student gap under stale rewards.

Teacher disagreement is measurable, but not the bottleneck

For each generated token, teacher disagreement is the difference between the highest and lowest teacher log-probability assigned to that token. Mean disagreement is 0.126 nat; only 0.62% of tokens exceed 1 nat (3.9% on IF). Masking high-disagreement tokens or replacing their signal with teacher consensus lowers the total score by −0.52 to −0.83.

Routed-teacher disagreement distribution and interventions
Teacher disagreement is measurable, but not the bottleneck.

Prompt share is not token share

Prompt share: 39.8 / 39.8 / 20.3%; gradient-token share: 49.7 / 49.3 / 0.99% (Math / Code / IF). Math/Code responses are ≈ 10,500 tokens; IF is ≈ 409 tokens. IF needs about 33.6× oversampling to get one-third of the token budget.

Prompt share versus gradient-token share, including IF oversampling
Prompt frequency does not determine each domain’s share of gradient tokens.

Moving teacher–student gaps make the budget drift

We estimate a domain’s training budget as its number of response tokens multiplied by the average absolute reward per token. Panel (c) below reports each domain’s percentage of the total budget; because this run gives all three domains the same number of tokens, the percentages are determined only by reward strength. As the teacher–student gaps close at different speeds, IF’s share falls from 48.7% to about 9% within 25 steps, while Code rises from 39.6% to 63.8%.

Teacher-student gap shrinkage causes effective budget drift after token-share balancing
Even after token-share balancing, effective budget drifts as domain gaps shrink at different rates.

Repeated inner updates make rewards stale

Consolidating three domains into one student requires a sufficiently large mixed-domain rollout batch to estimate and balance the Math, Code, and IF token budgets. This large batch is partitioned into multiple PPO minibatch updates. The trajectories are on-policy when sampled, but the student changes after each update while the frozen teacher does not; consequently, a dense reward computed with rollout-time student probabilities becomes inconsistent with the current policy. Rollout-to-current KL reaches 0.059 at K=4 and 0.216 at K=32; the clipped-token fraction reaches 0.86.

Rollout-to-current KL and PPO clipped-token fraction increase with the number of inner updates
As inner updates accumulate, the student moves away from the rollout policy and the cached reward becomes stale.

Method: Open-MOPD

Open-MOPD keeps hard teacher routing and the on-policy distillation objective, but explicitly controls how much update budget each domain receives and refreshes the student-dependent reward before every inner update.

Open-MOPD pipeline: student rollout, hard routing, cached teacher log-probabilities, dense reward, and PPO updates
The teacher scores states visited by the student; it does not generate demonstrations.
Algorithm 1

Open-MOPD training loop

sdThe fraction of response tokens from domain d in the current batch.

mdThe mean absolute token reward for domain d—a running measure of the remaining teacher–student gap.

  1. Roll out and route

    student rollout → routed teacher scores the student’s top 16 tokens

    The student generates the response. Its known Math, Code, or IF label selects one frozen teacher, whose scores are cached once.

  2. Token-share balancing

    wdshare = (1/3) / sd

    If a domain supplies fewer response tokens, each of its tokens receives more weight. The weighted loss therefore assigns one third of its token budget to every domain.

  3. Gap-following allocation

    gap factord = clip(md / mean(m), 0.05, 20) wd = normalize(wdshare × gap factord)

    Domains with more capability left to distill receive more budget. Normalization keeps the total batch-loss scale unchanged.

  4. Reward refresh and PPO update

    Refresh token reward rt(k) = stopgrad(log pteacher − log pstudent(k)) × p̃student(k)
    Apply the Step 3 domain weight rt(k) ← wd(x) × rt(k)
    Update one shared student PPO update

    Before every inner update k, refresh the student-dependent reward, multiply every token by the final weight of its sample’s domain, and only then compute the PPO loss.

Results: 3.50 points → 0.31

We first isolate the contribution of each mechanism, then report detailed results for Math, Code, and Instruction Following, and finally present the complete cross-domain comparison.

Ablation study

Each row adds one mechanism to the setting directly above it. K is the number of PPO minibatch updates per rollout batch.

From Naive M-OPD to the complete Open-MOPD recipe.
ConfigurationShareGapRefreshKMathCodeIFTotalΔ
Naive M-OPD121.2619.2643.6428.05
+ token-share120.5519.5747.5329.22+1.17
+ gap-following121.0019.3149.5029.94+1.89
Naive matched control421.6219.7246.4929.28+1.23
+ share + gap423.0521.0747.1630.43+2.38
Open-MOPD422.4221.7349.5831.24+3.19

Complete results

Total is the mean of the Math, Code, and IF domain averages. Recovery measures recovered RouteRL headroom relative to MixSFT e4.

Complete six-benchmark comparison on SmolLM3-3B.
MethodMathCodeIFTotalRecovery
AIME24AIME25AvgLCB v5LCB v6AvgIFEvalIFBenchAvg
SmolLM3-3B-Base2.081.721.903.416.174.7916.0813.0014.547.08
MixSFT e415.6320.2617.9515.9919.2017.6066.9116.0041.4625.67
RouteRL23.6524.8424.2422.1621.3121.7374.4927.6751.0832.35100%
RouteOPD22.3423.9623.1522.2821.1421.7175.6024.0049.8031.5588.0%
RFT22.9723.9123.4418.9819.4319.2155.0818.6736.8726.5112.6%
MixRL21.1522.1421.6416.5920.9718.7870.2422.6746.4528.9649.3%
ParamMerge-Avg18.9120.9919.9518.3821.2019.7970.0617.6743.8627.8732.9%
ParamMerge-TA21.9322.7622.3421.7423.1422.4471.5321.6746.6030.4671.7%
Naive M-OPD20.9221.6021.2617.5320.9919.2668.6118.6743.6428.0535.6%
Open-MOPD21.9822.8622.4220.8422.6321.7374.4924.6749.5831.2483.4%
MethodMathCodeIFTotalRecovery
Base1.904.7914.547.08
MixSFT e417.9517.6041.4625.67
RouteRL24.2421.7351.0832.35100%
RouteOPD23.1521.7149.8031.5588.0%
RFT23.4419.2136.8726.5112.6%
MixRL21.6418.7846.4528.9649.3%
Merge-Avg19.9519.7943.8627.8732.9%
Merge-TA22.3422.4446.6030.4671.7%
Naive M-OPD21.2619.2643.6428.0535.6%
Open-MOPD22.4221.7349.5831.2483.4%

RouteRL and RouteOPD route each evaluation sample to a separate domain model and are not single deployable students.

Open-MOPD closes the integration gap from 3.50 to 0.31 points and raises RouteRL headroom recovery from 35.6% to 83.4% in one shared student.

BibTeX
@article{gao2026openmopd,
  title={Open-MOPD: Diagnosing and Fixing Capability Imbalance in Multi-Teacher On-Policy Distillation},
  author={Gao, Huan-ang and Chi, Haohan and Yan, Yong and Feng, Shiyuan and Wu, Hanlin and Jiang, Zheng and He, Bingxiang and Ma, Wei-Ying and Zhang, Ya-Qin and Zhou, Hao},
  journal={arXiv preprint},
  year={2026}
}