![]()
你有没有想过这样一个场景:一个班里有三个成绩特别好的学生,一个数学天才,一个编程高手,一个逻辑推理大神。学校想培养出一个全能选手,把这三个尖子的本事都教给一个普通学生。最直接的办法是什么?
让这个普通学生去听三个尖子生讲题,把他们的解题思路一字不差地抄下来。
这差不多就是目前大语言模型里一种叫做"多教师在线策略蒸馏"的做法。听起来挺合理,但这篇论文想告诉你的是,这件事远比听起来复杂,而且有一条路径,之前几乎没人认真走过。
先说说这个"听讲抄思路"的办法到底是怎么回事。
大语言模型*:也就是我们常说的 ChatGPT、DeepSeek 这类能对话、能推理的 AI 系统,背后是一个巨大的神经网络。
在线策略蒸馏*(On-Policy Distillation,简称 OPD):传统的教学方式是老师写好标准答案,学生去模仿抄写。但 OPD 不是这样,它让学生自己先生成一段答案,老师再去给这段"学生自己写的答案"打分、挑错。这样学生学到的是"自己犯错时该怎么改",而不是"背别人的范文"。
想象一下学钢琴。如果老师只给你一份乐谱让你照着练,你弹错的地方和你真正会犯的错误可能根本不是一回事。但如果老师坐在你旁边,听你自己弹,然后在你弹错的那个音上纠正你,这种纠错才真正对症。在线策略蒸馏做的就是后面这件事,它针对的是学生自己生成的内容打分,而不是让学生去模仿一份既定的范文。
多教师在线策略蒸馏*(Multi-teacher OPD,简称 MOPD):把这套"学生自己答题,老师打分"的方法扩展到多个老师。遇到数学题就找数学老师来打分,遇到代码题就找编程老师打分,这叫"路由",按题目所属的领域,自动分配对应的专家老师。
这套路由加打分的方法确实管用,但这篇论文的作者们发现了一个被所有人忽略的问题。
老师打的分,只反映了老师"最终说了什么",却没告诉学生老师"心里是怎么想的"。
一道数学题,老师最后给出一个答案的概率分布,这是输出。但老师在算这道题的过程中,脑子里经历了什么样的中间推理步骤,这是隐藏在"大脑内部"的,学生完全看不见。
**这篇论文提出的核心想法是:既然老师的"内心活动"(也就是模型内部的隐藏状态)也携带着解题的关键信息,那凭什么只教学生"答案",而不教"怎么想出这个答案"的过程?**
这个想法听起来直接,但做起来麻烦事一大堆,而且这篇论文把这些麻烦事一个个摆了出来。
宽度不一样的大脑,怎么对话
同宗同源的模型好办,它们的隐藏状态维度是一样的,直接比较就行。但跨家族的情况麻烦了。
论文里用的跨家族老师是 7B 规模的大模型,隐藏状态的宽度是 3584,而学生是 1.5B 规模,宽度只有 1536。这就好比一个人说中文,一个人说法语,词汇量的"维度"根本不对等,怎么让他们对话?
答案是加一个"翻译器"。
**研究者设计了一个叫做 gψ 的投影映射,它的作用是把学生那个 1536 维的隐藏状态,映射放大到老师的 3584 维空间,这样两边才能在同一个尺度上比较相似度。**
这个翻译器不是乱猜初始参数,而是先用一个叫"岭回归"的统计方法,拿 42 组学生自己生成的回答,收集student 和 teacher 在对应位置上的隐藏状态,先做一次拟合,给翻译器一个靠谱的起点,再跟着整个训练过程继续调整。
岭回归*:一种带正则化约束的线性回归方法,可以在数据量不多的情况下,给出一个相对稳定、不容易过拟合的拟合结果。
有意思的是,这篇论文还试了另一种翻译器,把简单的线性映射换成一个带非线性激活函数的两层网络,参数量从约 550 万猛增到约 3145 万,整整多了 5.71 倍。结果呢?综合得分从 0.26 微弱提升到 0.27,六个基准测试里打了个三比三的平手。
这个结果其实挺值得琢磨的。花了快六倍的参数量,换来的提升几乎可以忽略不计。这说明简单的线性映射已经把"翻译"这件事做得够好了,硬加复杂度未必划算。这跟很多工程决策其实是一个道理,不是越复杂越好,关键是找准那个真正卡脖子的地方。
教学权重也要讲究节奏感
除了批次怎么分,还有一个问题:隐藏状态的监督信号,要不要从头学到尾?
论文里专门做了一个实验来回答这个问题。如果让"学内部状态"这件事贯穿整个训练过程,会出什么问题?
答案是,在跨家族的场景下,持续学习隐藏状态会把整体表现拖到比训练前的基础水平还低(Norm 得分变成了 -0.05)。
这说明单纯死磕隐藏状态对齐,学久了反而起反作用。研究者由此设计了一套叫做"交叉渐变"的调度机制。
**交叉渐变**(crossfade):训练刚开始时,重点学老师的隐藏状态,这部分权重拉满;随着训练推进,学隐藏状态的权重慢慢调低,学最终答案(也就是输出的token预测)的权重慢慢调高,两者此消彼长,像音乐里的淡入淡出。而且每个老师都有自己独立的"时钟",论文里设定每位老师专属的渐变窗口是 10 次更新(同家族场景)或 7 次更新(跨家族场景)。
这个设计很像学游泳的过程。刚开始教练会一直扶着你的腰,帮你感受水的浮力和身体该怎么摆动(这是"学内部状态"的阶段),等你慢慢找到手感了,教练就逐渐放手,让你自己完全靠感觉去游(这是"学最终输出"的阶段)。如果教练一直扶着你不放手,你永远学不会独立游泳;但如果一上来就完全不扶,你可能直接呛水放弃。
论文的数据也验证了这套渐变节奏的价值。在同宗同源的实验里,用这套渐变调度比固定权重不变的方案,九个基准测试里有八个表现更好,综合得分从 0.94 提升到 1.05。
这件事到底证明了什么
论文里还做了一个挺贴心的检查:学完三位专家之后,这个学生会不会把其他本来会的东西忘掉?
研究者专门挑了三个完全没出现在训练数据里的通用测试集(ARC-Challenge、HellaSwag、WinoGrande),结果显示所有分数变化都在 1.1 个百分点以内,没有出现明显的能力退化。
还有一个有意思的验证实验,研究者让训练好的学生模型,分别和三位老师比较"下一个词的概率分布"相似程度。结果显示,在数学题上,用了新方法训练出来的学生,和数学老师的匹配度明显超过了只学答案的旧方法训练出来的学生,这个差值在统计上是显著的。换句话说,这个学生不只是"看起来"学会了数学老师的套路,它在具体的决策分布上确实更贴近那位数学老师的思维方式了。
论文还给了几个具体的解题案例做对照。比如一道组合数学题,计算网格路径数量,只学答案的那版学生把路径步数搞错了(算成 7 步右加 7 步上,总共 14 步),而新方法训练出来的学生正确识别出应该是 8 步右加 8 步上共 16 步,最终答案 294 完全对应了数学老师的解法,而旧方法的答案 180 则是基于错误前提算出来的。这类案例恰恰说明,光学"答案长什么样"是不够的,内部的推理过程、约束条件设定这些东西,确实藏在隐藏状态里,只学输出分布是学不到的。
Q&A
Q1:Latent-MOPD是什么?
A:Latent-MOPD是一种让一个学生模型同时向多个专家老师模型学习的训练方法,它不仅让学生学老师最终给出的答案(输出分布),还让学生学老师计算答案过程中内部的隐藏状态,从而更全面地吸收每个专家的能力。
Q2:为什么不能把三个老师的意见混在同一批训练数据里?
A:论文实验发现,如果把数学、代码、逻辑三个领域的题目混在同一次参数更新里训练,模型会迅速崩溃,到第20步MATH-500得分就从84分跌到22.8分;而把同一领域的题目分批训练,模型能稳定跑完全部训练并达到91.7分的高分。
Q3:Latent-MOPD训练出来的学生模型效果如何?
A:在同宗同源三个1.5B老师的设置下,这个1.5B学生模型在九个基准测试上全面超过了只学答案或只学隐藏状态的对照方法,并在五个测试上超过了对应领域最强的专科老师,参数量完全相同。





京公网安备 11011402013531号