微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 让大模型学会"对齐":用专家路由给多语言能力松绑

让大模型学会"对齐":用专家路由给多语言能力松绑

2026-11-04 17:27
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-11-04 17:27 • 科技行者

你有没有想过一个问题:为什么同一个大语言模型,用英文问它能对答如流,换成斯瓦希里语或者僧伽罗语问同样的问题,回答质量就断崖式下跌?

这不是玄学,而是个一直没被彻底解决的工程难题。更有意思的是,这篇来自加州大学洛杉矶分校的论文发现,想解决这个问题,答案可能藏在一个你平时根本不会注意的地方:模型内部负责"调度专家"的那个小小路由器里。

**这篇论文的核心发现是:只要让模型在处理不同语言的同一句话时,调用相似的"专家团队",模型的多语言表现就会显著提升。**

这事听起来简单,但做起来远没有那么容易。我们一步步来看。

为什么语言之间的"隔阂"这么难打破

早些年的多语言模型,结构上是编码器加解码器,这种架构天生自带一个优势:编码器会把一整句话压缩成一个向量,这个向量就是这句话的"浓缩精华"。

既然每句话都能变成一个向量,那么只要拿到大量的翻译句对,比如英文的"the dog runs quickly"和对应的其他语言版本,就可以用对比学习硬生生地把这两个向量拉近,让模型明白"这两句话说的是一回事"。

对比学习*:一种训练方法,核心思路是让语义相同的样本在表示空间里靠得更近,让语义不同的样本离得更远。

这套方法在多语言编码器模型里用了十几年,一直是标配。但问题是,现在主流的大语言模型全是只有解码器的架构,连GPT、Qwen、DeepSeek这些你耳熟能详的模型都是如此。

解码器*:只负责逐个预测下一个词的模型结构,和编码器不同,它不会天然产生一个代表整句话含义的向量。

解码器模型没有编码器,这意味着没有天然的"整句话的向量"可以拿来对齐。研究者们想了一些变通办法,比如拿最后一个词的隐藏状态当作整句话的代表,或者把所有词的隐藏状态做平均池化。

但这两种办法都不靠谱。最后一个词的状态容易被这个词本身的局部语义带偏,而平均池化隐藏状态则会遇到一个更隐蔽的陷阱。

隐藏状态是高维向量,每个维度可能编码着不同的语义信息。如果某几个词在某个维度上是正的,另几个词在同一维度上是负的,平均之后这个维度的信息就直接被抵消掉了,等于白白浪费。

这就好比你让十个人同时在一张纸上投票,有人画正号,有人画负号,最后你数正负相抵的净得分,却指望这个净得分能反映出十个人各自的真实想法。信息在平均的过程中互相抵消了,你拿到的不是共识,而是噪音。

所以现实情况是,现在的大语言模型训练时,根本没有主动去拉近不同语言表示的步骤,那些海量存在的翻译语料,大多被浪费掉了。

好在研究者发现一个安慰性的事实:即便没有人为干预,大模型自己在训练过程中也会学出一些语言无关的表示,尤其是在模型的中间层。但不同语言享受到这种"共享待遇"的程度差别很大,这也直接导致了小语种表现差的问题。

MoE路由器:被忽视的宝藏

这篇论文的创新点,是把目光投向了一个叫做混合专家模型的架构组件。

混合专家模型*:缩写MoE,一种让模型在不增加太多推理成本的前提下大幅扩大参数规模的架构。简单说就是模型内部有一堆"专家"(其实是一些子网络),每次处理一个词的时候,不是所有专家都出力,而是由一个叫做路由器的小模块挑出最相关的几个专家来干活。

你可以把这想象成一个大医院。病人来了不需要所有科室医生都上阵会诊,分诊台(也就是路由器)看一眼症状,就把病人分流到最合适的两三个科室。医院规模可以开得很大(很多专家),但每次看病的实际成本却不高(只调用少数专家)。

研究者的洞察是:路由器每次给一个词分配专家的时候,会输出一个概率分布,这个分布其实就是"这个词需要哪些专家来处理"的信号。如果把一整句话里所有词的路由概率做平均,会不会也得到一个有意义的"整句话的签名"?

答案是肯定的,而且比对隐藏状态做平均靠谱得多。原因在于,路由权重本身就是一个概率分布,概率天生就是非负且归一化的,平均的时候不会互相抵消,反而是在统计"这句话整体上更依赖哪几类专家"。

这就像统计一个班级这学期总共提交了多少次数学作业、多少次英语作业、多少次体育作业。不管具体是谁交的,每一次提交都是正向的计数,加总起来自然能反映出这个班级整体的学习侧重点。而如果换成统计每个学生对某科目"好感度"的正负评分再平均,好感和反感一抵消,可能最后结果趋近于零,什么都看不出来。

