![]()
大語言模型(LLM)雖已展現出卓越的代碼生成潛力,卻依然面臨著一道艱巨的挑戰:如何在有限的計算資源約束下,同步提升對多種編程語言的理解與生成能力,同時不損害其在主流語言上的性能?
為此,中國移動九天團隊創新性地提出了 Hybrid MoE 架構 ——MultiPL-MoE,該方案的核心在于耦合兩個層次的專家選擇機制進行優化:在 Token 層級,采用配備共享專家及新穎門控權重歸一化方法的稀疏 MoE,以實現與段落層級專家的高效協同;在 Segment 層級,則創新性地引入滑動窗口劃分與專家選擇路由策略,使模型能夠精準捕捉不同編程語言的語法結構與深層上下文模式。目前,該項研究已被 EMNLP 2025 接收。
![]()
- 論文標題:MultiPL-MoE: Multi-Programming-Lingual Extension of Large Language Models through Hybrid Mixture-of-Experts
- 論文鏈接:https://arxiv.org/abs/2508.19268
- 代碼鏈接:https://github.com/Eduwad/MultiPL-MoE
背景
現有的通用大模型在代碼生成方面已經展示出卓越的能力,然而大量研究表明這些大模型在高資源編程語言(如:Python)與低資源編程語言上(如:Rust)上存在顯著的性能差異,后者無論是在線資源還是訓練數據集均相對匱乏。對多語言代碼生成能力日益增長的需求,促使人們致力于將廣泛的編程語言知識注入 LLM。然而,現有的研究主要存在以下兩種問題:
1. 使用多種編程語言的數據對基座模型進行繼續訓練,但存在計算開銷極為龐大的問題;
2. 通過特定高質量低資源數據對基座模型進行微調以提升特定編程語言性能,但會引發基座模型原有代碼能力的嚴重災難性遺忘問題。
因此,我們創新性地提出了一種 Hybrid MoE 結構,即 token-level MoE 和 segment-level MoE 相結合的 MoE 架構。Token-level MoE 采用典型的 sparse upcycling MoE 結構,Segment-level MoE 則利用滑動窗口獲得多個分段并搭配采用專家選擇 top-k 個分段的專家選擇路由的策略。實驗結果證明了 MultiPL-MoE 的有效性。
方法
1. MoE 定義
![]()
![]()
2. MultiPL-MoE
MultiPL-MoE 的提出以優化 token-level 和 segment-level 的專家選擇。Token-level MoE 是一種傳統的 token 選擇路由,結合了共享專家和一種新的路由權重歸一化方法,以解決后期與 segment-level MoE 融合時的規模不匹配問題。對于 segment-level MoE,我們采用專家選擇路由機制,將輸入作為上下文連貫的分段,使專家能夠捕捉語法結構和一些篇章級的特征。
![]()
圖 1 MutilPL-MoE 的整體架構
2.1 Token-level MoE
![]()
![]()
2.2 Segment-level MoE
![]()
![]()
![]()
![]()
![]()
![]()
最后,融合 token-level MoE 和 segment-level MoE 的第 l 層輸出為:
![]()
2.3 損失函數
通過將 next token prediction loss 與 load balance loss 相結合來訓練混合 MoE。
(1) next token prediction loss
![]()
(2) load balance loss
![]()
最終的優化目標為:
![]()
實驗結果
實驗結果表明,MultiPL-MoE 在跨語言泛化方面取得了顯著進步。MultiPL-MoE 在 HumanEval 和 MBPP 的兩個基準測試中均實現了一致的性能,即顯著增強了模型在低資源編程語言上的性能,同時有效緩解了高資源編程語言中的災難性遺忘。同時,我們也注意到,除基礎模型 Qwen1.5 外,基線模型、MultiPL-MoE 的 MBPP Python 語言上都表現出持續較低的性能,遠遠低于其他語言。
![]()
圖 2 不同 Baseline 及 MultiPL-MoE 在 6 種編程語言上的實驗結果。其中,Python,Java,C++ 代表高資源語言,Rust,Go,Ruby 代表低資源語言。
結語
本文提出了一種混合式多語言學習模型 (MoE)——MultiPL-MoE,它同時包含 token-level MoE 和 segment-level MoE。MultiPL-MoE 引入共享專家來捕捉 token 之間的知識共性,并在句段 (segment) 之間獲取句段間的語義和邏輯信息。在兩個不同的基準測試集上進行的大量實證研究證明了 MultiPL-MoE 是一種在預訓練后階段擴展低源碼編程語言的有效方法。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.