模型層 開放閱讀

Top-k 路由

Top-k Routing

概念 ID
top-k-routing
更新時間
2026-05-29
來源數量
待補

Top-k 路由(Top-k Routing)

3 秒看懂

一句話:在稀疏混合專家(MoE)模型中,每個 token 只啟用 k 個專家而非全部,由一個可學習的門控網路決定“誰負責誰”——這就是 Top-k 路由。

類比:醫院分診臺——病人(token)到了,護士(門控網路)看一眼症狀,把病人分配給最對症的 k 位專家醫生,而不是讓所有科室同時會診。

3 分鐘產業解釋

為什麼需要 Top-k 路由?

大型模型的核心矛盾是:引數越多能力越強,但推論/訓練成本線性甚至超線性增長。MoE 架構的核心承諾是——把模型總引數做大,但每次推論只用其中一小部分。Top-k 路由正是實現“稀疏啟用”的排程機制。

產業位置

[模型架構層]
  └── Transformer Block
        ├── Attention
        └── FFN / MoE Layer
              ├── Gate (門控網路) ← Top-k 路由發生在這裡
              ├── Expert_0
              ├── Expert_1
              ├── ...
              └── Expert_N

關鍵產品/模型中的使用情況(據公開論文/技術報告):

模型路由策略k 值專家總數備註
GShard (Google, 2020)Top-k22048早期大規模 MoE
Switch Transformer (Google, 2021)Top-k1128–數千簡化為 Top-1
Mixtral 8×7B (Mistral, 2024)Top-k28小專家數 + Top-2
DeepSeek-V2/V3 (DeepSeek, 2024)Top-kV2: Top-6 + 2 共享;V3: Top-8 + 1 共享256–數百路由專家 + 共享專家混合設計
Qwen-MoE 系列Top-k 變體公開論文中可見可變具體以官方論文為準

⚠️ 上表中 DeepSeek-V3 的具體專家數/啟用專家數以官方技術報告為準,此處為定性描述其“共享專家 + 路由專家”的混合架構特徵。


15 分鐘專家深入

核心問題:為什麼不是“全部專家都看一遍”?

在稠密 Transformer(Dense Transformer)中,每個 token 經過同一個 FFN。MoE 的思想是把 FFN 複製 N 份,每份成為一個“專家”,然後讓門控網路(Router/Gate)為每個 token 挑選最相關的 k 個。

這帶來兩個核心收益:

  1. 計算稀疏性:前向 FLOPs ≈ k/N × 全量計算(k ≪ N 時顯著節省)
  2. 容量可擴充套件:總引數量 = N × 單專家引數,可以做得很大

Top-k 路由的完整生命週期

輸入 token x ∈ R^d


┌──────────────────────────┐
│  Gate Network:            │
│  logits = W_g · x        │  ← W_g ∈ R^{N×d}, N=專家數
│  scores = softmax(logits)│
│  top_k_indices = argtopk │  ← 選得分最高的 k 個專家
│  top_k_scores = ...      │  ← 對選中專家的得分做歸一化
└──────────────────────────┘


┌──────────────────────────────────────────┐
│  Dispatch:                                │
│  將 token 傳送給 top_k_indices 指定的專家  │
│  (跨裝置時需 All-to-All 通訊)             │
└──────────────────────────────────────────┘


┌──────────────────────────────────────────┐
│  Expert Compute:                          │
│  y_i = Expert_i(x)  (標準 FFN/MLP)       │
└──────────────────────────────────────────┘


┌──────────────────────────────────────────┐
│  Combine:                                 │
│  output = Σ (gate_score_i × y_i)         │
│         for i in top_k_indices            │
└──────────────────────────────────────────┘

門控函式的數學形式

設輸入 token 表徵為 \mathbf{x} \in \mathbb{R}^d,專家數量為 $N$:

Step 1 — 計算原始分數(logits)

s = W_g \cdot \mathbf{x}, \quad W_g \in \mathbb{R}^{N \times d}

Step 2 — 歸一化(通常對選中專家的子集做 softmax):

g_i = \frac{e^{s_i}}{\sum_{j \in \text{Top-}k} e^{s_j}}, \quad i \in \text{Top-}k(\mathbf{s})

注意:這裡有兩種常見做法——(a) 先 softmax 再 top-k;(b) 先 top-k 再在 k 個專家上 softmax。不同論文實現略有差異。Switch Transformer 採用 (a) 先 softmax 再 top-1,直接使用 softmax 值作為門控權重,未在選中專家子集上再執行 softmax。

Step 3 — 加權求和

