混合專家模型
3秒看懂
- 核心思想:把一個龐大的神經網路拆成多個“專家”子網路,每個輸入樣本只啟用其中少數幾個專家,從而以遠小於模型總引數量的計算代價,獲得巨大的模型容量。
- 與密集模型的關係:MoE 並非獨立模型結構,而是一種稀疏啟用的算力倍增器。它通常嵌入 Transformer 的 FFN 層,使模型總引數量可達同計算量密集模型的數倍乃至數十倍,但每個 token 的浮點運算量(FLOPs)僅溫和增加。
- 關鍵技術權衡:稀疏啟用天然帶來負載均衡、通訊開銷、訓練穩定性三大挑戰。門控網路的決策質量直接決定專家利用效率和最終模型效能。
- 產業訊號:MoE 已成為萬億引數大型模型的主流實現路徑(如 Google 的 Switch Transformer、國內的 DeepSeek-MoE 等)。在算力約束趨緊的背景下,它被看作打破“Scaling Law 成本牆”的重要架構級突破。
3分鐘產業解釋
定義與基本機制
混合專家模型本質上是一種條件計算架構。它由兩部分組成:
- 多個並行的“專家”網路,通常結構相同(如前饋網路),但引數獨立。
- 一個可訓練的門控網路,負責為每個輸入 token 選擇最合適的 Top-k 個專家(k 通常為 1 或 2,遠小於專家總數 N)。
數學上,對於輸入向量 x,輸出為:
y = \sum_{i=1}^{N} G(x)_i \cdot E_i(x)
其中 G(x) 是門控權重(常通過 softmax 後取 top-k 並置零其餘實現稀疏化),E_i(x) 是專家 i 的輸出。若某個專家未被選中,其計算壓根不發生,從而實現條件式計算。
為什麼產業界重燃熱情?
- 突破密集擴充套件的邊際效用遞減:單純堆疊更多層或更寬隱藏維度,每單位算力帶來的效能增益越來越低。MoE 允許模型引數量快速增長(總引數),卻不線性增加每次前向的計算量。
- 解決大型模型部署與訓練的雙重矛盾:訓練時,巨大的總引數量需要大規模分散式叢集,但浮點運算量相對可控;推論時,雖然所有專家必須駐留在高速記憶體(如 HBM)中,但實際執行的計算量只關乎啟用專家,這給予推論最佳化空間(如專家並行、專家快取)。
- 硬體趨勢適配:AI 加速器的高頻寬記憶體容量增長相對算力增速滯後,MoE 是典型的“用記憶體換計算”策略,契合當下硬體特徵。
典型應用場景
- 超大規模語言模型:將密集 Transformer 的 FFN 層替換為 MoE 層,總引數從千億躍升至萬億級別,同時在相同訓練計算預算下獲得更優的困惑度。
- 多工學習:不同專家可自然承接不同型別任務的知識分化,無需顯式任務標識。
- 多模態模型:視覺、語言、音訊等不同模態可由不同專家處理,門控實現跨模態路由。
- 邊緣/端側推論的潛在可能性:通過只加載部分專家到本地,實現大型模型的小型化部署(仍處於研究早期)。
15分鐘專家深入
架構核心元件精細化拆解
專家層設計
- 專家粒度:常見選擇是每個專家為一個獨立的前饋子網路(2 層全連線,中間帶啟用函式)。也有工作將專家設為整個 Transformer 層或更細粒度的操作,但目前工程實現以 FFN 級專家 為主,因其在通訊和計算間達到較好平衡。
- 專家數量:從早期的 8、16 個,發展至數千甚至百萬個(如 Google 的 Pathways 設想)。數量增加會放大負載均衡問題,但能使總容量的擴充套件更具彈性。
門控機制
- 稀疏門控:核心演算法是 Top-k 選擇 + 負載均衡輔損傷。門控網路計算一個 logits 向量(維度 N),經 softmax 後用
top_k保留最大 k 個值,其餘置零。為避免退化為“只有少數專家被反覆使用”,通常會引入輔助損失(如 Switch Transformer 的 load balancing loss)或使用噪聲擾動。 - 容量因子:每個專家處理 token 數的上限。超限 token 會“溢位”丟棄或被路由到下一層。容量因子是一個關鍵超參,取值過高浪費算力,過低則導致 token 丟棄和訓練不穩定。
- 離散決策的梯度估計:top-k 操作不可導。當前主流方法使用直通估計器(Straight-Through Estimator)傳遞梯度;早期也曾探索基於強化學習的策略梯度,但已不是標準技術。
並行訓練與通訊模式
這是 MoE 工程落地的真正難點。
- 專家並行:將不同專家放置在不同裝置上。所有裝置的輸入 token 需先執行 All-to-All 通訊,將 token 路由到對應專家所在的裝置;計算完成後,再通過 All-to-All 將輸出傳回原裝置,繼續後續的 Transformer 操作(如自注意力)。
- 資料並行與模型並行的混合:非 MoE 層(如注意力層)採用傳統的資料並行或張量並行(Megatron 方式,核心通訊原語為 AllReduce/ReduceScatter),而 MoE 層使用專家並行(通訊原語為 All-to-All)。這種異構並行模式對網路拓撲、頻寬和延遲提出嚴苛要求。
- 通訊量估算:每次 MoE 層的前向後向涉及一次或兩次 All-to-All,通訊量與 token 數目、每個 token 的隱藏維度、top-k 及裝置數相關。巨大的 cross-device 通訊是大規模 MoE 訓練的主要瓶頸之一。
訓練穩定性挑戰與對策
- 負載失衡:初期門控可能坍塌到少數專家。方案包括:輔助損失、專家容量硬約束、重新初始化策略、基於雜湊的隨機路由(如 Hash Layers)。
- 訓練不穩定與損失尖峰:稀疏啟用導致梯度方差增大,且不同專家接收到的 token 子集分佈可能劇烈漂移。解決方法包括:精度提升(混合精度 FP32 輔助)、更保守的學習率設定、Z-loss 等正則化。
- 泛化與過擬合:每個專家看到的訓練資料量僅為總資料的 1/有效專家數,可能產生各自過擬合。適當的 dropout 和專家丟棄(Expert Dropout)策略被用來緩解。
技術原理
從數學到硬體的全鏈路對映
步驟 1:路由決策生成
輸入: h [batch, seq, d_model]
門控權重: W_g [d_model, num_experts]
gates = h @ W_g # [batch, seq, num_experts]
gates_softmax = softmax(gates, dim=-1)
topk_weights, topk_indices = topk_mask(gates_softmax, k=2) # 稀疏化
步驟 2:專家計算(以 FFN 為例) 對於專家 i:
expert_i_input = gather tokens routed to i
y_i = GeLU( expert_i_input @ W1_i ) @ W2_i
步驟 3:輸出加權合併
output = sum( topk_weights[j] * expert_output[j] for j in 0..k-1 )
通訊模式圖解(以 4 專家跨 2 裝置為例,top-1)
裝置A (專家0,1) 裝置B (專家2,3)
Token流: [T0,T1,T2] [T3,T4,T5]
門控選擇: T0→專0, T1→專2, T2→專1, T3→專3, T4→專0, T5→專2
All-to-All Send:
A 將 T1(去專2) 傳送給 B
B 將 T4(去專0) 傳送給 A
本地計算:
A 處理 T0(專0), T2(專1), T4(專0)
B 處理 T1(專2), T3(專3), T5(專2)
All-to-All Receive:
B 將 T1 的輸出返回 A,A 將 T4 的輸出返回 B
A 最終輸出: 按順序組合 [out_T0, out_T1, out_T2]
B 最終輸出: 按順序組合 [out_T3, out_T4, out_T5](實際需重排)
此過程每層 MoE 均發生,通訊量級約為 O(batch \times seq \times d_{model})。
關鍵引數影響機制
- k 值:增大 k 可提升模型質量(更多專家參與聚合),但計算與通訊量線性增加,並可能加劇單個 token 過度耦合不同專家的知識,降低專業化程度。典型值為 1 或 2。
- 專家數量 N:增大 N 可線性擴大總引數規模,但廣播門控 logits 的開銷、負載均衡難度、記憶體佔用(每個新專家需儲存引數)同步增加。N 的極限受叢集總 HBM 容量約束。
- 專家隱藏維度:通常設專家 FFN 的中間層維度與密集模型 FFN 一致,以保證專家內部計算量可控。也有工作縮小專家維度(更細粒度),降低單裝置計算壓力。
技術演進史
- 1991 年,原始概念提出:Jacobs 等人在論文《Adaptive Mixtures of Local Experts》中提出,通過分治策略讓不同網路學習不同資料子空間,使用 EM 演算法訓練門控。當時主要用於小規模監督學習。
- 2017 年,稀疏門控 MoE 升級:Google Brain 發表《Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer》,將 MoE 引入 LSTM 語言模型,並首次將專家數提升至數萬級別,在翻譯任務上取得突破。提出關鍵技術的噪聲擾動門控和輔助負載損失。
- 2020 年,GShard 將 MoE 帶入 Transformer 時代:Google 釋出 GShard,將 MoE 用於多語言機器翻譯 Transformer,模型總引數達 600B。報告了在大規模 TPU 叢集上的 All-to-All 通訊實現細節。
- 2021 年,Switch Transformer 簡化路由:Google 提出 top-1 路由(即 k=1),大幅簡化計算和通訊,訓練出高達 1.6T 引數的模型,在保持精度的同時顯著提高了訓練吞吐量。成為萬卡級 MoE 訓練的標杆。
- 2021 年,GLaM 關注效率:Google 用 1.2T 總引數的 MoE 模型(啟用引數約 96B),在零樣本/少樣本任務上媲美甚至超越密集的 GPT-3,同時使用更少的訓練能耗。
- 2022-2023 年,開源社群崛起:基於 MoE 的稀疏模型進入大眾視野。HuggingFace 相關的開源庫開始支援專家並行;Mistral 於 2023 年底推出 Mixtral 8x7B,以總引數量 46.7B、每個 token 啟用 12.9B 的配置在多項基準上超越同量級密集模型,徹底引爆開源界對 MoE 的探索熱情。
- 2024 年至今,精細化與高擴充套件:DeepSeek-MoE 提出細粒度專家分割和共享專家機制;Qwen 等模型相繼採用 MoE 架構並開源;業界聚焦於無限專家路由、專家增量熱更新、多模態與 Agent 場景下 MoE 的動態特性。同時,硬體廠商開始針對 All-to-All 最佳化交換網路(如 NVLink Switch)。
技術路線對比
| 維度 | 密集 Transformer | 傳統 MoE (GShard/Switch) | 細粒度 MoE (DeepSeek) | 未來方向 |
|---|---|---|---|---|
| 專家細粒度 | 無專家,整個 FFN 為整體 | 一個專家 = 一個標準的 FFN | 一個專家 = 更小的“頭”或部分神經元 | 動態專家尺寸,基於輸入複雜度 |
| 路由策略 | 無 | Top-1 或 Top-2,全 token 參與 | Top-k + 共享專家(始終啟用) | 可微分路由、基於內容雜湊 |
| 負載均衡 | 天然均衡 | 強輔助損失、容量因子 | 專家級均衡損失 + 分組限制 | 專家級自適應負載感知路由 |
| 訓練通訊 | AllReduce/ReduceScatter | All-to-All + 資料並行 | 同前,但專家更小可減少對等通訊 | 層次化 All-to-All、流式通訊 |
| 總引數/啟用引數 | 1:1 | 5:1 至 100:1 | 10:1 至 100:1(更靈活) | 按需定義 |
| 推論部署 | 單裝置或多卡簡單分割 | 需大視訊記憶體載入所有專家,但計算密度低 | 相同,但可設計部分專家本地部署 | 分片載入、按需調取專家 |
| 代表實現 | GPT-3, Llama | Switch Transformer, GLaM, Mixtral | DeepSeek-MoE 16B | Pathways, 無邊界 MoE |
說明:表中數字比例均為典型區間,非特定型號的精確值。
上下游
上游:支撐 MoE 的技術棧
- 硬體網路與互聯:All-to-All 是 MoE 的通訊核心,對 GPU/TPU 間高頻寬低延遲互聯提出剛需。NVLink、NVSwitch、InfiniBand、PCIe 5.0/6.0 的發展直接影響 MoE 訓練規模上限。交換器級的拓撲最佳化(如 Dragonfly、Torus)成為資料中心設計的關鍵。
- 平行計算架構:DeepSpeed-MoE、Megatron-LM、Alpa、FlexFlow 等架構必須支援異構並行(資料+模型+專家)和動態路由。ZeRO 最佳化的專家分片技術降低了單裝置記憶體佔用。
- 高速儲存與記憶體:所有專家引數需常駐 GPU HBM。對上千億引數的 MoE 模型,需要數千 GB 的 HBM 總容量,這推動了 HBM 代際演進(HBM2e→HBM3→HBM3e)及封裝方案(CoWoS)的產能需求。
- 編譯器與運算元庫:高效的自定義 All-to-All 運算元、稀疏矩陣乘法(SpMM)、批次 GEMM 融合等對利用硬體算力至關重要。NV 的 NCCL、Google 的 TPU 軟體棧都對此做了大量最佳化。
下游:受益場景與產品形態
- LLM 訓練與推論服務:提供 API 的各大型模型廠商(OpenAI、Anthropic、Google、DeepSeek、Mistral 等)的內部超大規模模型幾乎都採用了或探索了 MoE。MoE 架構允許以更低的每 token 推論成本服務超大型模型。
- 端側模型:受限裝置希望通過部分專家載入實現“小而強”,但目前受限於動態路由的即時性,成熟產品較少。
- 推薦系統和廣告預估:稀疏輸入特徵天然適合 MoE 的多專家異構處理,工業界(如 Google 廣告)早已深度使用。
- 自動駕駛感知:融合不同感測器的專家可被動態路由,增強多場景適應性。
關鍵指標
- 總引數量:模型中所有引數的總和。衡量儲存和記憶體需求的硬指標,結合稀疏係數決定硬體配置。單位:B (十億) / T (萬億)。
- 啟用引數量:處理單個 token 時實際被啟用的引數數量。直接關聯推論延遲和單次前向的計算量。通常等於總引數/專家總數 × k + 共享層引數。
- 專家數量 (N) 與 Top-k:N 越大,容量天花板越高,但負載均衡和記憶體壓力遞增。k 影響精度與效率的平衡,k=1 時計算最省。
- 容量因子 (Capacity Factor):專家處理的 token 上限 / 平均負載。典型值 1.25~2.0。<1 會導致 token 丟棄(影響精度),>2 浪費算力。是調節訓練穩定性的關鍵旋鈕。
- 路由均衡度:專家被選中的頻次分佈的熵或歸一化標準差。理想情況接近均勻分佈,避免出現“死專家”或過載專家。
- 每 token FLOPs:與同維度密集模型相比,MoE 通常增加 10%~30%(因額外門控和 All-to-All 通訊),但可通過減少隱藏維度抵消。
- All-to-All 頻寬利用率與通訊佔比:在大規模訓練中,通訊時間可能佔到總步進的 30%~50%,直接影響 MFU(模型浮點運算利用率)。
供需與市場資料
- 算力需求趨勢:根據公開資料[行業報告],2024 年訓練一個 1.6T 引數 MoE 模型的計算量約 10^23 FLOPs,所需 GPU 時間可達數百萬 GPU·小時。推論側,MoE 模型因其巨大的總引數,對 GPU 視訊記憶體提出了 3~10 倍於同級別密集模型的要求,使得 80GB HBM 的 GPU 成為標配,並刺激了 HBM 和高頻寬互聯的採購熱潮。
- 硬體市場對映:高階 GPU(NVIDIA H100/H200、AMD MI300X)因 MoE 推論需求而供不應求;同時,NVLink Switch 等專用互聯晶片出貨量快速增長。三星、SK 海力士的 HBM3E 訂單持續增長,直接受益於 MoE 驅動的大容量視訊記憶體需求。
- 供給制約:CoWoS 先進封裝產能是當前 AI 加速器及互聯晶片的主要瓶頸[供應鏈估算],而這類封裝恰是大算力、大視訊記憶體晶片的基石。MoE 的火爆變相加劇了先進封裝和 HBM 的供需緊張。
- 模型生態資料:2023 年下半年以來,HuggingFace 上 MoE 架構模型的上傳量年增率增長超過 5 倍,基於 MoE 的微調、量化專案佔比顯著提升[社群估算]。
代表公司與資本對映
- Google / DeepMind:MoE 技術的主要發明者和推動者。從 Sparsely-Gated MoE、GShard、Switch Transformer 到 GLaM,及 Pathways 願景,體現了技術領導力。其 TPU v5p 及網路架構針對 MoE 進行了原生設計。對映:關注 Alphabet 在 AI 基礎設施的資本支出和專有硬體部署。
- Mistral AI:以 Mixtral 8x7B 開源模型引領了 MoE 在中等規模模型上的商業落地。該模型以 Apache 2.0 許可釋出,證明了 MoE 可在較小總引數量下達到優異效能。對映:歐洲 AI 初創明星,融資活躍,已有雲端運算合作伙伴,影響開源生態。
- DeepSeek(深度求索):推出的 DeepSeek-MoE 在架構上創新(細粒度專家+共享專家),相關技術被多款國產模型借鑑。其 V2/V3 模型進一步最佳化構造成本,有望降低長文本、推論等場景的定價。對映:中國本土大型模型企業,引起資本市場對國產 AI 架構創新的重估。
- Meta:雖未主推 MoE 模型,但其開源的 PyTorch、Megatron 等工具集對 MoE 並行訓練至關重要。其研究團隊也發表了大量 MoE 相關的效率最佳化論文。對映:受益於 MoE 生態工具鏈的通用算力需求。
- NVIDIA:硬體收益最明確。為 MoE 最佳化的 Transformer Engine、定製 All-to-All 運算元、強化的 NVLink 和新推出的 Blackwell 平台均顯式瞄準萬億級 MoE 模型的訓練與推論。對映:AI 加速器首選,資料中心業務展望包含大量 MoE 需求。
- 潛在受益方:提供高速互聯解決方案的交換器/光模組廠商;高頻寬記憶體供應鏈(SK hynix、三星、美光);先進封裝裝置與材料鏈。
投資邏輯
- “模型總規模稅”邏輯:MoE 作為當前進入萬億引數俱樂部的幾乎唯一可行架構,其普及必然推高 GPU 叢集的總記憶體容量(HBM)和互聯頻寬需求。因此,HBM 迭代和互聯晶片/交換器可視為 MoE 的“賣鏟人”優選賽道。
- 推論成本結構重塑:MoE 的推論需要所有專家駐留,使得單次查詢的硬體門檻極高,但同時每 token 能耗可能更低。這有利於雲端端大廠建置具有極高算力門檻的 API 服務,強化規模效應。關注能夠提供 MoE 推論叢集全棧方案(算力+網路+儲存)的廠商。
- 技術路線不確定性風險:細粒度/動態路由 MoE 仍處在高速演進期,新架構可能改變通訊模式(如減少 All-to-All 頻次),進而削弱對某些型別互聯硬體的絕對依賴。同時,如狀態空間模型(SSM)等非 Transformer 架構若取得突破,可能稀釋 MoE 的獨佔性。分散投資於多種硬體互聯廠商或模型平台商可降低風險。
- 開源生態的“標準化”紅利:一旦某種 MoE 配置(如 Mixtral 的 8x7B 規格)成為社群事實標準,相關的 GPU 叢集配置、微調工具鏈、邊緣部署方案將形成生態收益。關注深度參與開源 MoE 社群且具有雲端服務能力的公司。
- 成本拐點博弈:當前 MoE 訓練標稱算力成本高昂,但當專家元件化、訓練排程最佳化後,單位智慧的成本可能快速下降,引發應用端的爆發。投資於能將 MoE 模型垂直落地於高價值場景(如程式設計、複雜推論)的團隊。
常見誤讀糾偏
1. 誤讀:“MoE 模型肯定比同規模密集模型更快”
- 糾偏:MoE 的加速僅體現在計算量(FLOPs)上。但由於巨大的總引數量帶來高昂的記憶體佔用和資料搬移開銷,且含有複雜的 All-to-All 通訊,實際的端到端延遲往往更高,尤其在批處理較小或裝置頻寬受限時。MoE 的核心優勢是提高同等算力下的模型質量和總容量,而非絕對提速。推論時若裝置視訊記憶體不足以容納全部專家,還會引發災難性效能劣化。
2. 誤讀:“MoE 架構下,專家會自動形成語義分工”
- 糾偏:研究發現,專家並不總是按人類可解釋的語義(如語法、數學、常識)自然分工。很多時候專家只是學習了對輸入 token ID 或淺層特徵的劃分,甚至會出現“語法專家”和“重複專家”等冗餘。需要精心設計的輔助損失和初始化策略才能引匯出有意義的專業化。認為 MoE 天然就是可解釋的多功能體是不準確的。
3. 誤讀:“多一個專家就多一倍能力”
- 糾偏:增加專家數量增加的是總引數量,但每個專家獲得的訓練 token 數按比例減少,可能出現訓練不充分。此外,新專家的加入改變了原路由分佈,可能打破已有的負載均衡,反而導致模型質量下降。效能的提升需要配套調整容量因子、學習率和專家初始化。
學習路徑
- 入門級論文:閱讀 Jacobs et al. 1991 的《Adaptive Mixtures of Local Experts》瞭解原生思想;接著讀 Sparsely-Gated MoE (2017) 獲取稀疏門控與負載均衡的基礎。
- 大規模訓練實現:深入 GShard (2020) 和 Switch Transformer (2021),重點關注其中的 All-to-All 實現、容量因子和負載均衡損失設計。
- 開原始碼閱讀:克隆 Megatron-LM 的 MoE 分支程式碼,執行一個小型示例;研究 DeepSpeed-MoE 的專家並行訓練指令碼;親手在 HuggingFace Transformers 中載入 Mixtral 並觀察路由模組的權重。
- 前沿動態追蹤:定期檢視近年頂會論文(NeurIPS, ICML, ICLR)關於 MoE 的改進工作,關注細粒度分割、可微分路由和 MoE 在多模態/Agent 中的應用。
- 工程實踐:嘗試用 ColossalAI 或 Alpa 在多 GPU 上訓練一個自定義的小型 MoE 語言模型,調整容量因子、專家數量,觀測負載均衡指標和 loss 曲線。
- 硬核硬體視角:學習 NCCL 的 All-to-All 效能調優文件,瞭解 NVSwitch 拓撲、InfiniBand 自適應路由對 MoE 工作負載的影響,閱讀 CSP 的相關技術部落格。
一句話總結
MoE 是當前突破大型模型擴充套件瓶頸的核心架構創新,它通過稀疏啟用專家網路,實現“用通訊與記憶體換容量”,深刻重塑了從晶片到資料中心的全鏈路技術需求,但其發揮真正威力有賴於硬體、網路、軟體棧的協同最佳化,是一場系統級的博弈。
延伸閱讀與來源
- 經典論文:
- Jacobs, Jordan, Nowlan, & Hinton (1991). Adaptive Mixtures of Local Experts.
- Shazeer et al. (2017). Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer. arXiv:1701.06538.
- Lepikhin et al. (2020). GShard: Scaling Giant Models with Conditional Computation and Automatic Sharding. arXiv:2006.16668.
- Fedus, Zoph, & Shazeer (2021). Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity. arXiv:2101.03961.
- Du et al. (2021). GLaM: Efficient Scaling of Language Models with Mixture-of-Experts. arXiv:2112.06905.
- Jiang et al. (2024). Mixtral of Experts. arXiv:2401.04088.
- Dai et al. (2024). DeepSeek-MoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models. arXiv:2401.06066.
- 架構與程式碼:
- Megatron-LM MoE: https://github.com/NVIDIA/Megatron-LM
- DeepSpeed-MoE: https://www.deepspeed.ai/tutorials/mixture-of-experts/
- HuggingFace 開源 MoE 模型庫: https://huggingface.co/models?other=mixture_of_experts
- 行業報告與部落格(部分市場資料來源自行業估算,未逐一定量標識):各大 AI 晶片廠商的財報會議紀要;獨立分析機構 SemiAnalysis 有關大型模型訓練叢集與 HBM 的公開報告;NVIDIA 開發者部落格 MoE 效能最佳化專題。