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




























