当前位置: 首页 » 资讯 » 新科技 » 正文

从梯度到能力:一个学生模型如何同时跟四位老师学习

IP属地 中国·北京 科技行者 时间:2026-10-31 00:17:55


想象一个场景。

一个刚毕业的实习生,同时被安排给四位风格迥异的师傅带:一位数学特别强,一位代码写得飞起,一位特别擅长照着要求办事,一位科学知识渊博。公司的想法很美好,让实习生把四位师傅的本事都学到手,变成一个全能选手。

但现实往往没那么顺利。实习生每天收到四份反馈,怎么把这些反馈糅合成自己的行动,就成了一个意外复杂的问题。糅合的方式不同,学出来的结果可能天差地别,甚至有时候,明明每位师傅都教得很用心,徒弟最后却哪个都没学精。

这正是这篇论文要钻进去研究的问题。研究者们盯上了一种叫做多教师在线策略蒸馏的技术,想搞清楚,当一个AI模型同时向好几个"专家老师"学习时,这些来自不同老师的信号到底是怎么一步步变成模型参数里的真实改变的。

多教师在线策略蒸馏(MOPD)*:一种让单个AI学生模型同时学习多个专家教师模型的方法。每个教师模型都经过强化学习训练,各自擅长不同领域(比如数学、编程),学生生成自己的回答,再由对应领域的教师给出"这个回答该怎么改进"的反馈,学生据此调整自己。

这件事为什么值得认真研究?因为现在业界训练AI模型的套路越来越像这样:先用强化学习分别训练出数学高手、编程高手、对话高手,然后想办法把这些能力拼到一个模型里。但论文的研究者发现,这个"拼"的过程里藏着大量没人仔细检查过的细节,而这些细节会实实在在地决定最后拼出来的模型到底强不强。

那些老师的话,是怎么被老师"平均"掉的

先说第一个大坑:怎么把四位老师的反馈汇总成一份学习信号。

听起来像是个简单的加权平均问题,但魔鬼全在细节里。假设数学题的回答平均要写500个字,而"听指令办事"这类任务的回答平均只要50个字,如果你简单地把所有词元(也就是文本里的每一个字词单位)的损失加起来求平均,数学任务会不知不觉占到更大的权重,因为它贡献的词元数量更多。

词元*:可以理解为模型处理文本时切分出的最小单位,一个词元可能是一个字、一个词或者一个词的一部分。

论文里管这种做法叫全局词元平均(记作GT)。研究者发现,在他们的实验设置下,数学任务靠着响应更长,硬生生拿到了全部损失权重的44%,而本该同等重要的"指令遵循"任务,只分到15%。这就好比一个班级打分,本来说好四门课平等算总分,但因为数学卷子题目多、答题纸写得密密麻麻,老师批改时不自觉地把更多关注力放在了数学卷子上,结果其他三门课的意见几乎被淹没了。

要解决这个问题,有人想到了"domain token averaging"(域内词元平均,记作DT),先固定住每个领域该拿多少整体权重,比如四个领域各占25%,然后在领域内部再按词元数分配。这确实压住了领域之间的不平等,但论文用一个数学推导证明了一个有点反直觉的结论:即使领域间的权重被摆平了,领域内部,那些写得更长的回答依然会被赋予更大的影响力。换句话说,你以为公平了,其实偏见只是从"班级层面"退缩到了"科目内部",并没有真正消失。

这里有个关键的数学工具叫协方差恒等式,研究者证明了一个响应的长度和它的梯度(也就是这个响应会把模型参数往哪个方向推、推多远)之间存在系统性关联,如果长回答恰好对应着某种特定的梯度方向,那么按长度加权就会把整体梯度悄悄拉向那个方向。

梯度*:在模型训练里,梯度指的是"按照当前的误差,参数应该往哪个方向调整多大"的信号,可以理解为模型学习时的指南针。

要彻底摆平这个问题,论文测试了第三种方式,叫domain response averaging(域内响应平均,记作DR),不仅固定领域权重,还让领域内每一条回答无论长短都平均分配权重。这才是真正做到了"回答平等"。

