여러 specialist teacher를 하나의 student로 압축하는 multi-teacher on-policy distillation(MOPD)은 배포 시 teacher를 모두 서빙하지 않아도 된다는 장점이 있다.[1][2]
하지만 Math, Code, Instruction Following, Tool-use처럼 학습 난이도와 수렴 속도가 다른 도메인을 같은 비율로 계속 섞는다면, 이미 plateau에 들어간 도메인에 rollout 예산을 쓰고 느린 도메인은 덜 훈련하는 문제가 생긴다.[1][2]

D³-MOPD는 이 문제를 새로운 loss나 extra rollout으로 해결하지 않는다.[1]
대신 MOPD objective가 원래 산출하는 도메인별 reverse-KL history를 watcher가 읽어, 다음 batch의 domain mixture를 온라인으로 갱신한다.[1][2]
핵심은 모델의 능력을 더하는 것이 아니라, 이미 지불하는 학습 비용을 아직 배울 여지가 있고 실제로 개선 중인 도메인에 더 많이 배분하는 것이다.[2]

무엇을 해결하려는가

기존 vanilla MOPD의 per-domain mixture는 training 시작 전에 정한 뒤 고정된다.[2]
논문이 단일-domain OPD로 관찰한 결과는 도메인마다 다르다.
Math는 초반에 reverse-KL이 빠르게 떨어진 뒤 floor 근처에서 멈추고, Code는 더 느리게 계속 하락하며, Instruction Following은 절대 KL이 더 큰 상태에서 학습 budget 전반에 걸쳐 개선된다.[2]

고정된 uniform mixture는 이런 비동기 수렴을 무시한다.[2]
예를 들어 세 도메인 실험에서 Code는 약 step 48, Math는 약 step 96에 low-KL 구간에 들어가지만, IF는 약 step 144까지 남은 gap을 보인다.[2]
D³-MOPD의 출발점은 “모든 domain에 공평한 sample 수”가 아니라, 현재의 marginal learning value에 비례한 allocation이다.[2]

핵심 아이디어 / 구조 / 동작 방식

watcher는 trainer와 별도 process로 실행된다.[2] trainer가 student rollout과 teacher prefill에서 얻은 sample별 reverse-KL을 shared log에 기록하면, watcher는 도메인별 EMA history에서 두 신호를 계산한다.[2]
첫째는 initial KL 대비 현재 smoothed KL의 비율인 remaining gap이고, 둘째는 최근 여러 window에서 KL이 실제로 내려가는 속도인 descent velocity다.[2]

D³-MOPD는 두 값을 곱한 composite signal을 softmax와 domain floor로 mixture로 바꾼다.[2]
따라서 gap만 크지만 더 이상 감소하지 않는 domain과, 빨리 감소하지만 거의 수렴한 domain 모두 지나치게 우대하지 않는다.[2] floor는 일시적으로 plateau한 domain이 allocation 0이 되는 것을 막아 catastrophic forgetting 위험을 낮춘다.[2]

구성 역할 학습 loop에 주는 변화
Off-process watcher domain별 reverse-KL의 gap·velocity를 읽어 mixture 계산 trainer를 block하지 않음
Stratified data source 목표 mixture에 맞춰 다음 batch의 domain sample 수를 구성 기존 pool-and-shuffle을 교체
Batch-level jitter batch마다 비율을 작게 흔들어 long-run mixture 근처의 variation 유지 고정된 batch 조성을 피함
Mixture floor 모든 domain에 최소 비중 보장 일시적 plateau를 영구 배제로 바꾸지 않음

논문 구현은 watcher cadence 10 rollout step, velocity window 10 step과 3개 non-overlapping window, mixture floor 0.10, batch jitter 0.30을 사용한다.[2]
중요한 제약도 있다. scheduler가 zero-overhead라는 말은 KL 계산을 공짜로 만든다는 뜻이 아니라, 이미 MOPD loss를 위해 계산한 KL을 재사용하므로 추가 teacher rollout이나 별도 predictor training이 없다는 뜻이다.[1][2]

