摘要
本來想直接寫一篇 DeepSeek 的研究小心得(說 小 是因為愈看愈多愈發現似乎懂得愈少了…..),應該要先來分章說明一下核心技術再來寫心得,首先先來講一下什麼是混合專家模型 (Mixture of Experts, MoE)。
混合專家模型 (MoE):讓 AI 變得更聰明的方法
想像你想學習整個科學領域的知識,從物理、化學到生物,這對一個人來說是一項極為艱鉅的任務。但是,如果有一組專門的學生,每個人都專精於不同的科學科目,那麼學習將變得更加有效率。這正是 混合專家模型(Mixture of Experts, MoE) 在人工智慧(AI)領域的運作方式。它讓 AI 模型變得更聰明、更高效,並能夠處理龐大的資訊量。
MoE 核心概念:專業分工與運算效率
什麼是混合專家模型?
MoE 是一種 AI 模型架構,它不依賴單一的大型神經網路來處理所有任務,而是由多個較小的、專門的神經網路(稱為「專家」)所組成。每個專家只專注於輸入數據的某個特定面向。就像學校裡不同的老師各自教授不同的科目,有的擅長數學(你知道的….提醒一下自己梗不要一直玩…),有的精通歷史(比如銀英傳的楊威利,精通戰史),這些專家一起協作,使 AI 更有效率地解決複雜的問題。
為什麼要使用混合專家模型?
MoE 的主要目標是提升 AI 運算效率與可擴展性。傳統的 AI 模型(稱為「密集 (dense) 模型」)會在處理每個輸入時啟動 (activate) 所有參數,因此不論問題大小,整個模型都會參與計算,這會消耗大量計算資源。而 MoE 則不同,它只會啟動(呼叫)最適合處理該輸入的專家,這樣可以節省運算資源並提高效率。
MoE 的核心優勢包括:
- 專業化(Specialization): 每個專家只負責特定類型的數據或任務,讓它們能在自己的領域內達到更高的精準度。
- 運算效率(Efficiency): 透過「稀疏啟動(sparse activation)」,MoE 只會啟動部分專家,減少不必要的計算成本。
- 可擴展性(Scalability): MoE 可以透過增加專家數量來應對更複雜的問題,而不會像傳統模型一樣受限於計算資源。
- 並行運算(Parallel Processing): MoE 架構特別適合並行計算,使多個 GPU 或計算單元能夠同時處理不同部分的問題,提高運算效率。
MoE 如何運作?
1. 輸入處理(Input Processing)
MoE 的運作從輸入數據開始,例如你在聊天機器人輸入一個問題。這些輸入會先被分解成較小的單位,稱為「tokens(詞元)」,然後轉換為數值向量(vector),用來代表詞義、上下文資訊等特徵。
2. 路由器(Router Network)或門控網路(Gating Network)
MoE 的核心是路由器(router network),有時也稱為門控網路(gating network),它的功能類似於交管人員。路由器是一個可訓練的神經網路,它的作用是:
- 根據 token 的向量計算每個專家的相關性分數,決定哪些專家最適合處理該輸入。
- 使用 softmax 函數 計算這些分數,確保總和為 1,形成一個機率分布。
- 選擇分數最高的 k 個專家(通常是 1 或 2 個)來處理該 token。
換句話說,路由器的作用就像學校的課程顧問,負責將學生(輸入的 token)指派給最適合的老師(專家)。
3. 專家處理(Expert Processing)
一旦路由器選定專家,token 會被送到這些專家進行處理。每個專家都是一個標準的神經網路,通常是前饋神經網路(Feedforward Neural Network, FNN),它們會根據自己的專長來處理輸入數據。
4. 輸出整合(Output Integration)
最後,所有專家的結果會被整合,生成最終的輸出,例如 AI 回答你的問題、翻譯句子或產生一段文字。
MoE 系統的核心組件
- 路由器(Router / Gating Network): 負責將輸入分配給適合的專家。它是一個可訓練的神經網路,會動態調整專家指派策略。
- 專家(Experts): 負責處理特定類型的輸入。例如,一個專家可能負責理解英文句子,而另一個專家可能負責程式碼生成。
- 稀疏啟動(Sparse Activation): MoE 只會啟動部分專家,而不是讓整個模型參與運算,這大幅提升了效率。
- Softmax 函數: 用於計算專家的權重,確保選擇最適合的專家。
- 訓練(Training): MoE 透過反向傳播(backpropagation) 訓練,最佳化路由器的選擇機制和整體模型效能。
MoE 的演進與挑戰
MoE 的早期發展
MoE 的概念最早出現在 2017 年,由 Google Brain 提出的「稀疏門控專家層(sparsely gated expert layers)」架構,這與傳統密集模型不同,為現代 MoE 應用奠定了基礎。
然而,早期 MoE 模型面臨 負載平衡(load balancing) 和 token 遺失(token dropping) 等問題:
- 負載平衡問題: 如果某些專家接收到過多 token,而其他專家卻閒置,會導致效率低落。
- Token 遺失問題: 由於計算資源受限,一些 token 可能無法被處理,影響最終輸出。
MegaBlocks:MoE 的突破
2022 年,Databricks 的 研究人員開發了 MegaBlocks 技術,進一步改善 MoE 的運算方式,主要透過區塊稀疏運算(block sparse operations) 來最佳化效率:
- 區塊稀疏運算(Block Sparse Operations): 只計算必要的數據區塊,而非整個矩陣,提高 GPU 計算效率。
- 動態區塊大小(Dynamic Block Sizes): 根據輸入需求調整區塊大小,確保所有專家均衡負載。
- Dropless 設計: MegaBlocks 確保所有 token 都能被處理,不會有遺失情況。
- 最佳化 GPU 運算(Optimized GPU Kernels): 提升並行運算效率,加快處理速度。
Instruct-MoE:MoE 的再突破
2023 年出現了 Instruct-MoE 的研究,主要精神是指令調整 (Instruction Tuning),原本的 MoE 架構是透過路由器來決定哪些專家要被啟動,但會有個問題是若是有沒有看過的新問題出現,那這些專家可能處理的反而不好,而 這就是指令調整發揮作用的地方,它就像是給這些專家額外的訓練,教他們如何理解並遵循指令。原本的做法可能就是由 Fine Tuning 來訓練,但會出現效果反而不如傳統的密集模型。舉例來說,只教你的數學家教解代數題目,他可能無法幫助學生學習幾何。而指令調整就是為了幫助 MoE 模型學會如何適應新問題,並以你希望的方式回應各種問題與任務。
DeepSeekMoE:MoE 的全新突破
2024 年 12 月,DeepSeek 發表了 DeepSeekMoE,這是 DeepSeek 在 MoE 架構上的重大突破。MoE 顯著提升了 DeepSeek 模型的效率,透過幾個關鍵機制優化資源利用和計算性能。換句話說,這也是 DeepSeek 自認的創新之一,當然改動了一些架構,比如原本有 16 個專家,現在可以切成 64 個小專家,讓專家可以更專注在特定任務;另外,也加上了 Shared Expert 的機制,讓其中幾個專家可以共享資源 (token),這樣可以讓專家專心處理特定領域的知識,避免重複學習基礎知識。
MoE 的應用
MoE 在許多領域中發揮關鍵作用,例如:
- 大型語言模型(LLMs): 提供更精準的對話與語言翻譯能力。
- 影像辨識(Image Recognition): 訓練專家識別不同類型的圖像。
- 語音辨識(Speech Recognition): 專家負責不同口音或語言的處理。
- 推薦系統(Recommendation Systems): 提供更個人化的推薦內容。
- 科學研究(Scientific Research): 用於蛋白質摺疊、氣候建模等高複雜度計算。
結論
心得
MoE 最主要的目的就是降低計算成本,不只是提升 AI 運算效率的技巧,透過引入稀疏 (Sparse)性設計,僅啟動與當前輸入相關的少數專家,降低計算成本,這算是 AI 模型架構的一次重大革新。然而,原始 MoE 模型也面臨挑戰,包括專家負載不均衡、訓練不穩定性以及專家之間缺乏多樣性等問題。隨著 AI 在世界的發展,可以預期 MoE 會被更廣泛地應用,透過改進路由演算法和訓練方法,這些問題也慢慢得到解決,使 MoE 模型在各種應用中展現更大的潛力。我最後的感想就是陳浩南說過的:「我陳浩南出來混那麼久全靠三樣東西:夠狠、義氣、兄弟多。」
小心得
這篇好像寫了太久了,找資料佐證就發現好多要看的……..
參考資料
- Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer
- GShard: Scaling Giant Models with Conditional Computation and Automatic Sharding
- Mixture of Experts: A New Frontier in AI Architecture
- Mixture-of-Experts Meets Instruction Tuning:A Winning Combination for Large Language Models
- Hugging Face: Mixture of Experts Explained
- DeepSeekMoE