金磊 發(fā)自 凹非寺
量子位 | 公眾號(hào) QbitAI
要問(wèn)最近哪個(gè)模型最火,混合專家模型(MoE,Mixture of Experts)絕對(duì)是榜上提名的那一個(gè)。
它的巧妙之處,就在于把不同的任務(wù)分配給擅長(zhǎng)處理的專家網(wǎng)絡(luò),讓整個(gè)系統(tǒng)性能得以提升。
但你知道嗎?
正是這個(gè)關(guān)鍵的專家網(wǎng)絡(luò),也是嚴(yán)重影響系統(tǒng)推理性能的因素之一。
因?yàn)樵诖罅咳蝿?wù)來(lái)臨之際(尤其是超大規(guī)模時(shí)),MoE并不是以“雨露均沾”的方式去分配——專家網(wǎng)絡(luò)們的負(fù)載均衡問(wèn)題,就會(huì)顯得尤為突出。
這個(gè)問(wèn)題的根源,是因?yàn)槟承<揖W(wǎng)絡(luò)總是被頻繁調(diào)用(熱專家),而另一些專家網(wǎng)絡(luò)則鮮有機(jī)會(huì)派上用場(chǎng)(冷專家)。
沒(méi)錯(cuò),MoE里的“專家們”也是有冷熱之分的,而且被調(diào)用頻率的差距甚至可以達(dá)到一個(gè)數(shù)量級(jí)以上!
如此負(fù)載不均衡的現(xiàn)象,就會(huì)導(dǎo)致整個(gè)系統(tǒng)推理的時(shí)間被延長(zhǎng),以及還有資源利用率、系統(tǒng)性能受限等問(wèn)題。
那么此局又該如何破解?
別急,華為團(tuán)隊(duì)已經(jīng)給出了一種有效解法,直接讓DeepSeek-V3在理論上的推理延遲可降低約10%、吞吐量可提升約10%。
值得一提的是,團(tuán)隊(duì)還將在近期準(zhǔn)備把這個(gè)解法全面開源了;那么接下來(lái),我們就來(lái)深入了解一下。
華為的刀法:OmniPlacement
針對(duì)專家們冷熱不均的問(wèn)題,華為優(yōu)化的刀法,叫做OmniPlacement。
簡(jiǎn)單來(lái)說(shuō),它的工作原理是這樣的:
通過(guò)專家重排、層間冗余部署和近實(shí)時(shí)動(dòng)態(tài)調(diào)度,顯著提升MoE模型的推理性能。
具體可以分為三步走:
第一刀:基于計(jì)算均衡的聯(lián)合優(yōu)化
在這一步中,華為團(tuán)隊(duì)通過(guò)分析專家的活躍度(激活數(shù)據(jù)),先是識(shí)別出了忙碌的熱專家和清閑的冷專家。
然后將提出的一種基于計(jì)算均衡的聯(lián)合優(yōu)化算法OmniPlacement用了上去。
這個(gè)算法會(huì)根據(jù)專家調(diào)用頻率和計(jì)算需求來(lái)優(yōu)化部署的順序,這樣就會(huì)顯著降低負(fù)載不均的現(xiàn)象。
具體來(lái)說(shuō),OmniPlacement算法的特點(diǎn)如下:
- 動(dòng)態(tài)優(yōu)先級(jí)調(diào)整:通過(guò)實(shí)時(shí)統(tǒng)計(jì)專家調(diào)用頻率,動(dòng)態(tài)調(diào)整專家的優(yōu)先級(jí)和節(jié)點(diǎn)分配,確保高頻專家優(yōu)先部署在計(jì)算能力較強(qiáng)的節(jié)點(diǎn)上。
- 通信域優(yōu)化:算法分析批次內(nèi)激活卡數(shù),優(yōu)化跨節(jié)點(diǎn)通信域的范圍,減少通信延遲。相比傳統(tǒng)的靜態(tài)分配方法,本算法顯著降低了通信開銷。
- 層間差異化部署:允許不同層根據(jù)負(fù)載特性設(shè)置不同的專家部署策略,支持非均勻冗余次數(shù)配置,從而更好地適應(yīng)層間負(fù)載差異。
△相同數(shù)據(jù)條件下,EPLB與OmniPlacement算法,每層設(shè)備最大激活數(shù)理論對(duì)比
第二刀:層間高頻專家冗余部署
剛才的步驟是面向冷熱專家整體,那么這一步則是劍指熱專家。
為了緩解熱專家的壓力,華為團(tuán)隊(duì)還提出了一種層間冗余部署的策略——
通過(guò)為高頻調(diào)用專家分配額外的冗余實(shí)例,降低跨節(jié)點(diǎn)通信開銷,從而提升系統(tǒng)吞吐量。
這個(gè)策略的創(chuàng)新點(diǎn)在于:
- 動(dòng)態(tài)資源分配:根據(jù)實(shí)時(shí)計(jì)算資源占用情況和專家調(diào)用頻率,動(dòng)態(tài)調(diào)整冗余實(shí)例的分配比例。系統(tǒng)通過(guò)預(yù)測(cè)模型提前分配資源,減少冷熱專家間的性能差距。
- 層間差異化配置:不同層根據(jù)負(fù)載需求設(shè)置不同的冗余次數(shù),增強(qiáng)對(duì)層間負(fù)載差異的適應(yīng)能力。例如,高負(fù)載層可分配更多的冗余實(shí)例,而低負(fù)載層則減少冗余以節(jié)省顯存。
- 預(yù)測(cè)性分配:結(jié)合歷史激活數(shù)據(jù)和負(fù)載預(yù)測(cè)模型,系統(tǒng)能夠提前優(yōu)化資源分配,降低突發(fā)負(fù)載對(duì)系統(tǒng)性能的影響。
△冗余不同層數(shù)排布的理論熱力圖
第三刀:近實(shí)時(shí)調(diào)度與動(dòng)態(tài)監(jiān)控機(jī)制
為了讓系統(tǒng)能更靈活地應(yīng)對(duì)各種變化,在實(shí)際運(yùn)行中快速做出反應(yīng),研究團(tuán)隊(duì)設(shè)計(jì)了一套類似 “智能管家” 的方案——
近實(shí)時(shí)調(diào)度與動(dòng)態(tài)監(jiān)控機(jī)制。
其具體包含的子模塊如下:
- 近實(shí)時(shí)調(diào)度:通過(guò)實(shí)時(shí)統(tǒng)計(jì)數(shù)據(jù)流特性,動(dòng)態(tài)調(diào)整專家分配以適應(yīng)輸入數(shù)據(jù)的變化。調(diào)度算法能夠在毫秒級(jí)時(shí)間內(nèi)收斂到優(yōu)化的靜態(tài)專家部署模式,確保推理過(guò)程的高效性和一致性。該機(jī)制通過(guò)迭代優(yōu)化專家分配,顯著降低了動(dòng)態(tài)調(diào)整的計(jì)算開銷。
- 動(dòng)態(tài)監(jiān)控:實(shí)時(shí)跟蹤專家激活數(shù)據(jù)和系統(tǒng)資源占用情況,為調(diào)度決策提供準(zhǔn)確依據(jù)。監(jiān)控任務(wù)在獨(dú)立的計(jì)算流中運(yùn)行,避免對(duì)推理主流程的干擾,保障系統(tǒng)整體效率。
- 動(dòng)態(tài)專家權(quán)重訪問(wèn)與擺放:通過(guò)層間流水線設(shè)計(jì),實(shí)現(xiàn)專家權(quán)重和分配的動(dòng)態(tài)調(diào)整。系統(tǒng)在推理過(guò)程中并行處理權(quán)重更新和數(shù)據(jù)流分配,支持高效的專家動(dòng)態(tài)擺放。流水線設(shè)計(jì)允許在不中斷推理流程的情況下完成權(quán)重調(diào)整,顯著降低高負(fù)載場(chǎng)景下的推理延遲。
這套機(jī)制通過(guò)兩個(gè)關(guān)鍵設(shè)計(jì)大幅提升了系統(tǒng)性能:
首先采用多任務(wù)并行處理技術(shù),讓系統(tǒng)反應(yīng)更快、調(diào)整更靈活;其次獨(dú)創(chuàng)性地將監(jiān)控和調(diào)度功能分開運(yùn)行。
這樣既保證了實(shí)時(shí)監(jiān)控的準(zhǔn)確性,又避免了監(jiān)控程序拖慢系統(tǒng)速度,使整個(gè)系統(tǒng)運(yùn)行更加穩(wěn)定可靠。
△近實(shí)時(shí)調(diào)度理論效果與收斂性
為了支持上述技術(shù)的穩(wěn)定運(yùn)行,團(tuán)隊(duì)還開發(fā)了適用于vLLM的推理優(yōu)化框架OmniPlacement,其核心特點(diǎn)如下:
- 高兼容性:框架支持多種MoE模型架構(gòu),能夠無(wú)縫集成到現(xiàn)有的推理系統(tǒng)中。
- 低時(shí)延開銷:通過(guò)優(yōu)化數(shù)據(jù)處理和調(diào)度流程,框架顯著減少了額外計(jì)算開銷,確保推理性能不受影響。
- 模塊化設(shè)計(jì):框架包含數(shù)據(jù)統(tǒng)計(jì)、算法運(yùn)行和專家調(diào)度三大模塊,各模塊功能解耦,支持功能擴(kuò)展和維護(hù)。模塊化設(shè)計(jì)便于快速迭代和定制化開發(fā)。
- 可擴(kuò)展性:框架支持動(dòng)態(tài)添加新的負(fù)載均衡算法和調(diào)度策略,適應(yīng)未來(lái)MoE模型的復(fù)雜需求。
OmniPlacement采用模塊化設(shè)計(jì),把核心算法和推理流程分開處理,就像把汽車的發(fā)動(dòng)機(jī)和控制系統(tǒng)分開優(yōu)化一樣。
這樣設(shè)計(jì)有兩個(gè)突出優(yōu)勢(shì):
一是專門負(fù)責(zé)任務(wù)調(diào)度的模塊可以獨(dú)立工作,不會(huì)干擾主系統(tǒng)的運(yùn)行效率;二是整個(gè)框架可以根據(jù)不同需求靈活調(diào)整,為大型AI模型的穩(wěn)定運(yùn)行提供了堅(jiān)實(shí)的底層支持。
DeepSeek V3系統(tǒng)延遲理論可直降10%
在了解完華為的“刀法”之后,我們?cè)賮?lái)看下“療效”。
華為團(tuán)隊(duì)把這套優(yōu)化方法在DeepSeek-V3上進(jìn)行了全面驗(yàn)證,實(shí)驗(yàn)環(huán)境包括多節(jié)點(diǎn)GPU集群和高并發(fā)推理場(chǎng)景。
得到了如下的測(cè)試結(jié)果:
- 推理延遲:相比基線方法(未優(yōu)化負(fù)載均衡的MoE模型),推理延遲平均降低約10%。延遲的減少主要得益于動(dòng)態(tài)專家分配和通信域優(yōu)化,顯著改善了用戶體驗(yàn)。
- 吞吐量:系統(tǒng)吞吐量提升約10%,反映了資源利用率的顯著提高。特別是在高并發(fā)場(chǎng)景下,冗余部署和動(dòng)態(tài)調(diào)度有效緩解了負(fù)載瓶頸。
- 系統(tǒng)穩(wěn)定性:在動(dòng)態(tài)輸入和高負(fù)載場(chǎng)景下,系統(tǒng)保持高效運(yùn)行,未出現(xiàn)性能波動(dòng)或服務(wù)中斷。動(dòng)態(tài)監(jiān)控機(jī)制確保了系統(tǒng)對(duì)突發(fā)負(fù)載的快速響應(yīng)。
△OmniPlacement與基線和BestEP的性能對(duì)比
進(jìn)一步的分析表明,OmniPlacement在不同規(guī)模的MoE模型和輸入數(shù)據(jù)分布下均表現(xiàn)出良好的適應(yīng)性。
并且從實(shí)際測(cè)試證明來(lái)看,它不僅能大幅提升運(yùn)算效率,還能更合理地利用計(jì)算資源,同時(shí)保持系統(tǒng)穩(wěn)定運(yùn)行。
這為今后在實(shí)際應(yīng)用中部署大型MoE模型提供了堅(jiān)實(shí)的技術(shù)保障。
最后值得一提的是,華為團(tuán)隊(duì)不僅是發(fā)布優(yōu)化方案這么一個(gè)動(dòng)作,更是要將這個(gè)方法在近期全面開源。
完整技術(shù)報(bào)告:
https://gitcode.com/ascend-tribe/ascend-inference-cluster/blob/main/OmniPlacement/OmniPlacement-%E6%98%87%E8%85%BE%E8%B6%85%E5%A4%A7%E8%A7%84%E6%A8%A1MoE%E6%A8%A1%E5%9E%8B%E6%8E%A8%E7%90%86%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E6%8A%80%E6%9C%AF%E6%8A%A5%E5%91%8A.pdf
技術(shù)博客:
https://gitcode.com/ascend-tribe/ascend-inference-cluster/blob/main/OmniPlacement/ascend-inference-cluster-omniplacement.md
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.