\text{output} = \sum_{i \in \text{Top-}k} g_i \cdot E_i(\mathbf{x})

其中 E_i 是第 $i$ 個專家的前饋網路。

負載均衡:Top-k 路由的“阿喀琉斯之踵”

Top-k 路由面臨一個嚴重問題:專家崩塌(Expert Collapse)。如果訓練早期某些專家略微領先,梯度會強化這種優勢,最終幾乎所有 token 湧向少數專家,其餘專家“餓死”。

解決方案——輔助負載均衡損失(Auxiliary Load Balancing Loss)

\mathcal{L}_{\text{balance}} = \alpha \cdot N \cdot \sum_{i=1}^{N} f_i \cdot P_i

其中:

  • f_i = 被路由到專家 $i$ 的 token 佔比(真實負載)
  • P_i = 門控網路對專家 $i$ 的平均路由機率
  • \alpha = 平衡係數(通常較小,如 10^{-2} 量級)
  • 兩者相乘的含義:當 f_iP_i 都高時(某個專家壟斷),損失增大

這個損失由 Switch Transformer 系統化提出,已成為 MoE 訓練的標準組件。

Token-Choice vs Expert-Choice

維度Token-Choice (主流)Expert-Choice
決策方每個 token 選 k 個專家每個專家選 top-C 個 token
負載均衡需輔助損失保證天然均衡(每專家固定容量)
延遲確定性有負載不均風險更確定
代表Switch, Mixtral, DeepSeekGoogle Expert-Choice (2022)

容量因子(Capacity Factor)

為防止個別專家過載,通常設定每個專家的緩衝容量

\text{Expert Buffer} = \text{CF} \times \frac{\text{tokens per batch}}{N} \times k

CF > 1 提供冗餘,但浪費記憶體;CF 過小會導致 token 被丟棄(overflow)。實踐中 CF 通常設在 1.0–1.5 之間


技術原理(最深)

門控網路的梯度流

門控網路 W_g 的可微性是一個關鍵設計點。Top-k 的 argmax/argtopk 操作不可微,但實踐中通過以下方式繞過:

  1. Straight-Through Estimator (STE):前向做離散選擇,反向時梯度直通(假設選擇不變)
  2. Soft Top-k:使用 softmax 溫度退火或 Gumbel-Softmax 近似離散取樣
  3. 實際主流做法:對選中的 k 個專家的 gate score 做 softmax 歸一化,梯度自然流過這些 score;未被選中的專家梯度為零——這本身就是一種稀疏梯度傳播
前向:  scores = softmax(W_g · x)  →  top_k_mask  →  masked_softmax
反向:  ∂L/∂W_g = Σ_{i∈Top-k} (∂L/∂g_i · ∂g_i/∂s_i · ∂s_i/∂W_g)
       未選中專家: ∂g_j/∂s_j = 0 (被 mask 截斷)

通訊拓撲:All-to-All

當專家分佈在不同 GPU/NPU 上時,Top-k 路由需要 All-to-All 通訊:

GPU 0 (有 token A, B)     GPU 1 (有 token C, D)
    │                          │
    │  token A → Expert_2      │
    │  token B → Expert_5      │  ← All-to-All
    │  ← Expert_3(token C)     │
    │  ← Expert_7(token D)     │
    ▼                          ▼
Expert_0,1,2,3             Expert_4,5,6,7

⚠️ 注意區分:MoE 的 Token Dispatch/Combine 使用 All-to-All;而張量並行(Tensor Parallelism)中 Transformer 層內通訊使用 AllReduce/ReduceScatter。兩者不可混淆。

All-to-All 通訊量:

\text{Volume} \approx 2 \times k \times \frac{B \cdot S}{1} \times d \times \text{sizeof(dtype)}

(前向一次 dispatch + 一次 combine,B \cdot S 為總 token 數,$d$ 為隱層維度)

Top-k 與 Soft MoE 的對比

Google 2023 年提出的 Soft MoE 完全繞過了離散路由:將 token 通過與一組可學習的 slot 權重做 soft attention 組合,再分發給專家。這消除了負載均衡問題,但改變了 MoE 的稀疏計算本質——每個專家實際上看到所有 token 的加權組合,不再是嚴格的 Top-k 稀疏。


技術演進史

2017  Shazeer et al. "Outrageously Large Neural Networks"
      └── 提出 Sparsely-Gated MoE, Top-k (k=2-4) + 噪聲擾動
          首次在 LSTM 語言模型上應用

2020  GShard (Google)
      └── 擴充套件到 600B 引數, Top-2 路由
      └── 引入容量因子 (Capacity Factor) 概念