有了这个思路,论文提出的方法就很清晰了:拿一对互为翻译的英文句子和目标语言句子,分别喂给模型,收集它们在中间若干层的路由概率,做平均池化,然后用KL散度衡量这两个分布有多像,再把这个散度当成一个额外的损失函数,和原本的语言建模损失加在一起训练。

KL散度*:Kullback-Leibler散度的简称,用来衡量两个概率分布之间差异大小的一种数学工具,数值越小代表两个分布越接近。

这里有个细节值得展开说说:论文只把梯度回传给目标语言那一侧,英文那一侧只是用来提供一个"参照对象",并不参与更新。这个设计的用意很明显,整个训练的目的是让小语种"靠拢"英文已经学得比较好的表示空间,而不是让两边都往中间凑。如果两边都更新,很可能英文本身的能力也会被拖累,这就违背了初衷。

该在哪些层做对齐

另一个绕不开的问题是:模型有几十层,难道每一层都要做这种对齐吗?

论文的答案是否定的。研究者借助了此前一项工作(Bandarkar et al., 2026c)提出的"路由分歧曲线",先去观察模型在不做任何干预的情况下,各层的路由行为本身在不同语言之间差异有多大。

结果发现一个很规律的现象:模型刚开始的几层和最后几层,不同语言之间的路由差异都很大,而中间层的差异会明显收窄,呈现出一个U形曲线。这说明模型在处理语言的最开始(可能还在处理分词层面的细节)和最后(可能在生成具体语言的输出)时,是语言特异的,但中间阶段,模型做的更多是跨语言通用的"思考"。

于是论文的做法是,只在这个中间层区间里施加对齐损失,而不碰开头和结尾的层。这背后的逻辑也很直白:开头结尾那些层本来就该保留语言特色,强行对齐反而可能把每种语言原本的特点抹平,造成负面效果;而中间层本来就有共享的倾向,加一把力顺水推舟,效果会更好。

这就像教小朋友学乐器,一开始的指法练习和最后的个人风格展现,每个孩子完全可以按照自己的节奏来,但中间那段"识谱、理解乐理"的过程,其实谁学都是一样的逻辑,统一教学反而效率更高。如果你非要在指法阶段就强求所有孩子动作整齐划一,可能适得其反,扼杀了手指条件不同的孩子的发挥空间。

为了让训练过程更高效,论文还做了一个工程上的优化。原本如果要同时计算语言建模损失和对齐损失,需要给英文和目标语言各跑一次完整的前向传播,再加上目标语言的一次独立传播来算语言建模损失,相当于算了三次。论文把英文和目标语言的序列打包在一起,用变长注意力机制保证两段文字互不干扰,同时让英文那部分在跑完需要用来做对齐的层之后就提前退出,不再继续往后算。这样一来,整个流程只需要一次半左右的计算量,省掉了大量冗余。

实验怎么设计的

论文选了四个开源的MoE大模型来做实验:阿里的Qwen3-30B-A3B、OpenAI的GPT-OSS-20B、IBM的Granite-4.0-H-Tiny,以及Marco-Nano。涉及的语言有泰卢固语、僧伽罗语、匈牙利语、越南语、卡纳达语、泰语和吉尔吉斯语,一共七种,横跨了不同文字系统和资源丰富程度。

对每种语言,研究者都准备了20万条高质量的平行语料,用于持续预训练。

持续预训练*:缩写CPT,在已经训练好的模型基础上,用新的数据继续训练一段时间,而不是从零开始,目的通常是补充某种能力或者适配某个领域。

为了验证这个方法是不是真的管用,论文设置了几组对照。一组是最朴素的基线,只用语言建模损失做持续预训练;一组是只更新路由器参数、冻结其他所有参数的"路由器专训",用来看是不是单纯调整路由函数就能带来好处;还有一组是把论文提出的路由对齐换成传统的隐藏状态余弦相似度对齐,用来验证到底是路由概率对齐更有效,还是隐藏状态对齐更有效。

评测这块,论文用了相当丰富的任务集合,包括翻译理解类的FLORES和Belebele,知识迁移类的Global-MMLU和MMLU-ProX,本地知识类的MultiLoKo和INCLUDE,常识推理类的Global-PIQA,以及数学推理类的MGSM和PolyMath。覆盖面之广,基本能看出模型在翻译、理解、知识、推理这几个维度上的综合能力变化。

路由真的对齐了吗,隐藏状态呢

先看最直接的证据。论文用一个叫做"路由分歧"的指标,去衡量模型处理某种语言和处理英文时,专家选择的相似程度。

