從DeepSeek MoE專(zhuān)家負(fù)載均衡談起
上周中的時(shí)候, 同事給我了一份線(xiàn)上DeepSeek-R1推理的Expert激活的數(shù)據(jù)用來(lái)研究一些專(zhuān)家負(fù)載均衡的算法, 當(dāng)然這些線(xiàn)上數(shù)據(jù)來(lái)自于公司內(nèi)部的請(qǐng)求, 從中觀(guān)測(cè)出前面10層專(zhuān)家基本上是相對(duì)均衡的, 而越到后面不均衡程度差異越大。當(dāng)時(shí)討論到這個(gè)問(wèn)題時(shí), 是懷疑內(nèi)部的一些請(qǐng)求是否專(zhuān)注于電商領(lǐng)域而帶來(lái)的不平衡特性, 于是做了一些研究。恰好搜到Intel的一篇論文《Semantic Specialization in MoE Appears with Scale: A Study of DeepSeek-R1 Expert Specialization》有一些基于語(yǔ)義的MoE分析專(zhuān)家的專(zhuān)業(yè)性相關(guān)的問(wèn)題, 再加上前幾天看到某個(gè)公眾號(hào)采訪(fǎng)某院長(zhǎng)的一個(gè)比較有趣的說(shuō)法:“Dense模型適合toB業(yè)務(wù),MoE模型適合toC業(yè)務(wù)”. 因此做了一些分析, 在此記錄下來(lái)。
1. 專(zhuān)家Overlap分析
從這篇論文的第一個(gè)Word-in-Context的實(shí)驗(yàn)來(lái)看, DeepSeek-R1的前面十層專(zhuān)家Overlap的概率相對(duì)于較高, 和線(xiàn)上的一些數(shù)據(jù)分析是一致的。
圖片
比較特別的是在第十層后,不同語(yǔ)義和相似語(yǔ)義之間的區(qū)分度完全顯現(xiàn)出來(lái)了, 而模型本身因?yàn)榧?xì)粒度MoE(256選8)而產(chǎn)生的區(qū)分度也顯著降低了, 同時(shí)論文還對(duì)比了Mistral的兩個(gè)MoE模型, 它采用8選2的方式, 看來(lái)語(yǔ)義間對(duì)不同專(zhuān)家的區(qū)分度有很大的差距. 這個(gè)結(jié)論也支撐了DeepSeek逐漸向更加細(xì)粒度專(zhuān)家的技術(shù)路線(xiàn)的正確性。
當(dāng)然產(chǎn)生這樣的結(jié)果有幾方面可能的因素:
- Shared Expert的重要性, 通過(guò)Shared Expert消除了一些專(zhuān)家之間的影響, 使得Routed Expert Overlap的概率降低?
 - 本質(zhì)上就是Routed Expert數(shù)量的影響?
 - R1強(qiáng)化學(xué)習(xí)的工作流對(duì)于Expert Specialization進(jìn)一步增強(qiáng)了?
 
但是值得注意的是另一個(gè)問(wèn)題是, 在模型的后面20層內(nèi), 層間的Overlap的差異還是很大的, 并且沒(méi)有進(jìn)一步的下降, 這個(gè)和我拿到的線(xiàn)上的數(shù)據(jù)分布也是相似的.
這里引入一個(gè)思考, 每一層模型的AlltoAll通信時(shí)間實(shí)際上是受到分布式部署的帶寬和延遲約束的, 因此模型深度過(guò)深后將會(huì)影響到TPOT, 雖然可以用一些ScaleUP的辦法來(lái)解決, 但是看看GB200的可靠性和成本, 這種取舍是不太恰當(dāng)?shù)摹A硪环矫? 看到上圖中第40層overlap有明顯的抖動(dòng), 一方面是模型在后面的層中還可以更加稀疏來(lái)進(jìn)一步降低Overlap, 是否也會(huì)有一個(gè)類(lèi)似的ScalingLaw我們?cè)谏晕⒑竺娴恼鹿?jié)來(lái)分析。
2. SAE分析
從論文中SAE的分析來(lái)看, 能夠得出不同的專(zhuān)家在負(fù)責(zé)不同的推理以及認(rèn)知專(zhuān)業(yè)化的結(jié)論, 這和DeepSeek設(shè)計(jì)細(xì)粒度MoE和專(zhuān)家專(zhuān)業(yè)化的初衷是匹配的。
圖片
其實(shí)渣B一直在建議從SAE的角度來(lái)分析大模型, 并通過(guò)對(duì)SAE Activation的約束來(lái)作為強(qiáng)化學(xué)習(xí)工作流的一種手段,SAE對(duì)于概念的可視化解釋, Anthropic和OAI都做了相應(yīng)的可視化展示, 例如Anthropic的多模態(tài)對(duì)金門(mén)大橋的概念。
圖片
OAI和Claude都在這方面有了蠻長(zhǎng)時(shí)間的布局, 而國(guó)內(nèi)相對(duì)還是落后了一些。
3. 從范疇論的視角看R1
這是一個(gè)爛尾很久的專(zhuān)題, 一直想抽一周的時(shí)間來(lái)好好分析并寫(xiě)一篇筆記, 但是最近幾個(gè)月不停的在各種項(xiàng)目的死線(xiàn)上掙扎. 先簡(jiǎn)短的寫(xiě)一些吧. 其實(shí)R1的整個(gè)訓(xùn)練流程從范疇論的意義上來(lái)看:
- 首先是V3-Base的模型本質(zhì)上是通過(guò)一系列數(shù)據(jù)集的Pre-train流程構(gòu)成了一個(gè)預(yù)層范疇(Presheaf)。
 - R1-Zero是基于V3-Base的Presheaf上來(lái)強(qiáng)化了一些Morphism的權(quán)重, 而這些權(quán)重在MoE模型的底子上使得模型具有了更強(qiáng)的泛化能力。
 - 然后在V3-Base的基礎(chǔ)上混合R1-Zero的Coldstart數(shù)據(jù)和一些General samples來(lái)構(gòu)建最終的R1。
 
