關(guān)于 MoE 大模型負(fù)載均衡策略演進(jìn)的回顧:坑點與經(jīng)驗教訓(xùn)
帶著大家依次走過幾個標(biāo)志性的MoE系統(tǒng),從GShard到DeepSeek-V3。
原標(biāo)題:關(guān)于 MoE 大模型負(fù)載均衡策略演進(jìn)的回顧:坑點與經(jīng)驗教訓(xùn)
文章來源:智猩猩GenAI
內(nèi)容字?jǐn)?shù):16063字
從GShard到DeepSeek-V3:稀疏MoE模型的負(fù)載均衡演進(jìn)
本文解讀了從GShard到DeepSeek-V3一系列稀疏MoE(Mixture of Experts)模型的演進(jìn)歷程,重點關(guān)注負(fù)載均衡問題的解決方法及其挑戰(zhàn)。MoE架構(gòu)通過激活少量專家來處理每個token,從而在保持高精度的同時,高效訓(xùn)練擁有數(shù)十億甚至數(shù)萬億參數(shù)的模型。然而,如何保證專家負(fù)載均衡成為MoE大規(guī)模應(yīng)用的關(guān)鍵難題。
1. 為什么要使用稀疏專家MoE?
MoE架構(gòu)的核心思路是:對每個token,只激活少量專家參與計算,而不是所有參數(shù)都參與,從而在不顯著增加計算開銷(FLOPs)的前提下,大幅提升模型參數(shù)量。但如何平衡專家負(fù)載,避免某些專家過載而另一些專家閑置,是MoE面臨的挑戰(zhàn)。
2. 歷史脈絡(luò):關(guān)鍵模型及改進(jìn)
文章回顧了幾個標(biāo)志性MoE系統(tǒng),分析它們在負(fù)載均衡上的改進(jìn)和遇到的問題:
- GShard: 首個大規(guī)模MoE框架,采用top-2 gating和輔助損失來平衡負(fù)載,但存在token丟棄和計算開銷大的問題。
- Switch Transformer: 采用更簡單的top-1 gating,速度更快,但需要精細(xì)調(diào)參capacity factor來避免過載。
- GLaM: 回歸top-2 gating,注重能效,但仍需解決數(shù)據(jù)分布不均導(dǎo)致的負(fù)載不均衡問題。
- DeepSpeed-MoE: 通過多專家并多數(shù)據(jù)并行,動態(tài)重分配超容量token,并提出Residual-MoE結(jié)構(gòu),提升負(fù)載均衡水平。
- ST-MoE: 提升了路由穩(wěn)定性和可遷移性,引入了router z-loss來緩解數(shù)值不穩(wěn)定問題。
- Mixtral 8x7B: 利用時間局部性和專門的稀疏Kernel優(yōu)化,提升了負(fù)載均衡效率。
- OpenMoE: 指出上下文無關(guān)的專長化和末端token掉隊問題。
- DeepSeekMoE: 采用細(xì)粒度專家和共享專家,并設(shè)計了專家級別和設(shè)備級別的負(fù)載均衡損失。
- JetMoE: 提出“dropless”策略,避免token丟棄,但實現(xiàn)復(fù)雜度高。
- Skywork-MoE: 使用gating logit歸一化和自適應(yīng)輔助損失系數(shù)。
- DeepSeek-V3: 使用偏置加成取代強輔助損失,并保留較弱的序列級別輔助損失,實現(xiàn)了更輕量級的負(fù)載均衡。
3. 負(fù)載均衡的挑戰(zhàn)與經(jīng)驗教訓(xùn)
文章總結(jié)了MoE負(fù)載均衡中常見的挑戰(zhàn)和應(yīng)對策略:路由塌縮、容量因子調(diào)節(jié)、過度依賴輔助損失、推理瓶頸和領(lǐng)域遷移等問題。需要根據(jù)具體情況,在模型表達(dá)能力和資源利用率之間找到平衡點。
4. 總結(jié)與展望
從GShard到DeepSeek-V3,負(fù)載均衡已成為MoE模型成功的關(guān)鍵因素。未來的研究方向可能包括:更自動化、自適應(yīng)的gating機制,以及更多針對HPC和推理部署的優(yōu)化,以實現(xiàn)高效、均衡的專家分配。
聯(lián)系作者
文章來源:智猩猩GenAI
作者微信:
作者簡介:智猩猩旗下賬號,專注于生成式人工智能,主要分享技術(shù)文章、論文成果與產(chǎn)品信息。