2024年,全球主流企業(yè)加快推出MoE大模型,1-5月發(fā)布千億以上大模型均采用MoE優(yōu)化架構,且數量超過近三年總和。MoE大模型架構憑借平衡大模型訓推成本和計算效率等優(yōu)勢,更適合處理大規(guī)模數據和復雜任務,已成谷歌、OpenAI、阿里、騰訊等企業(yè)控制成本、提升模型性能、應對大模型“價格戰(zhàn)”的新方向。
MoE的內涵、優(yōu)勢、發(fā)展歷程及主要玩家
MoE(Mixture of Experts,混合專家模型)是一種用于提升深度學習模型性能和效率的技術架構。其主要由一組專家模型和一個門控模型組成,核心思想是在處理任務時只激活部分專家模型,并通過門控模型控制專家模型的選擇和加權混合。簡言之,MoE在訓練過程通過門控模型實現“因材施教”,進而在推理過程實現專家模型之間的“博采眾長”。
圖1 MoE架構原理示意圖1
MoE的特征優(yōu)勢是專家化、動態(tài)化、稀疏化,在模型研發(fā)成本、訓練/推理效率和整體性能之間實現最佳平衡。一是采用混合專家方法,各專家模型面向不同數據或任務進行針對性建模和處理,提升模型的準確性和專業(yè)能力,更好地適應多模態(tài)數據及復雜/特定任務計算。二是根據任務的需求靈活選擇并組合適宜的專家模型,使得模型能夠動態(tài)地適應不同的輸入樣本和任務場景,提高模型的靈活性、可解釋性和表達能力。三是只激活或使用部分專家模型,減少不必要的計算,提升模型計算速度并降低算力需求。研究表明,與稠密模型相比,MoE+指令調優(yōu)僅使用1/3算力就能提升大模型性能約45%,縮短訓練時間2,且參數規(guī)模越大,效果越好。
MoE不是一種全新的技術,與Transformer融合邁過發(fā)展“拐點”。早期MoE主要作為一種集成學習方法,用于提升模型預測性能,如谷歌將MoE引入自然語言處理領域,提升機器翻譯性能。2020年,谷歌Gshard首次將MoE引入Transformer構建分布式并行計算架構,打開MoE發(fā)展新思路。之后,MoE逐漸進入規(guī)模發(fā)展階段,作為一種底層架構優(yōu)化方法,與Transformer結合,陸續(xù)被用于推薦系統(tǒng)、自然語言處理、計算機視覺、多模態(tài)大模型等領域。
圖2 MoE模型發(fā)展歷程
基于Transformer的MoE已成大模型主流架構,國內外主流企業(yè)差異化推進MoE大模型布局和落地。2024年,全球MoE大模型數量呈爆發(fā)增長態(tài)勢。據公開統(tǒng)計,2024年1-5月全球發(fā)布MoE大模型數量約20個,超2021-2023三年總量(約10個),且以多模態(tài)大模型為主(占比約90%)。谷歌、OpenAI、阿里、華為、騰訊等大型企業(yè)側重利用MoE提升大模型性能和實用性。而Mistral AI、昆侖萬維、MiniMax、幻方量化等初創(chuàng)企業(yè)側重利用MoE低成本優(yōu)勢搶占AI市場。
表1 部分公司MoE大模型布局及發(fā)布情況
MoE發(fā)展仍面臨挑戰(zhàn)
1.訓練和微調面臨穩(wěn)定性和可靠性挑戰(zhàn)。
訓練階段,MoE通過“條件計算”思想引入稀疏性,其將token分配給固定數量專家的離散特性帶來專家負載均衡問題,容易導致某些專家被過度利用,而其他專家未被充分利用,從而影響專家的專業(yè)化,降低模型性能。雖然這一問題,目前可以通過合并輔助損失函數等來緩解,但仍會導致模型訓練不穩(wěn)定。微調階段,與稠密模型相比,稀疏模型的微調更容易產生過擬合問題,容易導致泛化能力不足,影響模型整體性能,如擁有1.6T參數量的MoE預訓練模型Switch Transformer,在SuperGLUE等常見基準上進行微調時,其整體性能卻落后于較小的模型3。
2.大規(guī)模分布式部署難且通信成本高。
一方面,盡管MoE可以在模型參數總量不變的情況下降低計算需求,但仍需要將所有參數加載到內存中。因此,MoE對內存需求很高,需要將超大規(guī)模參數模型的專家層分別部署在不同設備以減少內存消耗,實際部署難度很大。另一方面,隨著MoE模型的參數規(guī)模/復雜度不斷提升,模型訓練期間的高效通信越來越重要。而模型復雜度與通信開銷之間的權衡一直是分布式訓練的重大問題4。MoE模型中專家之間的數據交換、并行訓練都需要機間all-to-all通信來實現,增加通信成本,且模型規(guī)模越大,通信成本越高。因此,在實際部署過程中,需要仔細設計通信策略和優(yōu)化網絡拓撲,降低通信延遲和潛在的網絡擁塞。
3.MoE架構存在原始缺陷、與現有架構集成難,部分關鍵技術仍有待攻關。
一是MoE仍存在知識混合、知識冗余等原始架構缺陷,容易導致專家同質化嚴重、專業(yè)化能力不足等問題。同時,根植于MoE的超參數調整、專家模型設計及協作、動態(tài)性適應數據變化、對數據噪聲相對敏感等技術難題仍有待解決。二是MoE架構設計很復雜,涉及網絡類型、專家數量選擇等多個方面。目前FFN、LSTM、CNN、Attention和LoRA等多種網絡架構已被用作專家模型,但各種網絡類型專家混合仍屬于新興研究領域。三是將MoE集成到現有模型框架中對于降低現有模型升級成本、推進MoE廣泛應用至關重要,但可能會損害模型性能,需要進一步優(yōu)化并行預訓練和推理策略。
MoE未來重點研究方向
1.通過優(yōu)化MoE架構、改進門控算法等,提高模型性能和穩(wěn)定性。
一是業(yè)界正在加快研發(fā)各種新型MoE架構,以提升模型性能或實用性。如清華和微軟聯合提出MH-MoE5,通過多頭機制彌補MoE原始缺陷,實現專家激活率由8.33%提升至90.71% ,提升模型高效擴展能力;華為提出全新LocMoE架構,并將其嵌入盤古大模型,提升模型通用性、可解釋性和易移植性等。二是多項研究表明,通過改進門控算法或調整訓練策略,能有效提升MoE模型穩(wěn)定性及性能,如AdvMoE通過算法優(yōu)化將門控模型和專家模型分開訓練,顯著提高MoE模型的對抗魯棒性和整體效率6;普林斯頓大學和Meta AI聯合提出一種Lory方法,引入因果分段路由策略和基于相似性的數據批處理技術,提升了模型的效率和專家專業(yè)化能力7。
2.構建分布式訓練系統(tǒng)/軟件工具,提升MoE模型訓練效率、降低訓練門檻。
清華團隊發(fā)布FastMoE、FasterMoE、SmartMoE3等一系列分布式訓練系統(tǒng),相比直接使用PyTorch,FastMoE可將訓練速度提升47倍;SmartMoE支持一鍵實現MoE模型分布式訓練,并優(yōu)化模型訓練性能。微軟的DeepSpeed9系統(tǒng)提供端到端MoE訓練和推理解決方案,結合模型壓縮等技術,可提供更快、更便宜的MoE模型推理服務,與同等質量的密集模型相比,可加速4.5倍,成本降低9倍。斯坦福大學、微軟和谷歌聯合推出的MegaBlocks系統(tǒng),面向單個GPU上運行多個專家的場景,提升MoE訓練效率,與最先進的Tutel庫相比,端到端訓練速度提升40%。
3.利用模型蒸餾、硬件優(yōu)化等技術,降低MoE模型部署難度。
一是通過模型蒸餾、任務級別路由等技術,保留模型性能同時降低模型復雜度。谷歌將Switch Transformer蒸餾回其對應的稠密模型,參數規(guī)模降低95%,成功保留了約30-40%的由稀疏性帶來的性能提升,加快了預訓練速度,且在推理過程中支持使用更小的模型。此外,通過任務級別路由技術將整個句子或任務直接路由到一個專家上面,或提取出用于特定服務的子網絡,有助于簡化模型結構。二是研究更適合稀疏計算的硬件優(yōu)化技術,節(jié)省內存、加速計算。研究表明,塊稀疏Flash Attention注意力機制可以進一步減少GPU內存訪問次數,加快計算并節(jié)省顯存;結合PagedAttention構建vLLM11(一種LLM推理加速系統(tǒng)),可實現KV緩存零浪費且支持各請求間共享KV緩存,從而降低內存使用,并實現高效內存管理。
4.通過系統(tǒng)性優(yōu)化、共享專家、通信結構設計等,降低通信成本。
一是通過系統(tǒng)性優(yōu)化,平衡模型復雜度與通信開銷,如ScMoE12使用一種通信重疊并行策略,克服分布式MoE模型中通信操作的固有依賴性對并行優(yōu)化的阻礙,實現11%的訓練速度提升、15%的推理速度提升,且通信時間僅為8×A800-NVLink場景中標準MoE的15%。二是利用共享專家方法,減少分布式系統(tǒng)之間的數據傳輸,如DeepSeekMoE13采用共享專家、細顆粒度專家分割等策略,可有效解決MoE中的參數冗余、路由崩潰等問題,且在145B參數下,僅需約28.5%的計算量即可達到DeepSeek 67B的性能水平。三是通過通信結構設計,提升通信效率,如SCoMoE通過結構化全連接通信,鼓勵數據跨設備通信,結合標記聚類方法,提升了模型性能和效率。
結語
MoE為企業(yè)帶來平衡算力成本和計算效率、加快萬億/十萬億模型參數規(guī)模擴展、提升大模型實用性等機遇,但也帶來關鍵技術攻關、大規(guī)模工程部署、網絡拓撲優(yōu)化等挑戰(zhàn)。未來應持續(xù)探索MoE架構設計、相關算法及策略改進、軟硬件協同優(yōu)化等技術,加快推動MoE模型研發(fā)和業(yè)務賦能。同時,結合MOE模型分布式部署,探索千億/萬億參數規(guī)模大模型跨數據中心分布式訓練試點驗證。
注釋
1.來源:論文《Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer》
2.參考論文:《Mixture-of-Experts Meets Instruction Tuning: A Winning Combination for Large Language Models》
3.參考論文:《St-moe: Designing stable and transferable sparse expert models》
4.參考論文:《Gshard: Scaling giant models with conditional computation and automatic sharding》
5.參考論文:《Multi-Head Mixture-of-Experts》
6.參考論文:《Robust Mixture-of-Expert Training for Convolutional Neural Networks》
7.參考論文:《Lory: Fully Differentiable Mixture-of-Experts for Autoregressive Language Model Pre-training》
8.參考論文:《SMARTMoE: Effciently Training Sparsely-Activated Models through Combining Offine and Online Parallelization》
9.參考論文:《DeepSpeed-MoE: Advancing Mixture-of-Experts Inference and Training to Power Next-Generation AI Scale》
10.參考論文:《Flashattention: Fast and memory-efficient exact attention with io-awareness》
11.參考論文:《Efficient Memory Management for Large Language Model Serving with PagedAttention》
12.參考論文:《Shortcut-connected Expert Parallelism for Accelerating Mixture-of-Experts.》
13.參考論文:《Deepspeed-moe: Advancing mixture-of-experts inference and training to power next-generation ai scale.》