在Qwen3-30B-A3B模型上,针对泰卢固语,加了路由对齐损失之后,中间层的路由分歧明显下降,下降幅度直观地体现在论文配的那张图上:原本基线训练(蓝线)和原始模型(灰线)几乎重叠在一起,说明普通的持续预训练根本没有触动模型的路由行为;而加了对齐损失的橙线则明显往下压低了一截,尤其是在被选定的中间层区域(图里用橙色阴影标出的范围)表现最突出。

这个结果在GPT-OSS-20B处理卡纳达语、Granite-4.0-H-Tiny处理匈牙利语、Marco-Nano处理僧伽罗语时也都一一复现了,虽然各个模型因为超参数不同,分歧下降的幅度大小不一样,但方向上是一致的:普通训练基本不改变路由行为,而加了对齐损失之后,路由行为明显变得更趋同。

这里要追问一步:路由对齐了,是不是只是表面功夫,模型的"内心深处"(也就是隐藏状态)其实没变?

论文专门去验证了这一点。他们用了一种叫SoftCKA的方法,去衡量不同语言在模型各层隐藏状态的相似程度。

中心核对齐*:缩写CKA,一种衡量两组高维向量整体相似程度的统计方法,不需要把向量一一对应配对,而是通过核函数来软性匹配。

在Qwen3模型上针对四种语言(泰卢固语、吉尔吉斯语、卡纳达语、泰语)的测试显示,加了路由对齐损失训练之后,隐藏状态和英文的相似度在各层都明显提高了,尤其是在中间层区域,提升幅度相当可观。这说明一个很关键的事实:路由损失的梯度虽然名义上只是在调整"专家怎么分配",但实际上会反向传播,影响到前面所有层的参数,最终让整个模型处理不同语言时产生的内部表示都变得更接近。

这就好比你只是要求两个工厂生产出来的最终零件尺寸必须一致(路由输出一致),但为了达到这个要求,两条生产线上游所有的模具、设备参数都得跟着调整(隐藏状态也跟着变),最终两条生产线从头到尾都变得更相似了,而不仅仅是最后一道工序长得像。

这些内部变化最终反映到下游任务表现上了吗

内部指标变好看不代表实际有用,这篇论文很谨慎地把下游表现也做了完整测试。

结果是:在14组模型加语言的组合里,加了路由对齐损失的版本有13组超过了基线,剩下1组打平。提升幅度最高到2.1个百分点,平均提升大约0.9个百分点。

这里要补充一个背景信息,这个提升是在已经完成指令微调(post-trained)的成熟模型上,经过一个相对很短的持续预训练阶段之后取得的,而且基线本身相对原始模型的提升就不大。换句话说,这个实验设计本身就偏保守,是在给方法"设限"的情况下验证效果,而最终依然看到了一致的正向提升。

| 模型 | 语言 | 原始模型 | 基线 | 加路由对齐损失 |

|---|---|---|---|---|

| Qwen3-30B-A3B | 泰卢固语 | 44.6 | 45.4 | **46.3** |

| Qwen3-30B-A3B | 吉尔吉斯语 | 40.8 | 43.5 | **45.6** |

| GPT-OSS-20B | 卡纳达语 | 47.5 | 55.5 | **56.4** |

| GPT-OSS-20B | 泰语 | 34.9 | 39.9 | **40.8** |

| Granite-4.0-H-Tiny | 匈牙利语 | 34.5 | 38.1 | **38.8** |

| Marco-Nano | 僧伽罗语 | 24.0 | 26.1 | **26.8** |

再看隐藏状态对齐和路由对齐的直接对比。论文专门在Marco-Nano模型上,针对匈牙利语和僧伽罗语两种语言做了一组对照实验。

结果显示,对于僧伽罗语,隐藏状态对齐(余弦相似度)把基线的26.1提到了26.3,而路由对齐则提到了26.8,路由对齐胜出。更能说明问题的是匈牙利语的情况,隐藏状态对齐反而让基线的37.4掉到了36.9,出现了负面效果,而路由对齐依然稳健地提升到了38.1。

这个对比支持了论文最初的猜测:相比直接对齐高维连续的隐藏状态向量,对齐路由这个稀疏的离散概率分布,是一种风险更小、效果更稳的方案。

最后是只训练路由器参数那组实验。更新的参数量不到总参数的0.1%,结果却喜忧参半,有些场景下能接近甚至持平完整训练的效果,但波动很大,并不是一个稳定可靠的替代方案。这也反过来印证了前面的发现:真正带来提升的,是路由损失通过梯度反向传播,改变了模型更早期层的参数和表示,而不是单纯调整路由器本身这个动作带来的好处。

这个方法的边界在哪里

论文也很坦诚地讨论了几个限制。

