科技行者 2026-11-04 00:27:49
你有没有遇到过这种情况:两个人聊天,一个说中文一个说英文,各自都懂点对方的语言,但词汇量不完全重合。这时候想让两人精确对话,你会怎么办?是硬要把每个词都翻译对应起来,哪怕有些词根本没有精确对应词,还是干脆只聊双方都有共同词汇的那部分内容?
这其实就是这篇论文要解决的问题,只不过聊天的双方换成了两个AI模型。
**核心问题:老师和学生说话方式不一样,怎么办**
先说说背景。
现在训练AI模型有一种挺流行的方法,叫**在线策略蒸馏**
在线策略蒸馏(On-Policy Distillation,简称OPD):让一个小模型(学生)先自己生成答案,再让一个更强的大模型(老师)给这些答案打分、提供反馈,学生根据反馈调整自己。
这个思路听起来挺合理的,毕竟让学生做自己真实会做的题,老师再纠正,总比老师自说自话地念答案要有效。但这里有个绕不开的坑:如果老师和学生用的不是同一套分词器,麻烦就大了。
**分词器**
分词器(Tokenizer):把一段文字切分成模型能理解的最小单位(token)的工具,不同模型家族往往用不同的切分规则,同一句话被不同分词器切出来的token数量和边界都可能不一样。
比如"苹果手机"这四个字,有的分词器会切成"苹果"+"手机"两块,有的可能切成"苹"+"果手"+"机"三块。这就导致老师模型和学生模型在同一个位置上,预测的"下一个词"压根不是同一个概念空间里的东西,没法直接拿来对比打分。
那之前的研究者是怎么处理这个问题的?基本思路是想办法"扩大覆盖面",尽量让更多的文本片段能在两个模型之间建立对应关系。比如有一种叫SimCT的方法,专门去找那些"多个token对多个token"的对应组合,想把原本对不上的部分也给拉进来一起训练。听起来很合理对吧,覆盖面越广,信息利用率不就越高吗?
但这篇论文的作者们动手测了一下,发现事情没那么简单。
**第一个发现:覆盖率的数字很唬人,但实际没那么紧迫**
研究团队选了三组"老师教学生"的组合来做实验,分别是Qwen2.5-7B-Instruct教Llama-3.2-3B-Instruct、Granite-4.1-8B教Phi-4-mini-instruct、Granite-4.1-8B教Qwen2.5-7B-Base。这三组模型来自不同家族,分词器差异都不小。
**严格对齐类**
严格对齐(Strict 1:1 groups):学生的一个token和老师的一个token恰好覆盖文本里同一段内容的情况,这种"一对一"的位置才能直接拿老师和学生的预测概率做比较。
研究者们先算了一下静态的"词表重合度",也就是老师和学生词表里共享了多少词,结果是39.49%到64.87%之间,确实不算高,差不多一半左右的词对不上。按照这个数字,你会以为训练过程中大量的token都没法被严格对齐覆盖到,供给老师监督的"素材"少得可怜。
但实际统计学生在训练过程中真实生成的文本,严格对齐能覆盖到的token比例高达85.57%到96.98%。
这个落差挺大的,词表重合度看着才四成到六成,但真实对话里,严格对齐已经能覆盖九成左右的token了。
这就好比你以为两个人共同认识的朋友圈子只有四成重合,结果真正聊起天来发现,日常话题里提到的朋友里九成都是两人都认识的。为什么?因为日常高频用到的词,往往就是那些最基础最常见的,恰恰是两套词表都有收录的部分。那些真正"对不上"的生僻词,虽然存在,但平时根本用不上几次。
如果当初只看静态词表重合度就下结论说"这差距太大必须想办法补",那很可能是被一个有误导性的统计数字带偏了方向。
**第二个发现:给"对不上的部分"加监督,反而拖累效果**
既然严格对齐已经覆盖了九成左右的token,剩下那一小部分"对不上"的片段(论文里称为**不匹配组**)要不要额外补上监督呢?
不匹配组(Mismatch groups):某个文本片段在老师和学生的分词结果里,一边是单个token另一边是多个token(或者双边都是多个token),没法做简单的一对一比较的情况。
研究团队设计了一个实验:在原本只针对严格对齐位置的损失函数基础上,加上一个额外的损失项,专门去匹配不匹配组里整段文字的概率(用**均方误差**的方式)。
均方误差(Mean Squared Error,MSE):衡量两个数值差距大小的一种常见计算方式,差距越大这个值越大。
他们给这个额外损失设了一个权重λ,从0一路调到1.5,测试在数学推理和代码生成两类任务上的表现变化。
结果有点反直觉:只要λ大于0,也就是只要加了这部分额外监督,三组模型的综合表现全都下降了,而且是全部18个正权重的设置(3组模型×6个权重值)无一例外,统统比λ=0(也就是完全不管不匹配组)要差。差距从0.27到1.20个百分点不等。
这意味着什么?意味着给已经达到90%以上覆盖率的训练过程"补课",想把剩下那10%也教进去,结果反而把整体成绩拉低了。
这就像一个老师本来已经把班里90%的知识点讲得很透彻,突然觉得剩下10%的边角知识点也不能落下,于是硬凑了一套教材去补,结果这套补充教材质量参差不齐,有些讲法甚至和之前讲的内容互相矛盾,学生听完反而更糊涂了,连带着把原本学得好的部分也搞乱了。如果不去强行补这10%,学生反而能把那90%吃得更透。
**第三个发现:概率质量几乎都压在"共有词表"上**
为什么补充监督效果不好?研究者接着往深挖了一层,去看在严格对齐的那些位置上,老师和学生模型到底把多少"把握"(也就是预测概率)放在了共有词表上。
**共有词表**
共有词表(Shared Vocabulary):老师模型和学生模型词表里都存在的那部分词条集合,去掉特殊符号和有歧义的匹配后得到。
他们让蒸馏前的学生模型自己生成答案,然后在每个严格对齐的位置上,统计老师模型和学生模型各自给共有词表里的词条分配了多少概率。结果是,老师模型平均把99.69%到99.90%的概率都押在了共有词表上,学生模型也有98.99%到99.81%。
换句话说,哪怕共有词表本身可能只覆盖了词表总量的四到六成,但模型在做具体预测的时候,几乎把全部"赌注"都下在了这部分共有的词上。那些独有的、词表不重合的词条,虽然存在,但实际被用到、被赋予高概率的机会少得可怜。
这就好比一家餐厅的菜单上写了两百道菜,但顾客实际点餐的时候,九成以上的订单都集中在那十来道招牌菜上,剩下一百九十道菜大多数时候根本没人点。如果你非要把全部两百道菜都备好食材、安排好厨师分工,那是在浪费资源去服务那些几乎不会发生的需求,还可能因为厨房精力分散,连招牌菜都做得不如从前精细了。
**进一步压缩:只挑学生自己最看重的16个词**
既然概率质量高度集中,研究者又做了个更激进的实验:在每个严格对齐的位置上,不用整个共有词表,而是只看学生模型自己给出概率最高的**前16个词**,把训练范围压缩到这个小小的子集上。
**学生自选子集**
学生自选子集(Student-selected top-k subset):在共有词表里,根据学生模型当前预测概率排序,选出概率最高的前k个词条组成的小范围子集,这个子集的选取完全基于学生自己的判断。
结果发现,就算只选16个词,这个小子集依然能保留学生94.55%的概率质量,以及老师93.92%的概率质量(在Qwen教Llama这组实验里)。换句话说,一个模型在某个位置上真正"认真考虑"的候选词,其实就那么十几个,剩下几万个词条基本只是摆设。
用这个压缩后的16个词子集去训练,最终效果能保留住完整共有词表训练效果的至少96%。也就是说,花更少的计算成本,几乎没有损失训练效果。
这就好比做一道选择题,表面上有十万个选项,但真正靠谱的答案往往就藏在那十几个里,与其把十万个选项都认真算一遍概率,不如直接把精力放在那十几个最可能的候选项上,省下来的功夫还能用来把这十几个候选项分析得更细。
把这套"只看严格对齐位置、再精简到学生自选的16个候选词"的训练方式,拿去和另外四种跨分词器蒸馏方法(ULD、Extended ULD、GOLD、SimCT)做对比,结果是这套精简方案在三组模型的数学和综合成绩上都是最高的,比表现最好的对照方法还要高出0.51到1.05个百分点。
**第四个发现:梯度方向对不上,而且分歧越来越大**
前面说的都是最终效果层面的现象,研究者还想搞清楚,为什么补充不匹配组的监督会拖后腿,这背后到底发生了什么。于是他们去看训练过程中的**梯度**。
梯度(Gradient):模型训练时用来指示"往哪个方向调整参数能让损失变小"的一组数值,可以理解成模型学习时的"调整方向和力度"。
他们分别计算了只针对严格对齐位置的损失产生的梯度,和针对不匹配组的额外损失产生的梯度,然后比较这两组梯度的方向是否一致(用**余弦相似度**衡量),以及两者的大小比例。
余弦相似度(Cosine Similarity):衡量两个方向向量之间夹角的指标,取值从-1到1,越接近1说明方向越一致,接近0说明基本没有关联,负值则说明方向相反。
结果显示,不匹配组产生的梯度和严格对齐产生的梯度,方向相似度基本在0附近晃荡,有的模型组合甚至一度是负数,说明这两部分梯度不仅没有互相增强,反而有时候是在互相拉扯、互相抵消。作为对照,研究者还把严格对齐的位置随机拆成两半,分别算梯度再比较方向,这种"同源拆分"的方向相似度要明显高于不匹配组和严格对齐组之间的相似度,说明不匹配组的梯度确实是"另一路人马",跟主力部队不是一条心。
更麻烦的是,随着训练推进,不匹配组梯度的"体量"相对严格对齐梯度越来越大,在训练后期甚至能达到严格对齐梯度大小的十几倍到二十几倍。想象一下,两个人本来方向就不太一致,其中一个人的嗓门还越来越大,最后盖过了原本正确的那个声音,这就是加入不匹配组监督之后,训练效果反而变差的深层原因。
**这组发现说明了什么**
把这四个发现串起来看,其实指向同一个结论:覆盖面广不代表监督信号可靠。
严格对齐已经覆盖了绝大多数训练场景,剩下的那一小部分对不上的内容,看起来是个"缺口",想去补上也情有可原,但补上之后发现这部分信号本身质量不稳定,方向和主流信号常常不一致,还越到后期越"声音大",反而把原本学得挺好的部分给带偏了。
这篇论文提出的思路转变是,与其一味追求把覆盖面做到100%,不如先问问现有的监督信号是不是真的可靠、真的对学生有帮助。把精力花在打磨那些确定可靠的部分上,比盲目扩大覆盖面更划算。
研究团队还做了额外的验证,把教学规模放大到用2350亿参数的Qwen3模型去教一个80亿参数的Granite学生,精简版的训练方案(top-16)依然在数学、代码和综合成绩上都拿到最高分。他们还在一个叫**ALFWorld**的交互式任务环境里测试,这是一个需要模型进行多轮决策、完成家庭任务的模拟环境,精简方案在"见过的场景"和"没见过的场景"两种测试下,成功率都是所有对比方法里最高的。
这些补充实验说明,这套"少即是多"的思路不是巧合,换了更大的模型规模、换了完全不同类型的任务,结论依然站得住。
Q&A
Q1:跨分词器在线策略蒸馏到底难在哪里?
A:老师模型和学生模型用的分词器不同,同一句话被切分成的token数量和边界都不一样,导致两个模型在同一位置预测的"下一个词"压根不是同一个概念空间,没法直接拿来对比打分,必须先解决对齐问题。
Q2:给对不上的那部分内容加训练监督为什么会拖累效果?
A:研究发现额外加的监督信号(针对不匹配组)和主力监督信号(严格对齐组)梯度方向经常不一致甚至相反,而且训练越往后这部分信号的力度相对越大,反而把原本学得好的部分带偏了,18个测试设置全部印证了这个结论。
Q3:只用学生自选的16个候选词训练效果会不会打折扣?
A:不会打太多折扣。实验显示压缩到16个词的小范围训练,依然能保留完整共有词表训练效果的至少96%,而且在多组模型测试中,这种精简方案的综合成绩反而比其他对比方法更高。
【版权声明】本文内容来源于科技行者,版权归原作者及原媒体所有。本站仅作信息分享,不构成任何商业用途;如涉版权问题,请联系本站删除。
发布时间:2026-11-04 00:04:21
(第1/1页/共6017字/5阅)