Top-1 路由(Top-1 Routing)
3 秒看懂
一句話: 在混合專家模型(MoE)中,每個 token 只被分配到 一個 專家網路計算——用最少的專家啟用換取最大的模型容量擴充套件。Google 的 Switch Transformer 是這一策略的標誌性實踐。
3 分鐘產業解釋
為什麼需要 Top-1 路由?
大型模型的訓練與推論成本隨引數量線性增長。MoE(Mixture-of-Experts)的核心思想是:模型總引數可以很大,但每次前向傳播只啟用其中一小部分。Top-1 路由是實現這一目標的最激進策略——每個 token 僅啟用 1 個專家,理論上將專家部分的計算量壓縮到總專家的 1/N(N 為專家總數)。
產業位置
稠密模型 (Dense) → 全引數啟用,算力成本高
↓
MoE + Top-2 路由 → 每 token 啟用 2 個專家(如 GShard、Mixtral)
↓
MoE + Top-1 路由 → 每 token 啟用 1 個專家(如 Switch Transformer)
→ 推論效率最高,但對路由質量、負載均衡的要求最苛刻
在實際產業鏈中,Top-1 路由影響的是 模型架構層:它決定了算力利用率、通訊開銷(All-to-All dispatch)和視訊記憶體佔用模式。對下游推論服務商而言,Top-1 意味著更低的單 token 推論 FLOPs;對晶片設計者而言,它意味著更不規則的計算模式和更頻繁的集合通訊。
15 分鐘專家深入
核心機制
Top-1 路由的完整流程可分解為三步:
① 路由評分(Gating)
對輸入 token 的隱藏狀態 x \in \mathbb{R}^d,通過可學習的門控矩陣 W_g \in \mathbb{R}^{N \times d} 計算各專家的得分:
score = softmax(W_g · x) // N 維機率向量
② Top-1 選擇 取得分最高的專家:
expert_id = argmax(score) // 標量,範圍 [0, N-1]
gate_value = score[expert_id] // 該專家的路由權重
③ 專家計算與輸出
在 Switch Transformer 的實現中,輸出直接為選中專家的原始輸出,不乘以門控機率:
y = Expert[expert_id](x)
這意味著 gate_value 僅用於路由決策(以及輔助損失計算),但不參與專家輸出的加權。其他某些 Top‑1 實現可選擇保留加權步驟(y = gate_value × Expert[expert_id](x)),但 Switch Transformer 明確省略了這一加權,將其視為不必要的額外操作。
負載均衡:Top-1 的命門
Top-1 路由最大的工程挑戰是 負載不均衡。由於每次只選 1 個專家,如果路由策略放任不管,大部分 token 會坍縮到少數”強勢”專家上,導致:
- 部分專家過載(計算瓶頸 + 視訊記憶體峰值)
- 部分專家閒置(模型容量浪費)
解決方案——輔助負載均衡損失(Auxiliary Load-Balancing Loss):
Switch Transformer 中引入的經典形式為:
L_aux = N × Σᵢ (fᵢ × Pᵢ)
其中:
N:專家總數fᵢ:在當前 batch 中被路由到專家 i 的 token 佔比(實際負載分佈)Pᵢ:所有 token 對專家 i 的平均門控機率(期望負載分佈)
該損失項乘以一個超引數係數(通常量級在 10^{-2})後加入主損失函式。其數學本質是讓實際分配比例與門控機率的期望對齊——如果某個專家的門控機率很高但實際分配比例也很高,損失項會比較大,梯度會引導模型更均勻地分配。
路由策略的細微變體
| 變體 | 描述 | 典型出處 |
|---|---|---|
| Token Choice | 每個 token 選擇 Top-K 專家 | 最常見範式 |
| Expert Choice | 每個專家選擇 Top-K token(天然負載均衡) | Zhou et al., 2022 |
| Soft Top-1 | 不硬選 1 個,而是用 softmax 權重加權所有專家(近似稠密) | 部分研究方向 |
| Hash Routing | 用雜湊函式確定性分配,無可學習路由引數 | Roller et al., 2021 |
Top-1 路由嚴格來說屬於 Token Choice, K=1 範式。
技術原理(最深)
MoE 層在 Transformer 中的位置
┌─────────────────────────────────────────┐
│ Transformer Block │
│ │
│ Input x │
│ │ │
│ ▼ │
│ [Self-Attention] │
│ │ │
│ ▼ │
│ [Layer Norm] │
│ │ │
│ ▼ │
│ ┌─────────────────────────────┐ │
│ │ MoE Layer (FFN 替換) │ │
│ │ │ │
│ │ ┌──────────┐ │ │
│ │ │ Gate (Wg)│──→ softmax │ │
│ │ └──────────┘ │ │ │
│ │ ▼ │ │
│ │ argmax → expert_id │ │
│ │ │ │ │
│ │ ┌──┬──┬──┬──┬──┬──┐ │ │
│ │ │E0│E1│E2│E3│..│EN│ │ │
│ │ └──┴──┴↑─┴──┴──┴──┘ │ │
│ │ │ only this one │ │
│ │ │ fires │ │
│ │ ▼ │ │
│ │ y = E_s(x) │ │
│ └─────────────────────────────┘ │
│ │ │
│ ▼ │
│ [Layer Norm + Residual] │
└─────────────────────────────────────────┘
關鍵引數與計算量分析
設模型維度為 d_ff(FFN 中間層維度),專家數為 N,輸入維度為 d_model:
- 單個專家引數量:約
2 × d_model × d_ff(兩層 FFN,忽略 bias) - MoE 層總引數量:約
2 × N × d_model × d_ff + N × d_model(含 Gate 矩陣) - Top-1 實際啟用引數:約
2 × d_model × d_ff + N × d_model(1 個專家 + 整個 Gate 矩陣)
即:引數量膨脹 N 倍,但計算量基本不變(僅增加 Gate 的 O(N×d) 計算和 All-to-All 通訊)。
通訊拓撲
在多裝置並行訓練中,Top-1 路由引入關鍵的集合通訊操作:
Step 1: 本地 Gate 計算 → 每個 token 得到 expert_id
Step 2: All-to-All Dispatch → 將 token 傳送到對應專家所在的裝置
Step 3: 專家 FFN 計算
Step 4: All-to-All Combine → 將計算結果發回原始裝置
All-to-All 是 MoE 路由通訊的核心原語。與 Megatron 張量並行中的 AllReduce 不同,All-to-All 是將資料按路由結果重新分配到不同裝置,通訊模式更不規則。
在 Top-1 vs Top-2 的對比中:
- Top-1:每個 token 傳送 1 次,通訊量更小
- Top-2:每個 token 傳送 2 次,通訊量翻倍,且需要額外的加權合併邏輯
路由坍縮的數學直覺
假設 N 個專家的初始權重接近,softmax 輸出接近均勻分佈 $1/N$。但由於初始化微小差異和梯度反饋的正反饋效應:
初始: P(Ei) ≈ 1/N for all i
↓ 訓練若干 step
P(E0) 略高 → E0 獲得更多梯度更新 → E0 權重更優
↓ 正反饋迴圈
P(E0) >> 1/N → 絕大部分 token 湧入 E0
↓ 結果
N-1 個專家近乎廢棄,模型等效退化為稠密小模型
這就是為什麼負載均衡損失不是”錦上添花”,而是 Top-1 路由能用的前提條件。
Token Dropping
Top-1 路由中還有一個工程細節:當某個專家的 buffer 已滿(容量因子 capacity factor 的限制),多餘的 token 會被 丟棄(token dropping),直接通過殘差連線跳過該 MoE 層。Switch Transformer 論文中提到,在合適的容量因子下(通常 1.0~1.5),token dropping 率可以很低,但容量因子過大會導致視訊記憶體浪費。
capacity_per_expert = capacity_factor × (total_tokens / N)
// 如果某專家接收的 token 數 > capacity_per_expert
// 多餘的 token 被丟棄(不經過該專家)
技術演進史
| 時間 | 里程碑 | 路由策略 | 關鍵創新 |
|---|---|---|---|
| 2017 | Sparsely-Gated MoE Layer (Shazeer et al., Google) | Top-K(通常 K=2) | 首次在 LSTM 時代引入稀疏 MoE,證明稀疏擴充套件可行性 |
| 2020 | GShard (Lepikhin et al., Google) | Top-2 | 將 MoE 擴充套件到 6000 億引數,引入容量因子、輔助損失等工程手段 |
| 2021 | Switch Transformer (Fedus et al., Google) | Top-1 | 首次證明 Top-1 路由在簡化 MoE 的同時效能可比 Top-2,1.6T 引數 |
| 2022 | ST-MoE (Zoph et al., Google) | Top-2(Top-1 僅作為對比) | 系統性研究 MoE 的穩定性與路由設計,主要工作基於 Top-2 路由 |
| 2022 | Expert Choice Routing (Zhou et al.) | Expert Choice | 從”token 選專家”翻轉為”專家選 token”,天然均衡 |
| 2023 | Mixtral 8x7B (Mistral AI) | Top-2 | 開源 MoE 大型模型,啟用引數約 13B/47B,推動 MoE 民主化 |
| 2024 | DeepSeek-V2/V3 | Top-K + 共享專家 | 引入共享專家(shared expert)承載通用知識,路由專家承載特化知識 |
趨勢判斷: 純 Top-1 路由在產業界逐漸被更復雜的路由策略取代(如 Top-K + 共享專家),但 Top-1 的”極簡啟用”思想仍是 MoE 設計的基線參考。
技術路線對比
| 維度 | Top-1 路由 | Top-2 路由 | Expert Choice | Soft MoE(全部專家加權) |
|---|---|---|---|---|
| 每 token 啟用專家數 | 1 | 2 | 大於 1(一個 token 可被多個專家選中,取決於 K 與專家總數) | 所有(近似稠密) |
| 計算效率 | ★★★★★ | ★★★★ | ★★★★★ | ★★ |
| 負載均衡難度 | 高(需輔助損失) | 中 | 天然均衡 | 無(全參與) |
| 通訊開銷 | 低 | 中(2×) | 中 | 高(N×) |
| 模型質量 | 略低於 Top-2 | 基線 | 與 Top-2 可比 | 最高(但計算代價也最高) |
| 實現複雜度 | 低 | 中 | 中 | 高 |
| Token Dropping 風險 | 高 | 中 | 低 | 無 |
| 代表模型 | Switch Transformer | GShard, Mixtral | Zhou et al. 2022 | Pu et al. 2023 |
關鍵取捨: Top-1 在推論端最有吸引力——最少的專家啟用意味著最低的計算延遲和視訊記憶體峰值。但在訓練端,其對負載均衡的苛刻要求和更高的 token dropping 風險使其除錯成本上升。
上下游
上游依賴
| 層級 | 要素 | 說明 |
|---|---|---|
| 演算法層 | 門控網路設計 | Softmax/Sigmoid/線性層的組合 |
| 架構層 | All-to-All 通訊 | PyTorch DTensor、MegaBlocks、GShard 等架構的 MoE 支援 |
| 硬體層 | 高頻寬互聯 | NVLink/NVSwitch 的 All-to-All 吞吐直接制約 MoE 效率 |
| 系統層 | 容量因子 & 排程器 | 控制 token batching、buffer 大小、負載均衡超參 |
下游影響
| 受影響方向 | 影響機制 |
|---|---|
| 推論系統 | 需要高效的 Expert Offloading / Prefetching(稀疏訪問模式) |
| 晶片設計 | 儲存訪問模式不規則,對快取和片上網路提出更高要求 |
| 訓練架構 | 需要支援動態路由的分散式訓練架構(Expert Parallelism) |
| 模型壓縮 | MoE 的稀疏性天然適合剪枝未啟用專家 |
關鍵指標
| 指標 | 含義 | Top-1 典型值域 |
|---|---|---|
| 啟用率 | 每 token 啟用的專家佔比 | 1/N(如 N=128 則 ~0.8%) |
| 負載均衡度 | 各專家接收 token 的方差 | 越低越好,輔助損失可將標準差控制在合理範圍 |
| Token Dropping Rate | 被丟棄(未經過任何專家)的 token 比例 | 容量因子 1.2 時通常較低;設為 1.0 時風險更高 [Switch Transformer 論文] |
| 路由熵 | 門控機率分佈的資訊熵 | 高熵 → 分散路由(期望);低熵 → 路由坍縮(異常) |
| All-to-All 通訊量 | MoE 引入的額外通訊開銷 | 取決於專家並行度和 token 數量,通常為 O(batch_size × d_model) |
| 輔助損失係數 | 負載均衡損失的權重 | 典型範圍 10^{-3} ~ 10^{-1} [定性描述,因模型而異] |
供需與市場資料
MoE 模型的產業滲透
- 採用 Top-1 或其變體的代表性模型:Switch Transformer(Google);部分內部 MoE 模型 [具體歸屬未充分揭露]
- 採用 Top-2 的代表性模型:Mixtral 8x7B / 8x22B(Mistral AI)、GShard(Google)
- 採用混合策略的模型:DeepSeek-V2/V3(共享專家 + Top-K 路由專家,K 值 ≥ 6 [DeepSeek 技術報告])
算力影響估算
MoE(無論 Top-1 還是 Top-2)對算力市場的影響體現在:
- 訓練側:總 FLOPs 與稠密模型可比(因為每次前向只啟用部分引數),但通訊開銷更大,且需要更多視訊記憶體儲存全部專家引數 → 需要更大視訊記憶體頻寬的 GPU/加速器
- 推論側:啟用引數遠小於總引數 → 推論 FLOPs 低於等引數稠密模型,但 All-to-All 通訊和視訊記憶體載入全部專家引數是瓶頸
具體市場數字因模型規模和部署規模差異巨大,暫無統一公開資料。[未充分揭露]
代表公司與資本對映
| 公司/機構 | 與 Top-1 路由 / MoE 的關係 | 資本標的邏輯 |
|---|---|---|
| Switch Transformer 發明者,MoE 路由研究先驅 | TPU 生態受益於 MoE 的高效訓練 | |
| Mistral AI | Mixtral 8x7B 採用 Top-2 路由,推動開源 MoE | MoE 模型商業化先驅 |
| DeepSeek (幻方) | DeepSeek-V2/V3 使用混合路由策略(共享專家 + Top-K) | 證明 MoE 在國產算力生態的可行性 |
| Meta | 內部多個 MoE 專案(具體路由策略未充分揭露) | PyTorch + 開源 MoE 架構的推動者 |
| NVIDIA | NVLink/NVSwitch 的 All-to-All 效能直接影響 MoE 訓練效率 | 高頻寬互聯是 MoE 訓練的硬體基座 |
| MegaBlocks (Databricks) | 提供高效的 MoE 訓練核心 | MoE 訓練架構的開源基礎設施 |
投資邏輯
看多邏輯
- MoE 是大型模型擴充套件的主流方向之一:從 DeepSeek-V3 到 Mixtral,MoE 路線已證明可行性。Top-1/Top-K 路由是 MoE 的核心演算法元件。
- 推論成本敏感:MoE 的稀疏啟用天然降低推論 FLOPs,在成本敏感的部署場景(如大規模 API 服務)有結構性優勢。
- 晶片機會:MoE 的 All-to-All 通訊模式和不規則訪存對互聯頻寬和視訊記憶體容量提出更高要求,利好高階 GPU 和高頻寬互聯方案。
風險 / 看空邏輯
- 路由設計仍在快速迭代:Top-1 → Top-2 → 共享專家 + 路由專家,技術路線未收斂,單一方案的投資視窗可能短暫。
- 工程複雜度高:MoE 的訓練調參難度顯著高於稠密模型,負載均衡、token dropping、路由坍縮等問題增加研發風險。
- Dense 模型持續進步:如 Llama 系列稠密模型在推論最佳化(如 KV Cache 量化、Speculative Decoding)方面的進展可能削弱 MoE 的成本優勢。
產業鏈關鍵觀察點
- MoE 模型在開源社群的採用率趨勢
- All-to-All 通訊效率的硬體/軟體改進
- 共享專家 + 路由專家的混合方案是否成為新標準
常見誤讀糾偏
❌ 誤讀 1:「Top-1 路由意味著 MoE 模型推論時只用了 1/N 的引數,所以計算量是稠密模型的 1/N」
糾偏: Top-1 路由只縮減了 專家 FFN 部分 的計算量。Transformer 中的 Self-Attention 層、LayerNorm、Embedding、LM Head 等是所有 token 共享的稠密計算,不受 MoE 稀疏化影響。實際推論 FLOPs 的節省比例取決於 MoE 層在總計算量中的佔比。對於典型 Transformer 架構,FFN 部分約佔總計算量的 2/3,因此推論 FLOPs 的實際節省比例約為 2/3 × (1 - 1/N),並非簡單的 1/N。
❌ 誤讀 2:「Top-1 路由比 Top-2 路由差,因為資訊利用不充分」
糾偏: Switch Transformer 論文的實驗表明,在合理設定容量因子和負載均衡損失的前提下,Top-1 路由的下游任務效能與 Top-2 路由非常接近,但訓練效率更高(更少的專家計算、更少的通訊)。Top-1 並非”劣化版 Top-2”,而是在 效率-質量帕累托前沿 上的一個有競爭力的點。不過,後續工作(如 Mixtral、DeepSeek)選擇 Top-K (K>1) 或混合策略,一定程度上說明純 Top-1 在超大規模模型中的能力天花板可能較低。
❌ 誤讀 3:「All-to-All 通訊是 Top-1 路由特有的問題」
糾偏: All-to-All 是 所有基於 Expert Parallelism 的 MoE 模型 共有的通訊原語,無論路由策略是 Top-1、Top-2 還是 Expert Choice。區別在於 Top-1 每個 token 只發送到 1 個專家,All-to-All 的資料量相對更小;Top-2 需要傳送到 2 個專家,資料量翻倍。
學習路徑
入門(2-4 小時)
- 閱讀:Shazeer et al., “Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer” (2017)——理解 MoE 的基本概念
- 閱讀:Hugging Face Blog, “Mixture of Experts Explained”——直觀理解路由機制
- 執行一個小型 MoE demo(如 Hugging Face Transformers 中的 Mixtral 推論)
進階(1-2 天)
- 精讀:Fedus et al., “Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity” (2021)——Top-1 路由的完整闡述
- 對比閱讀:Lepikhin et al., “GShard: Scaling Giant Models with Conditional Computation” (2020)——理解 Top-2 路由的設計差異
- 閱讀:Zhou et al., “Mixture-of-Experts with Expert Choice Routing” (2022)——理解路由範式的創新方向
專家級(1-2 周)
- 閱讀:Zoph et al., “ST-MoE: Designing Stable and Transferable Sparse Expert Models” (2022)——工程實踐深度
- 研讀 DeepSeek-V2/V3 技術報告中關於路由策略的部分
- 在 MegaBlocks 或 FairScale 架構中實現 Top-1 MoE 訓練,親身體驗負載均衡調參
一句話總結
Top-1 路由是 MoE 模型中最簡潔的稀疏啟用策略——每個 token 僅啟用一個專家,用最小的計算代價撬動最大的引數容量擴充套件,其工程可行性的關鍵在於負載均衡機制的設計質量。
延伸閱讀與來源
| 來源 | 說明 |
|---|---|
| Fedus et al., “Switch Transformers” (2021), JMLR | Top-1 路由的奠基論文 [論文原文] |
| Shazeer et al., “Sparsely-Gated MoE Layer” (2017), ICLR | MoE 在深度學習中的開創性工作 [論文原文] |
| Lepikhin et al., “GShard” (2020) | Top-2 路由、容量因子等關鍵工程手段 [論文原文] |
| Zhou et al., “Expert Choice Routing” (2022), NeurIPS | 路由範式翻轉 [論文原文] |
| DeepSeek-V2 Technical Report, DeepSeek AI (2024) | 共享專家 + 路由專家的混合策略 [廠商技術報告] |
| Mixtral of Experts, Mistral AI (2024) | 開源 Top-2 MoE 模型 [廠商技術報告] |
| Zoph et al., “ST-MoE” (2022) | MoE 訓練穩定性與工程最佳實踐 [論文原文] |
| Hugging Face, “Mixture of Experts Explained” | 社群教程,入門友好 [社群文件] |
標註說明: 本文中未標註具體數值的引數範圍、閾值均為定性描述或基於公開論文的一般性總結,具體數字因模型規模、訓練配置和硬體環境而異。市場相關資料以各公司財報及公開揭露為準。