大模型面經——MoE混合專家模型總結 原創
?本篇將介紹MoE(Mixture of Experts,混合專家模型)相關面試題。
以下是一個快捷目錄:
一、MoE介紹
二、MoE出現的背景
三、有哪些MoE模型
四、介紹稀疏 MoE 層
五、介紹門控網絡或路由
六、為什么門控網絡要引入噪聲呢
七、如何均衡專家間的負載
八、“專家”指什么
九、專家的數量對預訓練有何影響?
十、什么是topK門控
十一、MoE模型的主要特點
十二、MoE和稠密模型的對比
十三、MoE的優勢
十四、MoE的挑戰
十五、微調MoE的方法
十六、MoE的并行計算
回答
一、MoE介紹
"Mixture of Experts"(MoE)是一種機器學習模型,特別是在深度學習領域中,它屬于集成學習的一種形式。MoE模型由多個專家(experts)和一個門控網絡(gating network)組成。每個專家負責處理輸入數據的不同部分或不同特征,而門控網絡則負責決定每個輸入應該由哪個專家來處理。
例如,在下圖中,“More”這個 token 被發送到第二個專家,而“Parameters”這個 token 被發送到第一個專家。
二、MoE出現的背景
本質上來說就是一種高效的 scaling 技術,用較少的 compute 實現更大的模型規模,從而獲得更好的性能。
三、有哪些MoE模型
Switch Transformers、Mixtral、GShard、DBRX、Jamba DeepSeekMoE 等等。
以Mixtral為例
Mixtral 是一個稀疏的專家混合網絡。它是一個decoder-only的模型,其中前饋塊從一組 8 個不同的參數組中選擇。在每一層,對于每個令牌,路由器網絡選擇其中兩個組(“專家”)來處理令牌并附加地組合他們的輸出。
混合專家層
這種技術在控制成本和延遲的同時增加了模型的參數數量,因為模型只使用每個令牌總參數集的一小部分。具體來說,Mixtral 總共有 46.7B 個參數,但每個令牌只使用 12.9B 個參數。因此,它以與 12.9B 型號相同的速度和相同的成本處理輸入和生成輸出。
Mixtral 基于從開放 Web 中提取的數據進行預訓練——同時培訓專家和路由器。
四、介紹稀疏 MoE 層
稀疏 MoE 層一般用來替代傳統 Transformer 模型中的前饋網絡 (FFN) 層。MoE 層包含若干“專家”(例如 8 個),每個專家本身是一個獨立的神經網絡。在實際應用中,這些專家通常是前饋網絡 (FFN),但它們也可以是更復雜的網絡結構,甚至可以是 MoE 層本身,從而形成層級式的 MoE 結構。
五、介紹門控網絡或路由
門控網絡接收輸入數據并執行一系列學習的非線性變換。這一過程產生了一組權重,這些權重表示了每個專家對當前輸入的貢獻程度。通常,這些權重經過softmax等函數的處理,以確保它們相加為1,形成了一個概率分布。這樣的分布表示了在給定輸入情境下每個專家被激活的概率。一個典型的門控函數通常是一個帶有 softmax 函數的簡單的網絡。
六、為什么門控網絡要引入噪聲呢
為了專家間的負載均衡。也即防止一句話中的大部分token都只有一個專家來處理,剩下的七個專家(假設一共八個專家)“無所事事”。
七、如何均衡專家間的負載
引入噪聲、引入輔助損失(鼓勵給予所有專家相同的重要性)、引入隨機路由、設置一個專家能處理的token數量上限
八、“專家”指什么
一個“專家”通常是前饋網絡 (FFN)。數據經過門控網絡選擇后進入每個專家模型,每個專家根據其設計和參數對輸入進行處理。每個專家產生的輸出是對輸入數據的一種表示,這些表示將在后續的步驟中進行加權聚合。或者通過單個專家模型進行處理。
九、專家的數量對預訓練有何影響?
增加更多專家可以提升處理樣本的效率和加速模型的運算速度,但這些優勢隨著專家數量的增加而遞減 (尤其是當專家數量達到 256 或 512 之后更為明顯)。同時,這也意味著在推理過程中,需要更多的顯存來加載整個模型。值得注意的是,Switch Transformers 的研究表明,其在大規模模型中的特性在小規模模型下也同樣適用,即便是每層僅包含 2、4 或 8 個專家。
十、什么是topK門控
選擇前k個專家。為什么不僅選擇最頂尖的專家呢?最初的假設是,需要將輸入路由到不止一個專家,以便門控學會如何進行有效的路由選擇,因此至少需要選擇兩個專家。
十一、MoE模型的主要特點:
- 靈活性:每個專家可以是不同類型的模型,例如全連接層、卷積層或者遞歸神經網絡。
- 可擴展性:通過增加專家的數量,模型可以處理更復雜的任務。
- 并行處理:不同的專家可以并行處理數據,這有助于提高模型的計算效率。
- 動態權重分配:門控網絡根據輸入數據的特點動態地為每個專家分配權重,這樣模型可以更加靈活地適應不同的數據。
- 容錯性:即使某些專家表現不佳,其他專家的表現也可以彌補,從而提高整體模型的魯棒性。
十二、moe和稠密模型的對比
1、預訓練
相同計算資源,MoE 模型理論上可以比密集模型更快達到相同的性能水平。
2、推理
moe:高顯存,高吞吐量;
稠密模型:低顯存,低吞吐量
十三、moe的優勢
1、訓練優勢:預訓練速度更快;
2、推理優勢:推理速度更快
十四、moe的挑戰
1、訓練挑戰:微調階段,泛化能力不足,容易過擬合
2、推理挑戰:對顯存的要求更高
十五、微調moe的方法
1、凍結所有非專家層的權重,專門只訓練專家層
2、只凍結moe層參數,訓練其它層的參數
十六、moe的并行計算
圖片來源:b站 算法豬立業
參考資料
??https://blog.csdn.net/2201_75499313/article/details/136412787??
??https://www.zhihu.com/question/634844209/answer/3467132890??
??https://zhuanlan.zhihu.com/p/674698482??
?
文轉載自公眾號瓦力算法學研所,作者:喜歡瓦力的卷卷
