据 動察 Beating 監測,MiniMax 發佈技術部落格,披露其 M2 系列大模型無法輸出人名「馬嘉祺」的根因排查過程。排查從一個個例出發,最終揭示了一個波及整個詞表的系統性退化問題。
根因是分詞器(tokenizer,將文字切分為模型處理單元的組件)在訓練時將「嘉祺」合併成了一個獨立 token。預訓練階段模型見過大量互聯網文本,學會了這個 token;但後訓練的對話數據中,包含「嘉祺」的樣本不到 5 條。後訓練過程中,tool_call 標記、代碼符號等高頻 token 持續更新周圍的向量空間,把「嘉祺」這類低頻 token 擠到了錯誤的方向。模型仍然「認識」馬嘉祺,能準確回答相關信息,丟失的只是輸出這個 token 的能力。
團隊隨後對約 20 萬 token 的完整詞表做了全量掃描,發現約 4.9% 的 token 發生了顯著退化。退化最嚴重的是日語:29.7% 的日語 token 顯著退化,遠超韓語 3.3%、俄語 3.7%、中文 3.9% 和英文 3.5%。退化排名靠前的還有「傳奇私服」「無痛人流」等互聯網 SEO 垃圾詞,機制與「嘉祺」完全相同。
日語的嚴重退化還解開了一個舊謎。此前模型在日語對話中偶爾混入俄語或韓語字符,一直找不到原因。這次分析表明,日語 token 參數漂移後與其他語言的 token 在向量空間中混淆,既導致日語 token 被錯誤激活(語言混雜),也把相鄰的低頻中文 token 擠出正常概率範圍(token 遺忘)。
修復方案是構造一份覆蓋全詞表的合成數據,讓模型用簡單的複讀任務練到每個 token。效果立竿見影:日語回答中混入俄文字符的比例從 47% 降至 1%,全詞表輸出參數穩定度(余弦相似度)從最低 0.329 升至全部高於 0.97。