2021  Switch Transformer (Google)
      └── 簡化為 Top-1 (只選1個專家)
      └── 系統化負載均衡輔助損失
      └── 證明 k=1 也能取得優異效能

2021  Hash Routing
      └── 探索確定性/無學習路由的替代方案

2022  Expert Choice Routing
      └── 專家選擇 token 的路由方式

2022  ST-MoE (Google)
      └── 穩定訓練技巧: router z-loss (抑制路由 logits 過大)

2023  Mixtral 8×7B (Mistral AI)
      └── Top-2, 8 experts, 證明 MoE 在開源社群的可行性

2024  DeepSeek-MoE / DeepSeek-V2 / DeepSeek-V3
      └── "共享專家 + 路由專家"混合設計
      └── Top-6~8 路由(啟用) + 全域性共享專家
      └── 更細粒度的專家劃分策略

2024  Qwen-MoE, DBRX (Databricks), Grok-1 (xAI)
      └── Top-k 路由成為主流 MoE 模型的標準組件

技術路線對比

維度Top-k 路由 (學習型)Hash RoutingExpert-ChoiceSoft MoEDense FFN
是否學習路由✅ 是 (W_g 可訓練)❌ 否 (雜湊函式)✅ 是✅ 是 (隱式)N/A
稀疏性✅ 嚴格稀疏✅ 嚴格稀疏✅ 嚴格稀疏❌ 軟稀疏❌ 不稀疏
負載均衡挑戰⚠️ 高 (需輔助損失)✅ 天然均衡✅ 天然均衡✅ 低N/A
通訊模式All-to-AllAll-to-AllAll-to-AllAll-to-All (soft)AllReduce (TP)
訓練穩定性⚠️ 需要技巧✅ 穩定✅ 較穩定✅ 穩定✅ 最穩定
表達能力✅ 高 (可學到複雜模式)⚠️ 有限✅ 高✅ 高全引數參與
代表模型Switch, Mixtral, DeepSeekHash Layer (2021)Expert Choice (2022)Soft MoE (2023)GPT, LLaMA

上下游

上游依賴

[算力硬體層]
  ├── GPU/NPU (NVIDIA H100/H200, 華為 Ascend 910B 等)
  ├── 高頻寬互聯 (NVLink/NVSwitch, InfiniBand, HCCS)
  │     └── All-to-All 通訊對互聯頻寬極其敏感
  └── 大視訊記憶體 (存放多份專家引數, 如 HBM3/HBM3e)

[架構層]
  ├── Megablocks (Databricks) — 專門為 MoE 最佳化的 CUDA kernel
  ├── Tutel (Microsoft) — MoE 排程與通訊最佳化
  ├── FasterMoE / DeepSpeed-MoE — 微軟 MoE 訓練架構
  ├── GShard / Switch Transformer 架構 (Google/JAX)
  └── vLLM / TensorRT-LLM — MoE 推論最佳化

下游影響

[MoE 模型架構]
  ├── 訓練:決定哪些專家被更新、梯度如何分配
  ├── 推論:決定推論 FLOPs 和延遲
  └── 系統:決定視訊記憶體佔用、通訊量、專家並行策略

[系統最佳化]
  ├── Expert Parallelism (EP) — 專家放在不同裝置
  ├── Expert Offloading — 不活躍專家解除安裝到 CPU/SSD
  └── Dynamic Batching — 按路由結果最佳化 batch 組織

關鍵指標

指標含義典型範圍/影響
k (啟用專家數)每 token 選幾個專家1–8(常見 1 或 2)
N (專家總數)MoE 層專家個數8–數千
啟用比 (k/N)稀疏程度通常 < 5%
Load Balance Loss負載均衡程度0 = 完美均衡;越大越不均衡
Router z-loss路由 logits 的量級控制防止訓練不穩定
Expert Utilization各專家被啟用的均勻程度理想 = 1/N 每個專家
Capacity Factor (CF)每專家緩衝大小系數1.0–1.5(過小丟 token,過大浪費視訊記憶體)
All-to-All 通訊量路由引起的通訊開銷與 k × 隱層維度 × token 數成正比
路由準確率 (Routing Accuracy)訓練後期路由決策的穩定性隨訓練趨於穩定

供需與市場資料