但这里有个耐人寻味的转折:论文测试发现,没有哪一种平均方式能在所有任务上都拿第一名。相对于DR,GT方式让数学准确率提高了3.0个百分点,但科学任务的分数掉了2.1个百分点。换一种损失函数(比如top-64交叉集KL损失)之后,情况又反转了,数学分数反而下降1.8个百分点,代码分数却上升1.5个百分点,尽管代码本身在权重分配上并不占优。

这说明一件挺扫兴但很真实的事:加权规则对任务表现的影响,还要看你用的是哪种损失函数,没有一种万能的"公平公式"能同时让所有科目都受益。这就像给四个孩子分配家庭作业时间,你以为按科目平均分配时间就是公平,但实际上每个孩子对不同科目的学习效率天差地别,同样一小时,对数学好的孩子可能是巩固,对数学差的孩子可能完全无效,公平的时间分配不等于公平的学习结果。

Adam优化器悄悄把差异抹平了

第二个让人意外的发现,跟一个叫Adam的优化器有关。

Adam优化器*:目前深度学习里最常用的参数更新算法之一,它不是简单地沿着当前梯度方向走一步,而是会结合"过去走过的方向"(一阶矩,相当于带了惯性)和"过去梯度的波动大小"(二阶矩,用来给每个参数自适应调整步长)来决定实际的更新方式。

论文做了一个很巧妙的对照实验:固定住学生模型当前的参数状态和Adam内部存储的历史动量,只替换当前这一步计算出来的梯度,看看不同老师给出的反馈,最终会在参数更新上造成多大差异。

结果让人有点意外。即便四位老师给出的原始梯度彼此之间几乎正交(也就是方向完全不相关,余弦相似度接近0),但经过Adam处理之后,不同老师带来的参数更新方向的余弦相似度却飙到了0.83以上。换句话说,老师们教的东西明明方向迥异,但Adam这个"翻译官"把这些差异大幅抹平了,最终呈现在参数更新里的,是一种高度趋同的运动轨迹。

为什么会这样?因为Adam的一阶矩会把当前梯度和过去积累的历史梯度混在一起算平均,相当于给每一步更新都加了一层"惯性缓冲"。如果把这个历史动量清零,只留当前梯度,不同老师带来的更新差异立刻又变得明显,余弦相似度跌到接近0。

这就好比一辆装了减震系统的越野车开过坑坑洼洼的山路。路面本身高低起伏非常剧烈(这是原始梯度的差异),但减震系统(Adam的历史动量)把绝大部分震动都吸收掉了,坐在车里的人(最终的参数更新)几乎感觉不到路面有多颠。如果拆掉减震系统直接硬连接(也就是重置动量),每一个坑洼都会原样传递到车身上,颠簸感立刻就回来了。这意味着,仅仅看模型参数更新的方向是否一致,并不能说明不同老师教的内容真的趋同,很可能只是优化器把差异藏起来了。

同时,论文还发现了另一个更让人意外的结果:在使用PG损失(一种基于采样词元的策略梯度损失)训练时,完全不带任何历史记忆的SGD(随机梯度下降,一种最朴素的优化器,每一步只看当前梯度,不保留任何历史信息),在四项任务的平均分上反而超过了Adam,在三种权重分配规则下全部如此。这个结果本身就值得琢磨:既然模型是在训练过程中不断生成新回答,老师打分的对象也在不断变化,Adam那套"信任历史方向"的机制,反而可能让模型对最新的老师反馈反应变慢,造成一种学习上的滞后感。

BF16把大量真实变化藏起来了

第三个发现跟数值精度有关,这个话题听起来枯燥,但结论相当震撼。

现代深度学习训练常用两种精度存参数:FP32(32位浮点数,精度高但占用空间大)用于优化过程中的"主副本",BF16(16位浮点数,精度低但省内存省计算)用于实际推理和部分存储。

FP32和BF16*:两种数值精度格式,FP32用32个二进制位表示一个数字,能保留更多小数位的细节;BF16只用16位,牺牲了精度来换取更快的计算速度和更小的存储占用,常用在大模型训练和推理中。

论文的测量结果是:训练结束后,用FP32精度去看,学生模型大约97%的参数都和初始状态不一样了,几乎是全员参与了调整。但如果把这些参数四舍五入到BF16精度再去看,只有7%到11%的参数显示出变化。