圖片
比較好奇的是在整個(gè)后訓(xùn)練的過(guò)程中, 不知道DeepSeek是否記錄了梯度更新的情況, 感覺(jué)這個(gè)地方配合SAE做一些分析可能會(huì)有更多的發(fā)現(xiàn), 個(gè)人覺(jué)得雖然ORM取得了很好的結(jié)果, 而PRM本身還有一些過(guò)程上的缺陷, 是否可以在SAE的視角上來(lái)看出更多的原因, 并且某種意義上還可以給ORM訓(xùn)練輸出一些更加抽象泛化的約束能力。
當(dāng)然這樣也會(huì)面臨一個(gè)比較大的算力的挑戰(zhàn), SAE的算力消耗和RL工作流的整體效率上的一個(gè)取舍問(wèn)題。
4. MoE ScalingLaw
本文開(kāi)頭提到了一個(gè)比較有趣的說(shuō)法:“Dense模型適合toB業(yè)務(wù),MoE模型適合toC業(yè)務(wù)”, GPT4是MoE模型吧, 它適合toB還是toC? Llama3是一個(gè)Dense模型吧? 它適合toB還是toC? 本質(zhì)的問(wèn)題是算力的約束下MoE成為繼續(xù)提高Scaling的一個(gè)必然手段. 當(dāng)然MoE模型本身的Gating數(shù)值穩(wěn)定性問(wèn)題和Reasoning模型本身通常設(shè)置的溫度參數(shù)相對(duì)較低, 使得模型的幻覺(jué)程度有所增加而不太適合一些toB的業(yè)務(wù)場(chǎng)景。
最近還有一篇《Chain-of-Experts: 釋放MoE專(zhuān)家的溝通潛能》[2]挺有意思的, 即通過(guò)在同一層的專(zhuān)家之間的互相處理來(lái)得到最后的output hidden. 實(shí)際上這里又有了一些RNN的味道. 但是這樣的機(jī)制如果迭代次數(shù)多了感覺(jué)很難去兼顧訓(xùn)練和推理的效率。
圖片
從本文第一節(jié)的配圖上來(lái)看, 似乎某種程度上能夠得出和DeepSpeed-MoE[3]中提出的pyramid-MoE相似的結(jié)構(gòu), 隨著模型的層數(shù)越來(lái)越深, 專(zhuān)家專(zhuān)業(yè)化程度越來(lái)越高, 相應(yīng)的專(zhuān)家數(shù)量和TopK選擇數(shù)量也需要對(duì)應(yīng)的提高?
圖片
其實(shí)這也是我最近在考慮的一個(gè)問(wèn)題, MoE的本質(zhì)是否和HNSW(Hierarchical Navigable Small Word)算法某種程度上有相似性?
圖片
那么借助Grace+Blackwell的架構(gòu), 是否還能做出點(diǎn)有趣的東西呢? 大概想到一個(gè)增量MoE的算法:
- 首先按照一個(gè)相對(duì)細(xì)粒度的模型進(jìn)行訓(xùn)練, 例如256 Routed Experts, TopK=8
 - 例如訓(xùn)練到500B tokens時(shí), 模型逐漸添加一些新的專(zhuān)家在后面若干層
 - 反復(fù)訓(xùn)練的過(guò)程中把模型逐漸迭代成一個(gè)金字塔結(jié)構(gòu).
 - 最后在PostTraining過(guò)程中, 基于SAE或者某些層的MoE路由規(guī)則凍結(jié)一些Expert的參數(shù)或者是在這個(gè)基礎(chǔ)上做一些KL散度的約束來(lái)降低幻覺(jué)?
 
為什么需要Grace呢, 因?yàn)槟撤N程度上還是需要CPU側(cè)的更大的內(nèi)存空間來(lái)做一些專(zhuān)家權(quán)重的置換. PCIe本身的帶寬還是太小了. 當(dāng)然這樣的模型部署時(shí)在推理階段可能還有更多的挑戰(zhàn). 設(shè)計(jì)模型架構(gòu)時(shí)兼顧推理性能是必須要考慮的一個(gè)因素了, 這部分內(nèi)容暫時(shí)還沒(méi)想明白, 隱約覺(jué)得在這樣的一個(gè)模型下, 順便把Next Few layer的Expert Prediction/Prefetch做了可能是一條路.
目前,阿里云正在GPU加CPU的異構(gòu)資源池上做優(yōu)化。未來(lái),數(shù)據(jù)庫(kù)要研發(fā)的關(guān)鍵能力是將昂貴的GPU盡可能地省下來(lái)做最珍貴的計(jì)算和緩存,將次要的計(jì)算和緩存推到CPU加內(nèi)存和存儲(chǔ)的三層池化中,讓在線(xiàn)推理變得更低成本。
在基礎(chǔ)設(shè)施和分布式系統(tǒng)的視角來(lái)看, 和模型的協(xié)同還有更多的工作要做。
參考資料
[1] Semantic Specialization in MoE Appears with Scale: A Study of DeepSeek-R1 Expert Specialization: https://arxiv.org/pdf/2502.10928
[2] Chain-of-Experts: 釋放MoE專(zhuān)家的溝通潛能: https://sandy-server-87f.notion.site/Chain-of-Experts-MoE-1ab9bb750b79801bbfebf01ae9a77b3f
[3] DeepSpeed-MoE: https://arxiv.org/pdf/2201.05596















 
 
 









 
 
 
 