為什麼 Top-k 路由成為產業焦點?

  1. MoE 已成為主流大型模型架構選擇:Mixtral、DeepSeek-V2/V3、Qwen-MoE 等驗證了 MoE 在“價效比”上的優勢——同等推論 FLOPs 下,MoE 總引數更大、能力更強。

  2. 對算力基礎設施的影響

    • MoE 模型雖然推論 FLOPs 低,但視訊記憶體需求大(需要載入全部專家引數)
    • 通訊需求高:All-to-All 對 GPU 互聯頻寬要求極高,推動 NVLink/NVSwitch/InfiniBand 需求
    • 推論側催生 Expert OffloadingExpert Parallelism 方案
  3. 市場資料(定性趨勢):

    • 據公開報道,DeepSeek-V3 等 MoE 模型在同等能力水平下,訓練成本顯著低於同參數量稠密模型
    • 路由機制的效率直接影響 GPU 利用率——不均衡路由導致部分 GPU 空轉

⚠️ 具體市場規模/GPU 出貨量資料需參考各廠商財報及行業報告(如 TrendForce、Semianalysis 等),此處不編造數字。


代表公司與資本對映

公司/機構在 Top-k 路由/MoE 中的角色代表工作
Google DeepMind學術奠基GShard, Switch Transformer, ST-MoE, Expert Choice, Soft MoE
Mistral AI開源 MoE 產品化標杆Mixtral 8×7B / 8×22B
DeepSeek (幻方量化)中國 MoE 旗幟DeepSeek-MoE, DeepSeek-V2, V3 (共享+路由專家設計)
Microsoft訓練架構與系統最佳化DeepSpeed-MoE, Tutel
Databricks推論最佳化 + 開源Megablocks (MoE CUDA kernel), DBRX
xAI超大規模 MoEGrok-1 (314B, MoE 架構)
Alibaba (通義)國內 MoE 探索Qwen-MoE 系列
NVIDIA硬體 + 通訊基礎NVLink All-to-All, Transformer Engine 對 MoE 的支援

A 股/港股對映思路

產業鏈環節相關性邏輯
算力晶片MoE 模型視訊記憶體需求大 → 推動 HBM 及大視訊記憶體 GPU 需求
高速互聯極高All-to-All 通訊是 MoE 瓶頸 → 光模組、交換器、NVLink 需求
儲存/HBM全部專家引數需駐留視訊記憶體
AI 伺服器8 卡/N 卡互聯拓撲最佳化需求
推論晶片MoE 稀疏計算對推論晶片的排程能力提出新要求

投資邏輯

核心論點

  1. MoE 是“降本增效”的架構範式:Top-k 路由使 MoE 成為可能,而 MoE 已被證明能在更低推論成本下實現更強模型能力。這意味著 MoE 路線大機率持續擴大份額

  2. 通訊成為新瓶頸 → 利好高速互聯:Top-k 路由產生的 All-to-All 通訊量與專家並行度、隱層維度正相關。隨著模型規模擴大,GPU 互聯頻寬成為核心瓶頸,利好光模組、高速交換、NVLink 等產業鏈。

  3. 視訊記憶體需求不降反升:雖然 MoE 稀疏啟用節省 FLOPs,但所有專家引數仍需載入到視訊記憶體中,推動 HBM 容量和頻寬 需求持續增長。

  4. 路由演算法本身的演進方向

    • 更精細的路由(如 DeepSeek 的細粒度專家 + 共享專家)
    • 路由與硬體協同設計
    • 推論階段的專家 offloading/快取策略

風險點

  • 若行業轉向 Soft MoE 或其他非離散路由方案,對 All-to-All 通訊頻寬的需求可能降低
  • 稠密模型持續最佳化(如 LLaMA 系列)可能削弱 MoE 的價效比優勢
  • 路由不均衡導致的訓練不穩定仍是工程難題

常見誤讀糾偏

❌ 誤讀 1:“Top-k 路由就是簡單的 argmax”

糾偏:Top-k 路由遠不只是取前 k 大值。完整的路由包含:

  1. 可學習的線性門控網路(不是固定規則)
  2. 選中專家的 gate score 歸一化(決定加權融合比例)
  3. 輔助負載均衡損失(防止專家崩塌)
  4. 容量因子控制(防止記憶體溢位)
  5. 可選的噪聲注入(訓練時增加探索性)

只看到 argmax 就認為“很簡單”是嚴重低估了工程複雜度。

❌ 誤讀 2:“k 越大型模型越強,應該選更多專家”

糾偏

  • k 增大 → 每 token 計算量增大 → 推論延遲上升 → 稀疏收益減少
  • k=1 (Switch Transformer) 已經展現出強大效能;k=2 是多數模型的選擇
  • DeepSeek 雖然路由 k 值較大(6–8),但其單個專家被設計得更小、更細粒度,總啟用引數並不比 k=2 + 大專家的方案多
  • 關鍵是啟用引數總量,不是 k 的絕對值

