MoE 與密集模型大比較:Nemotron 3.5 Lightning 只激活 3 B 參數的祕密
在大型語言模型的設計裡,參數的組織方式 與 參數總量 同樣重要。Nemotron 3.5 Lightning 以 30 B 參數的規模,卻能在每一次 token 處理時只動用約 3 B 參數,這背後的關鍵正是 Mixture‑of‑Experts(MoE) 架構。本文將說明 MoE 與傳統密集(Dense)模型的差異、各自的優缺點,以及在實務部署時的考量。
何謂密集模型與 MoE 模型?
- 密集模型:所有參數在每一次前向傳播(forward pass)都會被激活。舉例來說,一個 27 B 的密集模型在處理單一 token 時,會讓全部 27 B 參數同時通過同一個共享的前饋網路(Feed‑Forward Network,簡稱 FFN)層。
- MoE 模型:在每一層的 FFN 位置放入多個「專家」網路(expert),再透過 路由器(router) 這個學習得到的門控網路,為每個 token 挑選出前 k 名得分最高的專家。只有被選中的少數專家會被執行,其餘則被跳過。
可以把兩者想像成同排量的引擎:密集模型等同於每個氣缸在每個循環都點火;MoE 則只點燃當前需要的氣缸,省下能源與計算資源。
MoE 的運作細節
-
多專家 FFN:在每個解碼層(decoder layer)中,密集模型只有一個 FFN;MoE 則可能擁有 8、64 或 128 個 FFN,稱為「專家」。
-
路由決策:路由器根據 token 的特徵計算分數,選出 top‑k 專家(常見的 k 為 2 或 4)。這個決策在每一層都會重新計算,意味著 token 在不同層可能被送往不同的專家。
-
共享專家:許多現代 MoE(如 Mistral Small 4)還會保留一個「共享」專家,所有 token 都會經過,確保基礎能力不被遺漏。
-
注意力機制不變:路由只影響 FFN 部分,token 仍然會完整通過注意力(attention)與嵌入(embedding)層,這也是為什麼模型卡上會寫「3 B active parameters」時,同時包括了注意力與嵌入的權重。
為何選擇 MoE?
- 容量與吞吐量:在記憶體與服務複雜度可接受的前提下,MoE 能以較少的活躍參數提供接近或超過同等規模密集模型的表現。
- 部署彈性:密集模型部署較為簡單、預測性強;MoE 則需要額外的路由計算與專家分配機制,對硬體與系統設計要求更高。
- 成本考量:若 GPU 記憶體受限,MoE 的「只激活部分參數」特性可減少每次推論所需的記憶體佔用,降低硬體成本。
未來展望與讀者啟示
隨著模型規模持續突破百億參數大關,如何在不犧牲效能的情況下降低運算與記憶體需求 成為關鍵課題。MoE 提供了一條可行的路徑:透過動態路由,只在需要時喚醒專家,讓大模型的「潛在容量」得以被有效利用。
對於企業與開發者而言,選擇密集模型或 MoE 應根據 部署環境(如 GPU 記憶體、推論延遲容忍度)與 服務複雜度(是否能接受路由器的額外管理)來決定。Nemotron 3.5 Lightning 的成功案例顯示,當資源允許時,MoE 能以「激活 3 B 參數」的方式,發揮 30 B 規模模型的潛在力量,為未來的大模型應用提供了重要參考。