蚂蚁PMOPD让Qwen7B三项都超过专精老师,均分再抬至66.97

PMOPD: Task Ordering, Cycling, and Parameter-Update Subspace Protection in Multi-Teacher On-Policy Distillation

Youzhi Liu, Ruobing Zheng, Boyuan Tong, Tianqi Li, Pingqi Li, Hanbo Bi, Yi Yuan, Jingdong Chen

cs.LG

2026-09-28

蚂蚁PMOPD用任务块位移建子空间记忆,对梯度与Adafactor更新双投影,再配合冲突排序与四轮循环。相对MOPD,Qwen2.5-7B均分+2.54、Llama-3.1-8B+2.09,三项全涨。

这篇在解决什么

Frontier 模型做后训练,常见流程是先分别训出数学、推理、代码老师,再把行为蒸馏进同一个学生。Multi-teacher on-policy distillation(MOPD,多教师在线策略蒸馏)省掉推理时路由和多模型 serving:老师盯着学生自己采样的轨迹给 token 级目标。

单任务 OPD 的工作主要改目标、蒸馏范围和老师信号。多老师同时拧同一组参数时,目标不必兼容。一个域涨了,另一个域会被压下去,论文称之为 capability seesaw(能力跷跷板)。把不同任务混进同一个 mini-batch,只能缩短切换间隔。它认不出冲突发生在哪些参数方向,也护不住前面老师已经写进权重里的位移。

方法

真正有用的对象是一个任务块从头到尾的累计参数位移 ΔW,单步 noisy gradient 噪声太大、方向不稳。对每个二维权重矩阵做截断 SVD,留下 top-16 右奇异向量。保护作用在梯度和更新矩阵的右侧,所以留右奇异向量,不留左的。训练到 20% 时,这些子空间和最终子空间的平均相似度已经到 0.62,主导更新方向很早锁死。Math、Code、Reason 两两之间的 top-16 相似度只有 0.133 到 0.151。重叠那一小块,就是后学任务会踩到先学能力的地方。

图 1 在同一 PCA 平面上画出三个任务的下一步偏好:同一 checkpoint 出发,箭头差得很开。MOPD 在联合损失面上来回晃。PMOPD 把更新从已保护方向掰开后,走进共享低损失区更稳。

PMOPD 按任务块顺序做 reverse-KL OPD。每个 cycle 里:

记忆装的是整块训练后真实发生的位移,已含裁剪和自适应优化,不是瞬时梯度,也不是从激活里抽基。

任务顺序靠一个轻量 conflict probe。从一个任务的记忆出发,量另一个任务梯度被抠掉的比例,双向取平均,再对每个任务求与其余任务的平均无向冲突。本设置里 Code 22.34%、Reason 28.50%、Math 29.38%,对应 Code→Reason→Math。每折 60 条样本的探针,十折都给出同一排序。

循环次数在固定总 prompt 预算下折中。块太长,两次重访之间轨迹漂得远;块太短,ΔW 估计不稳。四轮时同任务跨 cycle 子空间相似度最高,均值 0.525,评测均分也最高。一轮 65.81,十轮掉回 65.37。

结果

两个基座:Qwen2.5-7B 和 Llama-3.1-8B。老师都从同一 checkpoint 用域内 RL 特化,差异来自数据,不是两套无关的预训练。每个任务 600 条 OPD prompt,四轮时每块 150 条,batch size 16。评测集是 NuminaMath-CoT 的 orca math 切分(450 题)、CommonsenseQA(1221)、APPS(300)。PMOPD 三个随机种子平均,目标一律 reverse KL,总 prompt 数与对照对齐。

方法Qwen 均分Llama 均分
基座学生50.5532.41
参数平均合并58.5635.29
MOPD(batch 内混任务)64.4338.95
BB-MOPD(按 batch 切任务)63.8936.29
Open-MOPD63.5435.14
PMOPD66.9741.04

相对 MOPD,Qwen 上 Math 65.56→67.78(+2.22)、Reason 71.74→73.46(+1.72)、Code 56.00→59.67(+3.67)。Llama 上 Math 18.22→21.33(+3.11)、Reason 68.63→69.45(+0.82)、Code 30.00→32.33(+2.33)。三项全涨,不是把分数在域之间挪。

Qwen 上这三项还分别超过对应专精老师:Math 67.78 vs 66.89,Reason 73.46 vs 70.35,Code 59.67 vs 58.00。Llama 上 Math、Reason 同样超过专精老师,Code 仍低于 Code 老师的 42.00。

同顺序同四轮预算下,关掉投影均分 63.85;只投梯度 66.22;再加上优化器更新投影才到 66.97,比无投影高 3.12。六种单轮任务顺序均分相差 2.97 分,最强的仍是探针给出的 C→R→M(65.81)。最强的任务混合变体 within-batch ordered 均分 64.83,完整 PMOPD 仍高出 2.14。

为什么重要

已经在做 MOPD 的团队,现在多半靠混 batch 或切 batch。这篇给了一个可落地的几何约束:任务更新方向几乎分家,冲突集中在重叠的那一小段,可以用每矩阵 top-16 的廉价记忆去挡。双投影是冲着 Adafactor 这类自适应优化器来的,单做梯度手术会被预处理转回去。

幅度是渐进改进。Qwen 均分从 64.43 到 66.97,Llama 从 38.95 到 41.04。Llama 的 Math 仍只有 21.33,Reason 相对 MOPD 只高 0.82。适用场景是老师来自同一基座、任务数不多、愿意按块调度。它不替代老师质量,也不回答部署时要不要路由。

局限与存疑

论文没有单独的 Limitations 节。实验只覆盖三个域、7B 和 8B 两个基座,每任务 600 条 OPD prompt。老师差异来自同一 checkpoint 上的域内 RL,不是预训练历史差很远的专家。K=16 沿用先前 OPD 几何论文,这里没有系统扫过。

冲突探针要省掉的是任务一多时的排列穷举。这里恰好三个任务,穷举只要 6 次,更大任务集上探针是否仍对准最优顺序,没有验证。投影和 randomized SVD 的额外墙钟开销也没报。Llama 三项绝对分都很低,Math 的 +3.11 发生在 18.22→21.33 的窄区间,外推到更强基座要打折。主表没有直接对照 PCGrad、GPM 这类瞬时梯度手术或激活子空间方法,只在相关工作里区分了机制。

术语

原文与代码

相关论文

全部论文解读