❌ 誤讀 3:“MoE 的 All-to-All 通訊和張量並行的 AllReduce 是一回事”

糾偏

  • All-to-All:每個 GPU 向每個其他 GPU 傳送不同的 token 子集,通訊模式是 全對全 的點對點交換——用於 MoE 的 token dispatch/combine
  • AllReduce/ReduceScatter:所有 GPU 參與規約操作,結果廣播——用於張量並行中 Attention/FFN 的部分和合並
  • 兩者的通訊模式、頻寬利用方式、對網路拓撲的要求都不同。MoE 模型的通訊開銷通常疊加了這兩部分。

❌ 誤讀 4:“負載均衡損失解決了路由不均問題”

糾偏:輔助損失只是軟約束,不能完全消除不均衡。實踐中仍然需要:

  • 合適的損失係數 α(太小無效,太大影響主損失)
  • 容量因子 CF 兜底(硬限制每專家最大 token 數)
  • Router z-loss 控制 logits 量級
  • 甚至需要在推論時做 routing 持久化(routing caching)等工程手段

學習路徑

Level 0: 概念入門
├── 瞭解 Transformer FFN 層的作用
├── 理解“引數量 ≠ 計算量”的基本概念
└── 閱讀: Lilian Weng "Mixture of Experts" 部落格

Level 1: 原始論文
├── Shazeer et al. (2017) "Outrageously Large Neural Networks" ← 起源
├── Fedus et al. (2021) "Switch Transformers" ← Top-1 路由 + 負載均衡
└── Lepikhin et al. (2020) "GShard" ← Top-2 + 大規模擴充套件

Level 2: 工程與系統
├── Megablocks 論文/程式碼 ← 高效 MoE CUDA kernel
├── DeepSpeed-MoE 文件 ← 訓練架構層面理解
└── 親自跑一個 Mixtral 模型推論,觀察路由 pattern

Level 3: 前沿演進
├── DeepSeek-V2 技術報告 ← 共享 + 路由專家
├── Zhou et al. (2022) "Mixture-of-Experts with Expert Choice Routing"
├── Puigcerver et al. (2023) "From Sparse to Soft Mixtures of Experts"
└── 關注 NeurIPS/ICML MoE 相關 workshop

Level 4: 系統協同設計
├── 理解 Expert Parallelism 在 Megatron-LM 中的實現
├── 研究 NVLink/InfiniBand 拓撲對 All-to-All 效能的影響
└── 閱讀 Semianalysis 等分析師對 MoE 推論成本的拆解

一句話總結

Top-k 路由是 MoE 模型的“交通排程員”:通過可學習的門控網路為每個 token 精準分配最相關的 k 個專家,實現“總引數大、單次計算少”的稀疏啟用範式——它是理解當前主流大型模型(Mixtral、DeepSeek-V2/V3 等)如何在推論效率與模型能力之間取得平衡的核心鑰匙。


延伸閱讀與來源

來源說明
Shazeer et al., 2017MoE + Top-k 路由的起源論文
Fedus, Zoph & Shazeer, 2021, “Switch Transformers”Top-1 路由 + 負載均衡損失的系統化
Lepikhin et al., 2020, “GShard”Top-2 路由的大規模實踐
DeepSeek-V2 Technical Report (2024)共享專家 + 路由專家的混合設計
DeepSeek-V3 Technical Report (2024)最新 MoE 路由工程實踐
Puigcerver et al., 2023, “From Sparse to Soft MoE”Soft MoE 替代方案
Zhou et al., 2022, “Mixture-of-Experts with Expert Choice”Expert-Choice 路由
Megablocks (https://github.com/databricks/megablocks)開源 MoE 高效實現
Lilian Weng Blog, “Mixture of Experts”優秀的綜述性入門部落格
Hugging Face Blog on MoE面向實踐者的 MoE 介紹

⚠️ 免責宣告:本文中涉及的具體模型引數(專家數、k 值等)以各模型官方技術報告/論文為準。搜尋受限導致部分資料無法即時驗證,標註 [估算] 或 [定性] 處請以原始文獻為準。本文不構成投資建議。

source: 公開揭露與公開資料整理 本頁僅用於產業鏈學習、資訊檢索和研究輔助;不構成投資建議,不預測漲跌,不提供買賣、部位或目標價建議。
完整概念頁 複盤 13 節結構 公司投研頁 沿產業鏈找到受益公司 投資課 把概念轉成可跟蹤模型