공개된 근거에서 확인되는 점

주 실험은 Qwen3.6-35B-A3B student와 Math·Code·Instruction Following·Tool-use의 domain-expert teacher 네 개를 사용한다.[1][2]
256 rollout step에서 vanilla MOPD의 best-average checkpoint는 step 143, D³-MOPD는 step 95다.[2]
같은 best-average checkpoint 비교에서 normalized score는 vanilla 0.48, D³-MOPD 0.73으로 보고되며, AIME25·HMMT·IFEval·LiveCodeBench v6·OJBench C++·BFCL에서 D³-MOPD가 vanilla보다 높고 IFBench만 0.6 point 낮다.[2]

Peak value를 benchmark별로 따로 보면 논문은 D³-MOPD normalized score 0.97, vanilla 0.63을 제시한다.[1][2] specialist teacher 대비 gap도 평균 3% 수준까지 닫았다는 해석이며, HMMT, IFEval, OJBench에서는 specialist teacher peak보다 높은 값을 보고한다.[2]
다만 이 수치는 16개 evaluation checkpoint 중 각 benchmark의 최고값을 택한 표와, 하나의 best-average checkpoint를 고른 표가 구분돼 있으므로 같은 종류의 비교로 섞어 읽으면 안 된다.[2]

지표 Vanilla MOPD D³-MOPD 읽는 법
Best-average step 143 95 동일 평균 peak까지 더 적은 rollout step
Best-checkpoint normalized score 0.48 0.73 하나의 checkpoint에서 본 평균 상대 성능
Per-benchmark peak normalized score 0.63 0.97 각 benchmark의 최고 checkpoint를 따로 취한 값
Teacher gap closure 63% 97% 논문이 정의한 normalized score 기준

Ablation도 composite signal의 필요성을 보여 준다.[2]
D³-MOPD의 평균 peak는 62.34이고, velocity를 빼면 61.41, gap을 빼면 61.46, jitter를 빼면 61.63, smoothing을 빼면 62.17로 낮아진다.[2]
이 결과는 gap과 velocity를 함께 써야 한다는 설계에는 힘을 싣지만, 절대적인 차이는 작다.
따라서 이 논문의 더 강한 메시지는 scheduler 자체의 거대한 SOTA leap보다는, heterogeneous distillation의 sample allocation을 KL learning dynamics로 제어할 수 있다는 점이다.[2]

실무 관점에서의 해석

D³-MOPD는 multi-domain training에서 data mixture를 고정된 dataset 비율로만 보지 말라는 제안이다.
모델이 어느 domain에서 현재 효율적으로 개선되는지를 알고 있다면, training budget은 static curriculum보다 control loop에 가깝게 다뤄야 한다.[2]
특히 여러 teacher를 운영하는 경우 teacher quality보다 먼저 “어느 teacher/domain에 다음 rollout을 줄 것인가”가 비용과 성능을 함께 좌우할 수 있다.[1][2]

그러나 general-purpose deployment 결론으로 확대하기에는 아직 이르다.
공개 arXiv v1은 code, project page, model checkpoint를 연결하지 않으며, 실험은 동일 backbone의 네 specialist와 특정 MOPD/slime training setup에 집중돼 있다.[1][2] reverse-KL plateau가 실제 task accuracy plateau의 reliable proxy인지, teacher family와 tool environment가 바뀌어도 watcher의 hyperparameter가 유지되는지는 독립 재현이 필요하다.[2]

그럼에도 이 방법은 agent와 foundation-model post-training 모두에 유용한 질문을 남긴다.
더 많은 data를 섞는 것보다, 각 data/domain이 지금도 학습 가능한 signal을 주는지 측정하고 budget을 재배분하는 편이 나은가.
D³-MOPD는 이 질문에 이미 존재하는 reverse-KL telemetry만으로 답하려 한, 작지만 실용적인 scheduling layer다.[1][2]