mmBERT是一個純編碼器架構的語言模型,在1800多種語言、3萬億tokens的文本上完成了預訓練。它的架構設計借鑑了ModernBERT,但又加入了不少創新點,比如逆掩碼比率調度和逆温度採樣。而且研究團隊還把1700多種低資源語言放在了衰減階段加入訓練,這個策略帶來了相當不錯的效果提升,充分利用了那些數據量本身就不大的語言資源。
模型架構
整體架構和ModernBERT保持一致,但換成了Gemma 2的tokenizer來處理多語言輸入。base和small兩個版本都用了22層網絡,中間維度是1152(這點和ModernBERT-base一樣),區別在隱藏層維度上:base是768,small則縮減到384。
從參數量來看,base版本的非嵌入參數跟ModernBERT-base持平,都是110M,但因為詞表擴大了,總參數量達到307M。small版本總共140M參數,其中非嵌入部分42M。
訓練數據
以往像XLM-R、mT5這些模型裏,英文內容佔比很低,mT5只有5.7%。但問題是真正高質量的數據(比如過濾過的DCLM)基本都是英文的。所以這次團隊提高了英文數據的比例,當然非英語數據仍然佔了大頭。
非英語部分主要來自FineWeb2,以及它的高質量過濾版本FineWeb2-HQ(覆蓋20種語言)。多語言維基百科用的是MegaWika v2,包含60種語言,並且都經過了篩選。英文語料還補充了好幾個精選數據集:Dolma裏抽取了StarCoder、Stackexchange、Arxiv和PeS2o;Dolmino貢獻了數學、篩選過的Stackexchange、Tulu Flan指令數據和書籍;ProLong則提供了代碼倉庫和教材。
這樣一通操作下來,整個數據mix不僅質量更高(得益於DCLM和FineWeb2的過濾),內容類型也更豐富(代碼、指令、網頁、論文都有),語言和文字覆蓋面也更廣。
級聯退火語言學習(ALL)
Fineweb2數據在訓練中的逆温度採樣比率變化,τ從0.7降到0.5再到0.3
以前的做法是固定語言集合,用設定好的温度參數採樣多語言數據。這次論文作者則換了個思路:訓練過程中動態調整温度,同時逐步添加新語言進來,有點像對語言做退火處理。
低資源語言本來預訓練數據就少,質量也相對一般(畢竟可篩選的餘地不大)。怎麼最有效地利用這些語言的數據,同時又不過度重複訓練(避免超過5個epoch),還得保證整體數據質量?答案是先從高資源語言起步,訓練過程中慢慢加入其他語言。每次加入新語言時重新採樣比例,讓分佈逐漸從偏向高資源轉為更均勻。這樣既避免了在低資源數據上反覆訓練,又能讓新語言藉助已有的語言基礎快速學習。
起步階段用60種語言(外加代碼),覆蓋了主要的語系和文字。然後擴展到110種,納入那些數據量還可以的"中等資源"語言(超過2億tokens)。最後把FineWeb2裏的所有語言都加進來,1833種語言、1895個語言-文字組合。温度參數也相應從0.7降到0.5,再降到0.3。最後這步特別關鍵,利用衰減階段的學習機制,能讓性能快速拉昇。
訓練流程
訓練分三個階段,跟ModernBERT類似,但掩碼率調度方案做了改進。不是簡單地在最後降低掩碼比例,而是每個階段都在逐步降低。mmBERT small的權重初始化還用了個技巧,從base版本通過跨步採樣來初始化。
基礎預訓練階段
這個階段涵蓋梯形學習率的warmup和穩定期,訓練了2.3T tokens。學習率和batch size都有warmup過程。數據裏沒有過濾版的FineWeb2和高質量DCLM,只用60種語言(加代碼),掩碼率從30%開始。
上下文擴展與中期訓練
這時候數據質量提升了,切換到各數據集的高質量過濾版本。RoPE參數調整到能處理8192 tokens(theta設為160k),全局層和局部層都適用。語言數量增加到110種(加代碼)。這個階段訓練600B tokens,繼續穩定期,掩碼率降到15%。
衰減階段
採用逆平方根學習率調度,衰減100B tokens,最終降到峯值的0.02倍。跟ModernBERT和Ettin不同,這裏掩碼率選的是5%。用了三種不同的數據配置,產出三個變體:Decay-Eng專注英語、Decay-Cont延續110種語言、Decay-All包含全部1833種FineWeb2語言。
模型合併
合併策略是為了整合各衰減混合的優勢。base版本從每個混合裏挑最好的checkpoint,用TIES-merging減少參數衝突。small模型跨混合合併效果不理想,可能因為權重空間較小導致參數一致性不夠,所以改用Decay-All checkpoints的指數加權合併,這種方案表現最好。
評估結果
測試覆蓋了NLU數據集(GLUE、XTREME)、檢索基準(英語和多語言MTEB v2、代碼檢索CoIR)、以及低資源語言評估集(提格雷語TiQuaD、法羅語FoQA)。
對比的baseline包括XLM-R、mGTE、EuroBERT-210m(base規模)、mDistilBERT、Multilingual MiniLM(small規模)、ModernBERT(英語上限參考)和解碼器模型Gemma 3 270M。
GLUE英語基準測試結果
XTREME基準測試結果
自然語言理解表現
mmBERT small在英語GLUE上的成績相當亮眼,平均84.7分,遠超MiniLM的78.3,甚至比之前一些base規模的模型還強。mmBERT base雖然訓練數據以非英語為主,英語性能還是逼近了ModernBERT(86.3 vs 87.4)。
多語言XTREME上,mmBERT base平均分72.8,超過XLM-R的70.4。分類任務上XNLI得分77.1(XLM-R是74.6),問答任務TyDiQA的F1達到74.5(XLM-R是70.5),提升都挺明顯的。
英語檢索能力
MTEB v2英語檢索測試中,mmBERT模型展現出不小的優勢。small版本超過了mGTE和XLM-R,base版本平均53.9分,比mGTE(52.7)高,跟ModernBERT(53.8)基本持平。
多語言檢索表現
多語言MTEB v2上,兩個mmBERT模型都比同規模對手高出1.5分左右。比如mmBERT base平均54.1,XLM-R是52.4。
代碼檢索性能
CoIR基準測試中,mmBERT base平均42.2分,遠超XLM-R(33.6)這類大規模多語言模型。不過沒跑過EuroBERT-210m(45.3),估計是因為EuroBERT用了更高質量的非公開訓練數據。
與EuroBERT的對比
即便在EuroBERT的優勢語言上,mmBERT base和small在XNLI和PAWS-X上仍然佔優。舉個例子,阿拉伯語XNLI上mmBERT base得分74.5 F1,EuroBERT只有66.8 F1。
編碼器vs解碼器
純編碼器的mmBERT模型明顯強於同規模的SOTA解碼器模型。Gemma 3 270M在XNLI和GLUE上的表現連mmBERT small都不如,再次説明了編碼器架構在這類任務上的優勢。
不同衰減階段模型在提格雷語和法羅語上的表現(這兩種語言僅在衰減階段加入)
退火語言學習的效果
衰減階段加入更多語言,低資源語言性能提升相當顯著。採用1833種語言衰減的mmBERT性能提升很快,base版本在提格雷語上漲了68%,法羅語漲了26%。mmBERT base在FoQA上甚至超過了更大規模的模型,包括Google的Gemini 2.5 Pro和OpenAI的o3。模型合併也幫助保持了性能水平。
運行效率
mmBERT模型比以往的多語言編碼器模型快得多、效率也高得多。base版本在可變序列上快了2倍多,長上下文快了約4倍。small版本大概是base的2倍速度,也比其他同規模多語言模型快2倍。
更關鍵的是,mmBERT支持最長8192 tokens,而MiniLM、XLM-R這些老模型只能處理512 tokens。mmBERT處理8192 tokens的速度跟它們處理512 tokens差不多快。這個效率提升主要歸功於Flash Attention 2和unpadding技術。
論文信息
mmBERT: A Modern Multilingual Encoder with Annealed Language Learning
https://avoid.overfit.cn/post/a951525907cd4461aff511858297416e
作者:Ritvik Rastogi