先說一個可能會顛覆你認知的事實:當研究者把兩個訓練好的大語言模型合併
成一個時,模型內部負責"分配任務"的路由系統會大面積改變決策方式,幾乎一半的詞元都被派去了不同的專家網路處理。聽起來像是系統崩潰了對不對?
但這篇論文的核心發現是:這種改變,絕大多數時候,根本沒有讓模型變笨。
這事兒得從頭說起。
大語言模型這兩年流行一種叫混合專家的架構。
MoE
(Mixture-of-Experts,混合專家模型):不是讓每個詞元都經過模型的全部參數計算,而是設置很多個"專家"子網路,每來一個詞元,由一個叫"路由器
"的小模組決定把它派給哪幾個專家處理,這樣能在不顯著增加計算量的前提下把模型做得更大。
DeepSeekMoE
、OLMoE
、Qwen3-MoE
,都是這條路線上的代表性模型。它們的路由器就像一個交通調度員,見到一個詞元,瞬間判斷該把它送到哪幾個專家窗口。
現在的問題來了:模型合併這項技術,近幾年被廣泛用來"低成本融合能力",不用重新聯合訓練,把兩個專精不同領域的模型(比如一個擅長數學,一個擅長寫代碼)的參數直接做加權平均或者更複雜的融合,就能得到一個"全能"模型。這套技術在傳統的稠密模型上效果不錯,直接把參數拌一拌就行,因為每個詞元反正都要經過全部參數。
可是MoE不一樣。合併之後,路由器面對的輸入變了,專家的參數也變了,於是路由器開始把詞元送到跟原來完全不同的專家那裡去。這種現象論文裡管它叫"路由漂移
"(Routing Drift)。
路由漂移:模型合併之後,詞元被分配到的專家集合,相比合併前的原始專家模型發生了明顯改變的現象。
很自然地,業內看到這種漂移,第一反應是:"壞了,路由系統失靈了,得修。"於是已經有研究者提出了專門的"路由校準
"方法,試圖把合併後的路由拉回原來的樣子。
但這篇論文提出了一個讓人愣一下的追問:路由變了,就等於路由壞了嗎?
這就是整篇論文要死磕的核心問題。而回答這個問題,遠比想像中要複雜。
路由到底為什麼變了
要判斷路由變化是不是問題,得先搞清楚它為什麼變。
一個詞元被送到哪個專家,取決於兩個東西:一是路由器看到的輸入表示(也就是這個詞元在網路內部被編碼成什麼樣子),二是路由器自身的參數(也就是它做判斷的"標準")。合併操作同時改變了這兩樣東西,所以沒法直接說清楚,究竟是"輸入變了導致路由變",還是"路由器判斷標準變了導致路由變"。
研究團隊想了個辦法:交叉替換
。
具體做法是,拿原始專精模型的路由器參數,配上合併後模型產生的輸入,看看結果和原來的專家選擇是否一致;反過來,拿合併模型的路由器參數,配上原始模型的輸入,再看一次。四種組合交叉驗證,就能把"輸入的鍋"和"參數的鍋"徹底分開算清楚。
這就像是查一起交通事故,你不能只看結果說"車撞了",你得分別測試:如果換成原來那個老司機開,但路況變了,會不會撞?如果路況沒變,但換了新司機,會不會撞?只有把變量拆開測,才知道到底是誰的問題。如果不做這種拆分,你永遠只能得出"合併之後出事了"這種毫無用處的結論,因為你根本不知道該修司機還是修路。
測試結果相當一致:在三種不同架構的MoE模型上,把"變化的專家選擇事件"拿出來分析,發現77.7%到96.9%的情況,都是換了輸入就變、換了路由器參數不變。也就是說,絕大多數路由漂移的根源,是詞元的內部表示在合併之後發生了偏移,而不是路由器本身的判斷標準壞掉了。真正因為路由器參數問題導致的漂移,占比最高也就1.8%。
這是個挺重要的轉折。因為如果問題出在路由器參數上,那"修路由器"這個思路是對的。但既然問題主要出在輸入表示上,那單純校準路由器參數,可能只是在錯誤的地方使勁。
不過這裡研究者也很謹慎地加了一句:這種局部歸因,只能說明"如果單獨換掉這一層的輸入,專家選擇集合就會跟著變",並不能排除更上游的表示變化間接造成了影響。這是個局部充分性證明,不是完整的因果鏈條溯源。
漂移程度,預測不了"修復"的價值
搞清楚漂移的來源只是第一步。接下來更關鍵的問題是:既然大部分漂移都是輸入變化引起的,那這種漂移到底有沒有壞處?
論文嘗試了一個直覺上很自然的檢驗方式:用各種數學指標去衡量"合併後的路由分布"跟"原始模型的路由分布"差了多少,然後看這個差異能不能預測,如果把路由強行改回原始模型的選擇,模型在下一個詞預測上會不會變准。
這裡用到了JS散度
這個統計工具。
JS散度(Jensen-Shannon散度):一種衡量兩個概率分布之間差異程度的指標,數值越大代表兩個分布差得越遠,常用來比較兩次路由決策的相似度。
研究者把這個分布差異指標,拿去和"用原始路由替代後,模型預測下一個詞的準確程度提升多少"做關聯分析,用了一個叫AUROC的評估方式。
AUROC:一種評估預測能力好壞的指標,數值0.5代表跟瞎猜沒區別,數值越接近1代表預測能力越強。
結果是什麼呢?在三種模型架構、兩種合併方法的全部組合里,這個AUROC數值全部卡在0.47到0.52之間,基本等同於瞎猜。換句話說,路由分布差得越多,並不意味著恢復原始路由就越能提升模型表現。這個直覺上"理所當然"的判斷標準,在實測數據面前徹底失效了。
緊接著,研究團隊乾脆做了個更直接的實驗:真的把合併後模型的路由,替換成原始專家模型給出的路由決策,保持其他所有參數不變,看看任務表現有沒有恢復。他們選了"正確答案得分優勢"這個指標來衡量,簡單說就是模型給正確選項打的分,比給最強的錯誤選項打的分高多少。
結果所有測試場景下,這個指標變化的置信區間全部橫跨零點。也就是說,統計上沒法確認"用原始路由替換合併路由"這件事到底是幫了忙還是添了亂,結果模稜兩可。
這個發現值得多說兩句。因為它直接推翻了一個看似天經地義的假設:合併模型的路由"和原來不一樣",所以"改回原來的樣子"應該是有益的。數據告訴我們,這個假設站不住腳。
打個比方,這就像一家公司合併了兩個部門,新團隊裡有個員工原本在市場部幹得挺好,合併後被調去做了產品經理。你可能會覺得,把他調回市場部准沒錯,畢竟那是他的"老本行"。但如果你真去做A/B測試,讓他在兩個崗位各干一段時間,比較業績,你可能會驚訝地發現:調不調回去,業績其實沒有顯著差異。因為新團隊的整體協作方式已經變了,單獨把一個人挪回"原崗位",未必還是最優解,公司的組織結構已經不是原來那個了。如果不做這種真實的業績對比測試,只憑"他原來在這個崗位表現好"就武斷做決定,很可能是在解決一個並不存在的問題。
需要說明的是,這不代表合併後的路由就是最優的。論文做了另一個補充測試:在一個固定的候選路由集合里(包含合併路由、原始路由和其他幾種變體),合併後的原生路由很少是表現最好的那個選項,但原始路由也只贏了大概一半的比較。這說明雙方都不完美,只是"改回原來的"不是穩賺不賠的操作。
不一樣的專家組合,可能產生相似的輸出
第三個讓人意外的發現,藏在一個更細節的技術層面。
MoE層的最終輸出,並不只取決於"選了哪幾個專家",還取決於這幾個專家各自的輸出內容,以及它們被加權組合的方式。論文用了一個公式來描述這個過程:某一層的輸出,是所有被選中專家各自產出結果的加權總和。
研究團隊做了個巧妙的對照實驗:固定住合併後模型的隱藏狀態和專家參數不變,只對比"用合併路由選出的專家組合"和"用原始路由選出的專家組合",最終產出的向量方向有多相似。用的指標是餘弦相似度。
餘弦相似度:衡量兩個向量方向接近程度的指標,數值越接近1代表兩個向量方向越一致。
結果相當驚人:單看兩組專家各自的輸出,它們之間最像的一對,平均相似度只有0.04到0.1,幾乎不相關。但把整組專家的加權輸出合在一起看,合併路由和原始路由產生的最終混合結果,相似度飆升到0.9到0.98,非常接近。
而且研究者還做了個更嚴格的對照組:隨機生成32組"匹配控制路由",也就是專家數量、和合併路由的重疊程度、權重分布都刻意做得和真實路由相似,結果發現真實的原始路由輸出,相似度依然比這些精心構造的隨機對照組平均高出0.11到0.15個百分點,這個差距在統計上是站得住的。
這說明什麼?說明不同的專家選擇組合,很可能在功能層面上存在某種冗餘,就算具體挑的是不同的專家,最後合成出來的信號方向依然可以高度一致。
這有點像做一道菜。同樣是想要一份酸辣口味的湯,廚師A用的是醋加辣椒油,廚師B用的是檸檬汁加花椒油,原料完全不同,單獨嘗每一種原料的味道也天差地別。但最後端上桌的兩碗湯,喝起來可能都是差不多的酸辣味。如果你只看"用了哪些原料"就判斷這道菜做壞了,那你可能冤枉了一位手藝不錯的廚師,因為真正重要的是最後那碗湯的味道,而不是原料清單是否和菜譜一模一樣。
這個發現也解釋了為什麼前面兩節的結果會是那樣:路由確實變了,輸出確實不一樣了,但最終產出的功能性信號,很可能依然大致對齊,這才是路由漂移沒有必然導致任務失敗的深層原因。
怎麼才算真正的"路由失敗"
前面三節把"路由漂移不等於路由失敗"這件事從各個角度論證了一遍,那接下來的問題自然是:到底該用什麼標準,來真正判斷路由是不是出了問題?
論文給出的答案很務實:不要看路由本身變沒變,要看換一種路由策略之後,任務表現有沒有可恢復的損失。
具體來說,研究者定義了一個叫"可恢復任務損失"的概念。簡單說就是,拿同一批測試題目,分別用兩種不同的路由策略(比如原生合併路由 vs 某種替代路由)跑一遍,保持模型的其他參數完全不變,比較兩次的任務表現差多少。如果替代路由明顯更好,且這個優勢在統計上站得住腳,那就說明原來的路由確實存在可以被修復的損失;如果兩者差不多,那就說明,至少針對這個特定的替代方案,原來的路由並沒有明顯的問題。
為了驗證這套判斷標準本身是可靠的,論文先做了個"正向對照實驗":故意在OLMoE的部分層里打亂路由器的輸出邏輯,人為製造損傷,然後測試恢復原始乾淨路由能不能把表現拉回來。
結果非常清晰:打亂4層專家邏輯,恢復乾淨路由後準確率能回升12.5到14.84個百分點;打亂全部16層,恢復後能回升26.56到32.81個百分點,這些結果在統計顯著性檢驗(Holm校正,一種控制多重比較誤差的統計方法)下全部站得住腳。但如果只打亂1層,損傷太輕微,恢復乾淨路由帶來的提升就不穩定了,說明這套"可恢復損失"的檢測框架,在真正存在損傷的場景下是能可靠捕捉到問題的。
這個正向對照非常關鍵,它證明了論文提出的這套檢測標準不是紙上談兵,是真的能測出"壞沒壞"的。
而當研究者把這套已經驗證有效的方法,應用到真實的、由模型合併產生的路由漂移場景時,結果卻是另一番景象:無論是恢復原始專家模型的路由,還是替換成另一種經過校準的自然路由方案,幾乎所有測試場景下,任務表現的變化都沒能顯示出統計上可靠的提升。
這個對比非常說明問題:檢測框架本身沒毛病,它能在真正有損傷的地方測出損傷,但在合併模型的路由漂移上,它沒能測出損傷。這意味著,至少在論文測試的這些場景里,路由漂移這件事,本身並不構成需要緊急修復的"故障"。
選擇性路由修復:一次直接的驗證嘗試
既然路由漂移本身不一定是問題,那研究團隊乾脆設計了一個具體的修複方案,來正面回答另一個問題:就算我們利用原始專家模型的資訊,去做一些"有針對性"的局部路由修正,這種基於源模型偏好的修正,真的能帶來收益嗎?
這個方案叫SRR(Selective Router Repair,選擇性路由修復)。
SRR的核心思路是,先找出那些"原始專家模型明顯比合併模型預測得更准"的詞元,看看在這些詞元上,原始模型的路由器更傾向於選哪些專家、合併模型又選了哪些,如果兩者存在一致的、方向性的偏好差異,就針對這幾對專家,對合併模型路由器里對應的參數行做一個小幅度的微調,讓它稍微向原始模型的偏好靠攏一點。這個過程只改動路由器最後五層里被選中的少數幾行參數,專家本身的參數完全不動。
這套流程本質上是一種帶權重的嶺回歸擬合,用原始模型相對合併模型的"發言權優勢"來篩選和加權訓練樣本,儘量避免讓那些原始模型也沒比合併模型強多少的詞元干擾擬合方向。
研究者對這套方法做了非常細緻的驗證,一共問了兩個層面的問題。
第一個問題是:原始模型的預測優勢,能不能幫我們準確判斷出"哪個局部修正方向是真正有用的"?他們做了一個獨立的診斷實驗,在OLMoE和Qwen3-MoE上收集了1024個事件,其中471個是原始模型確實預測得更準的場景。結果顯示,就算原始模型在這些場景里預測優勢明顯,也沒能在統計上穩定地證明"朝著這個方向調整路由邏輯"就一定比"維持原樣"或者"朝相反方向調"更好。
第二個問題是:實際執行修正的時候,會不會出現意外情況?答案是會的。因為SRR只調整了某幾層的路由參數,但網路是逐層往後傳遞計算的,前面層的修正會改變後面層看到的輸入,所以最終生效的修正幅度,和原本設計時預想的"直接修正量"經常對不上,在最後一層里,這種因為連鎖反應帶來的偏差,幅度能達到直接修正量的0.38到0.86倍,是不能忽略的量級。
這有點像多米諾骨牌,你精心計算了第一塊牌該往哪個方向推,推多大力氣,才能讓最後一塊牌倒向你想要的位置。但骨牌之間是會互相影響的,第二塊牌被第一塊推動後,它自己的角度和速度也會有細微變化,等傳導到最後一塊,實際的倒下方向可能和你最初的計算有不小的出入。如果你只按第一步的計算就斷定最終效果,很可能是在自欺欺人。
最後一步,是把SRR真正應用到完整的基準測試上,看它對整體任務表現的實際影響。研究團隊在DeepSeekMoE、OLMoE、Qwen3-MoE三種架構上,分別測試了平均合併、任務算術、TIES、WUDI-Merge四種不同的合併方法,一共十二種組合,並且和另一種叫HARC的現有路由校準方法做了對比。
結果呈現出明顯的任務異質性。在八個應用了SRR的場景里,整體平均分變化範圍是負0.056到正0.139個百分點,五個場景是正的,三個場景是負的。跟HARC比,兩種方法各有四場勝出,誰也沒有壓倒性優勢。更值得注意的是,單看某個具體任務,比如在OLMoE平均合併這個場景,SRR讓GSM8K數學題的表現提升了1.74個百分點,但同時WinoGrande常識推理卻掉了0.63個百分點。這說明就算整體平均分看起來還行,具體拆開看每個任務,得失其實是互相抵消出來的,並不是全面變好。
研究團隊還專門做了個補充檢驗,想確認"篩選出的正向預測優勢樣本"是不是真的比"隨機挑選的樣本"更有價值。他們把正向支持的事件和鄰近的非正向事件做配對比較,結果發現兩者在帶來的局部收益上,統計上沒有顯著差別。這進一步印證了前面的結論:僅憑原始模型的預測優勢,不足以準確挑出真正有用的修正點。
論文對這一整套發現給出了一個坦率的總結:路由漂移這件事本身,不足以構成"需要修復"的證據。想要判斷某種基於源模型資訊的修正到底有沒有用,必須拿真實的任務表現說話,而不能只看它和原始模型的路由是不是更接近。
寫在後面
讀完這篇論文,我印象最深的不是某個具體的實驗數字,而是研究者對"直覺判斷"的這種系統性懷疑態度。
我們太容易被一種敘事吸引了:模型合併之後,路由和原來不一樣了,那一定是哪裡出了問題,趕緊修回去。這個邏輯聽起來天經地義,就像看到孩子考試成績和上次不一樣,第一反應是"是不是學壞了",而不是去想想題目難度是不是變了,或者這次考的知識點本來就不一樣。這篇論文做的事情,某種程度上就是堅持把這個問題問到底,一直問到數據給出明確答案為止。
論文裡有個細節我覺得特別值得拿出來說:那個"最終混合輸出相似度高達0.9以上,但單個專家輸出相似度只有0.1"的對比。這個發現挺反直覺的,因為它說明神經網路內部可能存在大量我們直覺上意識不到的功能冗餘,路由這層"決策"看起來是離散的、非黑即白的選擇,但它承載的資訊,最終匯聚出來的可能是一個連續的、有一定容錯空間的信號。這讓我想到,人類團隊協作有時候也是這樣,兩個團隊用完全不同的分工方式達成同一個目標,你沒法只看分工表就判斷哪個團隊更好,得看最後交出來的成果。
還有一點值得琢磨:這篇論文其實沒有給出一個"路由漂移一定沒問題"的結論,它給出的是一套檢驗方法,並且誠實地報告了在他們測試的場景里,用這套方法沒能找到路由漂移導致失敗的證據。這種"沒找到證據"和"證明了不存在"之間的區別,是做研究時很容易被模糊掉、但其實極其重要的分寸感。
這篇論文留下的問題也很明顯:如果路由漂移本身不是問題的核心,那合併後的MoE模型里,真正值得關注的性能損耗到底藏在哪裡?是專家參數本身的融合質量,還是別的什麼環節?這大概是留給後續研究者的下一道題。
Q&A
Q1:什麼是路由漂移,為什麼模型合併會導致路由漂移?
A:路由漂移指MoE模型合併後,詞元被分配到的專家跟合併前的原始模型相比發生了明顯改變。原因是合併同時改變了路由器看到的輸入表示和路由器自身參數,論文通過交叉替換實驗發現,77.7%到96.9%的漂移主要來自輸入表示的變化,而非路由器參數本身的問題。
Q2:路由漂移是不是意味著合併後的MoE模型性能變差了?
A:不一定。論文發現路由分布差異程度(用JS散度衡量)幾乎無法預測恢復原始路由能否帶來任務表現提升(AUROC僅0.47到0.52,接近瞎猜)。而且不同專家組合的最終混合輸出相似度高達0.9以上,說明存在功能冗餘,路由變了不代表輸出效果真的變差。
Q3:SRR選擇性路由修複方法效果如何,能解決路由漂移問題嗎?
A:SRR在三種MoE架構、十二種合併組合的測試中,效果並不穩定,八個場景里五個正向三個負向,且具體任務上常出現"這個任務變好那個任務變差"的情況。研究還發現,僅憑原始模型的預測優勢並不能可靠識別出真正有益的局部修正點。