第一个限制和实验设置本身有关。研究者只能在已经指令微调过的模型上做实验,因为如果用没有微调过的基座模型,模型本身还不具备良好的指令遵循和推理能力,评测结果会很嘈杂,看不出方法本身的效果。但这也意味着,持续预训练阶段施加在一个已经"定型"的模型上,调整空间本来就有限,论文认为如果把这种对齐方法放到预训练阶段去做,效果很可能会更显著,因为那时候模型还在"塑形",各种能力还没有固化下来。

第二个限制是数据依赖性。这个方法完全依赖平行语料,也就是互为翻译的句对。但大语言模型训练用的绝大部分数据,无论是预训练、中期训练还是指令微调、强化学习阶段的数据,都不是平行的。现有的平行语料也大多是句子级别的、覆盖面相对窄的内容,光靠这些数据无法让模型实现大幅度的能力提升,这一点从基线训练本身提升有限就能看出来。所以论文把这个方法定位成一个训练课程里的"组件",需要和其他训练阶段配合使用,而不是单打独斗的万能药。

第三点是关于"对比学习"这个说法本身。传统意义上的对比学习通常需要正负样本对,负样本的作用是防止表示坍缩成一团。但论文指出,MoE模型本身训练时都会带有负载均衡损失,这个损失本身就会促使专家被均衡地调用,所以在小规模实验里崩溃的风险并不高,论文也就没有去设计负样本机制,留给未来在更大规模预训练场景下去探索。

负载均衡损失*:MoE训练中常见的一种辅助损失,用来防止路由器总是偏爱少数几个专家,鼓励各个专家都能被均衡地使用到。

还有一点论文没能证实的,是关于"哪类任务更受益于对齐"的猜想。有研究者此前认为,对那些依赖语言特异信息较少的任务,比如推理、数学、知识类任务,对齐带来的好处应该更明显。但这篇论文的实验结果并没有清楚地支持这个假设,翻译理解类任务和推理知识类任务受益程度看不出明显差别。

写在后面

读完这篇论文,最让我觉得意外的一点,是路由对齐居然能把隐藏状态也"带"着一起对齐。按理说路由器只是决定"调用哪几个专家",这是一个相对表层的决策,但梯度一反传,连带着前面层的表示都变了。这说明在深度网络里,看似局部的监督信号,影响范围可能远比我们直觉上认为的要大。

另一个让我反复琢磨的细节,是论文提到MoE的路由动态在预训练很早期就已经基本定型了(引用了Xue et al., 2024和Muennighoff et al., 2025这两项工作)。如果这是真的,那就意味着这篇论文验证的持续预训练阶段的对齐效果,可能只是整个故事的一个很小的切片。真正有决定性影响的窗口期,很可能在预训练最初的那段时间,而这正是论文自己也承认没能触及的部分,留给未来去验证了。

还有一个挺有意思的类比,论文里提到图像文本对齐领域的CLIP模型用的是对比学习,但到了后来的多模态生成模型比如Flamingo,这套对齐监督反而被放弃了,改成直接用图像条件下的文本生成任务来训练。论文最后也提了一句,未来或许可以把MoE路由对齐的思路搬到跨模态场景里去,看看能不能缓解多模态MoE模型里专家路由出现的"分心"问题。这个联想让我意识到,语言之间的隔阂和模态之间的隔阂,可能本质上是同一类问题的不同表现形式:模型内部为不同类型的输入建立了互不相通的处理路径,而这些路径理论上本该在某种程度上共享。

如果有一天,我们能让一个模型处理图像、处理语音、处理上百种语言文字时,内部真正调用的是同一套"思考机制",只是输入输出的外壳不同,那会是什么样子?这篇论文给出的,可能只是通向那个方向的一小步脚印。

Q&A

Q1:MoE路由器对齐损失具体是怎么计算的?

A:先把一对互为翻译的英文和目标语言句子分别输入模型,收集中间若干层每个词的专家路由概率,对整句话的路由概率做平均池化,再用KL散度衡量两个语言的平均路由分布有多相似,作为额外损失和原本的语言建模损失加权相加,只对目标语言一侧回传梯度。

Q2:为什么用路由权重对齐比用隐藏状态对齐效果更好?

A:隐藏状态是高维连续向量,不同词在某个维度上正负抵消会导致平均后信息丢失。路由权重是非负的概率分布,平均时不会互相抵消,能更稳定地反映整句话对专家的依赖模式。论文在Marco-Nano模型上的对照实验也证实路由对齐在两种语言上都优于或持平隐藏状态对齐,而隐藏状态对齐在匈牙利语上甚至拖累了效果。

Q3:这个方法对所有层都起作用吗?

A:不是,论文只在模型中间层施加对齐损失。研究者先观察模型各层本身的跨语言路由分歧,发现开头和结尾层语言差异大、中间层差异小,于是只在差异小的中间层区间做对齐,避免破坏语言特异的结构。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-