一句話解釋

Mixture of Experts(MoE)是一種模型架構,把模型分成很多個「專家」子網路,每次只啟動其中幾個來處理當前的輸入,大幅降低計算成本。

白話解釋

你可以把一個傳統的 AI 模型想像成一間大型綜合醫院,每次有病人進來,所有科別的醫生都要到場會診。不管你是來看感冒還是骨折,心臟科、眼科、皮膚科全部都要過目。這樣效率很低,大部分醫生都在做跟他們專長無關的事。

MoE 的做法不同。它把模型切成很多個「專家」(每個專家是一小段神經網路),然後加一個「分診台」(Router,路由器)。每次有輸入進來,分診台會判斷這個問題需要哪幾個專家來處理,只把問題送到那幾個專家那裡。其他專家不用動。

結果是:模型總參數量可以很大(代表知識量多),但每次實際計算只用到一小部分(代表速度快、成本低)。

MoE 怎麼運作

傳統 Transformer 模型(Dense Model)的結構是:每一層都有一個大的 Feed-Forward Network(FFN),所有 token 都經過同一個 FFN。模型越大,FFN 越大,計算量等比例增加。

MoE 把每一層的那個大 FFN 拆成 N 個小的 FFN(專家)。加上一個 Router 網路,它看到輸入之後決定啟動哪 K 個專家來處理(K 通常遠小於 N)。

以 DeepSeek-V3 為例:它有 256 個專家,每次只啟動 8 個。所以雖然模型總參數是 671B(6710 億),但每次推論實際用到的參數只有大約 37B。計算量跟一個 37B 的 Dense Model 差不多,但知識量是 671B 級別的。

Router 怎麼決定要用哪些專家?Router 本身是一個小的神經網路,在訓練過程中學會了「什麼樣的輸入應該給什麼專家處理」。有些專家可能比較擅長數學推理,有些擅長語言理解,有些擅長程式碼生成。Router 會根據輸入的特徵選擇最合適的專家組合。

為什麼 MoE 突然熱門起來

MoE 的概念在 1991 年就被提出了,但最近幾年才大量被使用。原因是:

模型規模碰到天花板。GPT-4 這種 Dense Model 的訓練成本據估計超過 1 億美元。繼續把模型做大,成本會高到大部分公司負擔不起。MoE 提供了一條「用更少錢得到更大模型效能」的路。

DeepSeek 的成功驗證。DeepSeek-V2 和 V3 用 MoE 架構,在多項評測上達到甚至超越 GPT-4 的水準,而訓練成本只有它的幾分之一。這讓整個業界認真看待 MoE。

推論成本是商業化的關鍵。模型如果推論太貴,就沒辦法大規模部署。MoE 讓大模型的推論成本降到跟小模型差不多,商業上更可行。

誰在用 MoE

DeepSeek-V3。671B 總參數,每次啟動 37B。2024 年底發布時在多項 benchmark 上跟 GPT-4 並列。訓練成本據報導低於 600 萬美元。

Gemini 1.5。Google 的 Gemini 1.5 Pro 和 Flash 據報導使用 MoE 架構。這也是它能支援 100 萬 token 上下文窗口的原因之一。

Mixtral(Mistral AI)。8x7B 架構,8 個 7B 的專家,每次啟動 2 個。實際推論成本接近 14B 模型,但效能接近 70B。是開源 MoE 模型的代表。

GPT-4。雖然 OpenAI 從未正式確認,但多方報導指出 GPT-4 本身可能也是 MoE 架構(據傳是 8 個專家)。

MoE 的優點和缺點

優點:

計算效率高。每次只用一小部分參數做計算,推論速度快、成本低。

可擴展性好。要讓模型更強,加更多專家就好,計算成本不會等比例增加。

訓練也比較便宜。雖然模型參數總量大,但每個 token 只需要更新被啟動的那些專家的參數。

缺點:

記憶體需求沒有減少。雖然每次只用一小部分專家做計算,但所有專家的參數都要載入記憶體(或至少要能快速讀取)。671B 的模型,記憶體需求就是 671B 級別的。

延遲可能不穩定。不同的輸入可能啟動不同的專家。如果專家分佈在不同的 GPU 上,通訊延遲會隨輸入變動。

路由品質很重要。如果 Router 判斷不好,把問題送到了不擅長的專家那裡,回答品質會下降。Router 的訓練本身是個技術挑戰。

專家利用率的問題(Load Balancing)。如果某些專家太受歡迎,其他專家閒置,效率就沒達到理論最大值。需要在訓練時加入平衡機制。

部署複雜度高。把 256 個專家分配到多顆 GPU 上,確保通訊效率,是一個工程挑戰。

MoE vs Dense Model 比較

比較項目 Dense Model(如 Llama 70B) MoE(如 DeepSeek-V3 671B)
每次計算量 所有 70B 參數 37B 參數(部分啟動)
知識容量 70B 級別 671B 級別
記憶體需求 70B 671B(要放所有專家)
推論延遲 穩定 可能波動
訓練成本 中等 相對低(同等效能下)
部署難度 高(需要多 GPU 協調)
適合場景 資源有限、需要穩定延遲 追求最強效能、有足夠記憶體

對一般使用者的意義

如果你只是使用 AI 服務(ChatGPT、Claude、Gemini),你不需要知道底層是 Dense 還是 MoE。但 MoE 的普及對你有幾個間接影響:

API 價格可能更低。因為推論成本降低,服務商可以定更低的價格。DeepSeek 的 API 定價遠低於 OpenAI 就是一個例子。

模型能力提升更快。MoE 讓研究者可以用相對低的成本實驗更大的模型。代表未來模型能力的進步速度可能加快。

開源模型更有競爭力。MoE 讓小公司和開源社群可以訓練出效能接近商業模型的東西。Mixtral 就是一個例子。

知識檢測

讀完文章後,測試一下你對這個主題的理解。

常見問題

MoE 模型一定比 Dense 模型好嗎?

不一定。在同樣的計算預算下,MoE 通常效能更好。但如果你的記憶體有限(比如只有一張 GPU),Dense 模型可能更實際,因為 MoE 的記憶體需求高。

我在本機跑得動 MoE 模型嗎?

看模型大小。Mixtral 8x7B 大約需要 32GB VRAM(全精度)或 24GB(4-bit 量化),一張 RTX 4090 勉強可以跑。但 DeepSeek-V3 這種 671B 的模型,需要多張 A100/H100,一般人跑不動。

Router 的判斷可以解釋嗎?

部分可以。研究者發現 Router 確實會學到一些語意上的分群(比如把數學問題送到某幾個專家、把語言翻譯送到另一組)。但整體來說,Router 的決策不像人類的專業分工那樣清晰明確。

未來所有大模型都會是 MoE 嗎?

趨勢上,大型模型(幾百 B 以上)可能會越來越多採用 MoE。但中小型模型(7B-70B)由於部署簡單性的優勢,Dense 架構還是會繼續存在。兩者會並行發展。

DeepSeek 用 MoE 是怎麼省錢的?

DeepSeek 的技巧不只是 MoE。他們還用了「Multi-Head Latent Attention」降低 KV cache 的記憶體需求,加上高效的訓練框架。MoE 只是其中一個省算力的手段,但是效果最直接的一個。

相關文章

參考資料