这个数字差距大到让人起疑,但背后的道理其实很朴素:BF16的精度分辨率太粗,很多参数确实发生了微小的改变,但这个改变小到不足以在BF16的刻度上留下痕迹,于是看起来就像什么都没发生。

论文还做了另一层分析:把参数按照变化幅度平方排序,看前多少比例的参数就能占到总变化量的90%。在FP32精度下,大约三分之一的参数就包揽了90%的变化能量;但在BF16精度下,这个比例骤降到约4%。

这说明一件挺重要的事:如果你只看BF16层面的参数变化,很容易得出"模型的调整是高度集中、稀疏的"这种结论,但这个结论其实是精度舍入造成的假象,真实情况是几乎所有参数都在小幅挪动,只是绝大多数挪动都太轻微,被BF16的刻度尺量不出来。

这就像用一把只能量到厘米的尺子去测量一群人身高的微小变化。如果一群人平均每天长高0.3毫米,连续量几十天后,用毫米尺你会发现几乎每个人都在变化,但如果你只有厘米尺,大部分人测出来"没有变化",少数几个长得特别快的人才会被尺子捕捉到。你会误以为"只有少数人在长高",但事实是所有人都在长,只是尺子的分辨率骗了你。

更精细的词表预测,不代表任务表现更好

第四个发现,可能是整篇论文里最反直觉的一条,它直接挑战了一个看似理所当然的假设:给模型看的候选词越多,模型学到的东西应该更准确、更接近"真实"的训练目标。

先说清楚背景。在训练这类蒸馏模型时,要计算学生模型和教师模型之间的差异(用KL散度衡量),理论上最精确的做法是把整个词表(可能几万甚至十几万个词元)都拿来比较,这叫全词表KL损失。但这样算起来太贵,所以实践中常用两种省钱做法:一种叫PG损失,只用学生实际采样出的那一个词元来估算;另一种叫top-k交叉集KL损失,只取学生和教师各自概率最高的k个候选词,再取交集,在这个小范围内算KL散度。

KL散度*:一种衡量两个概率分布有多"不像"的数学指标,数值越小表示两个分布越接近。

top-k交叉集*:论文提出的一种候选词筛选方式,先分别取学生模型和教师模型各自概率最高的k个词,然后只保留两边都看中的那部分词(取交集),在这个交集范围内重新计算概率并算损失。

有意思的是,Nemotron 3 Ultra这个业界项目之前就在初步实验里报告过,扩大词表候选范围并没有带来性能提升。这篇论文想追问的是,到底在什么情况下,候选词更多才真的有用。

论文测了top-64交叉集这种做法,在Qwen模型上,它平均能保留住学生模型99.9%以上的总概率,而且这个范围内算出来的梯度方向,和全词表KL算出来的梯度方向,余弦相似度能超过0.999,几乎就是同一个方向。单看这个数字,你会觉得这简直是完美替代品,省了大量计算量却几乎不损失精度。

但当研究者把这种"几乎完美"的梯度近似放进真实训练流程,看最终任务表现时,故事突然变得曲折起来。在用域内响应平均(DR)的情况下,top-64交叉集方法在数学任务上的准确率比PG方法高出2.6个百分点。可一旦换成全局词元平均(GT),同样的top-64方法在数学任务上的准确率反而比PG低了2.1个百分点。

这是一个相当扎心的结论:梯度方向的高度一致,并不能保证最终任务表现也一致。PG损失虽然理论上是全词表梯度的无偏估计(意味着如果你无限多次采样取平均,它最终会收敛到和全词表方法一样的方向),但单次采样本身噪音很大,而噪音在训练的长期演化中可能走出完全不同的路径。

这就好比两个人分别用卫星导航和纸质地图去同一个目的地,起步时两条路线的方向几乎一致,理论分析告诉你他们"应该"到达同一个地方。可是走到路口时,一点点的信号延迟或者地图上的细微误差,就会让两人在某个岔路口分别左转右转,最后真实走出来的路径天差地别。方向一致不代表路径一致,路径一致才决定最终落脚点。

