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