论文还在SmolLM3-3B模型上做了补充验证,发现top-64交叉集方法平均能保留97%以上的学生概率,这个数字看起来挺高,但如果专门去看那些概率分布比较"散"(高熵)或者候选覆盖率本身就低的难例,训练完成后梯度的相对误差能达到2.16%到24.54%,波动范围相当大。这说明平均覆盖率高,并不能保证每一个具体场景下的梯度近似都靠得住,总有一些"困难样本"会被平均值掩盖掉。

权衡取舍,没有万能公式

把这几条线索放在一起看,论文最终传达的核心信息其实有点"反英雄主义":没有一种加权方式、一种损失函数、一种优化器配置能在所有任务上都是最优解。研究者给出的实验数据密密麻麻,涉及四种任务(数学、代码、指令遵循、科学)、三种加权规则(DR、DT、GT)、至少三种损失函数(PG、top-16交叉集、top-64交叉集)、两种优化器(Adam、SGD),把这些组合排列起来,结果呈现出的是一张高度不规则的得分地图,哪一块亮哪一块暗,取决于你当下最在乎哪个任务。

论文还顺手验证了一个附加发现:训练时允许的最大回复长度(4096词元还是8192词元),对不同加权方式的影响也不一样。放宽长度上限后,GT方式下模型的平均分提升了1.05个百分点,但DR方式下反而掉了0.83个百分点。这进一步印证了"没有万能设置"这个结论,连一个看起来无关紧要的超参数,长度上限,都会跟加权方式产生复杂的互动效应。

写在后面

读完这篇论文,最让我意外的不是某一条具体结论,而是研究者采用的研究方法本身。他们没有满足于"把四个教师的损失加起来训练一下,看最终跑分"这种黑箱式的操作,而是真的打开了优化器内部,去追踪一个梯度从产生到被Adam处理再到最终体现为BF16参数变化的全过程。这种"拆开引擎盖"的研究路径,在当前这个大模型论文越来越追求"数字好看就行"的氛围里,反而显得格外朴素和扎实。

另一个让我反复琢磨的细节是,论文反复强调"梯度近似的精确度"和"最终任务表现的提升"之间并不是正相关关系,甚至在某些配置下是负相关。这其实暗示了一件更深层的事:深度学习里很多我们习以为常的"代理指标"(比如梯度余弦相似度、损失函数的理论无偏性),可能和我们真正关心的最终目标之间,存在着一条隐藏的、非线性的、甚至会反转的路径。这不只是蒸馏技术里的问题,可能是整个机器学习评估体系里一个值得警惕的通病:你优化的那个数字,真的是你关心的那个数字吗?

还有一点让我觉得挺有意思,论文提到BF16精度把97%的参数变化压缩成只有7%可见,这个发现如果放到更大的语境下想,其实提醒我们,很多关于"大模型内部变化是稀疏的、集中的"这类流行说法,有没有可能部分是精度工具带来的视觉错觉?如果换一个更高精度的放大镜去看,稀疏性会不会直接消失?

这篇论文没有解决的问题,可能比它解决的问题更有意思。既然没有一种配置是全局最优的,那下一步的研究方向,是不是应该转向"如何根据具体任务组合,自动找到最适合的加权和优化策略",而不是继续在固定配置下比拼分数?

Q&A

Q1:多教师在线策略蒸馏(MOPD)是什么?

A:MOPD是一种让单个学生AI模型同时向多个经过强化学习训练的专家教师模型学习的技术,学生自己生成回答,再由对应领域的教师给出反馈,目标是让一个模型同时具备多个领域的强能力。

Q2:为什么用全局词元平均训练会导致数学任务权重过高?

A:因为数学任务的回答通常比其他任务更长,而全局词元平均是按每个词元平等计权,回答越长占的词元就越多,自然拿到更大的损失权重,论文测出数学任务能占到44%的权重。

Q3:梯度方向近似度高,是否意味着模型最终表现一定更好?

A:不一定。论文发现top-64交叉集方法的梯度方向和全词表方法余弦相似度能超过0.999,几乎一致,但最终任务表现却因为加权方式不同而出现正负两种结果,数学任务上一个配置涨2.6分,另一个配置却跌2.1分。

【数据支持来自天眼查App】

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其内容真实性、完整性不作任何保证或承诺。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。