幫大模型提速80%,華為拿出昇騰推理殺手锏FlashComm,三招搞定通算瓶頸
在今年 2 月的 DeepSeek 開源周中,大模型推理過程中并行策略和通信效率的深度優化成為重點之一。
近日,華為數學家出手,祭出 FlashComm,三箭齊發,解決大模型推理通算難題:
- FlashComm1: 大模型推理中的 AllReduce 通信優化技術。將 AllReduce 基于通信原理進行拆解,并結合后續計算模塊進行協同優化,推理性能提升 26%。
- FlashComm2:大模型推理中以存換傳的通信優化技術。在保持計算語義等價的前提下,實現 ReduceScatter 和 MatMul 算子的計算流程重構,整體推理速度提升 33%。
- FlashComm3: 大模型推理中的多流并行技術。充分挖掘昇騰硬件的多流并發能力,實現 MoE 模塊的高效并行推理,大模型吞吐激增 30%。
隨著大語言模型(Large Language Models, LLMs)規模的指數級擴張,其部署形態也隨之變化,顯卡配置朝著規模化、集約化演進。從神經網絡時代的單卡部署,到稠密模型時代的多卡 / 單節點部署,再到以最近發布的 DeepSeek V3/R1 模型為代表的混合專家(Mixture of Experts, MoE)模型,大語言模型甚至會采用數百卡組成的集群和超節點來部署。
可以說,模型推理早已不是「單兵作戰」,而是一場高協同的「群體作戰」。而在這基于集群的大模型推理中,集合通信操作就像是一群工人協作蓋房子時傳遞材料和信息的方式,能讓多個計算節點高效配合完成任務。
有一些常用集合通信操作,比如全量規約(AllReduce)可以想象成一群工人各自收集了不同區域的建筑材料數據,全量規約就是把所有工人手里的數據匯總到一個地方,進行求和、求平均值等計算。在大模型里,多個計算節點可能各自計算了一部分參數梯度,AllReduce 操作能把這些梯度匯總起來,計算出最終的梯度,用于更新模型參數。
再比如全量收集(All-Gather)則類似于所有工人把自己手頭的材料清單共享給彼此,這樣每個人都知道所有材料的情況。在大模型里,All-Gather 操作能讓每個計算節點都獲取到其他節點計算出的部分結果,將分散在各節點的數據聚合到所有節點。還有像規約散射(Reduce-Scatter)操作則相當于先把所有建筑材料按類別匯總,再重新分配給不同工人。在大模型中,Reduce-Scatter 先對數據進行規約計算,再將計算結果分散到各個節點,常用于在多個節點間分攤計算壓力。也還有像 All-To-All 這樣允許所有節點之間相互交換數據,讓每個節點都能獲取到其他節點的相關數據的操作。
這些形形色色的集合通信操作,大多用來支持在集群上運行大模型推理時的并行策略,比如常見的張量并行(TP)是把一個大的張量(可以理解為模型的參數矩陣)拆分成多個部分,分配到不同的計算節點上計算。在這個過程中,節點之間需要頻繁交換數據,比如 All-to-All 操作就經常被用到,讓各個節點能獲取計算所需的張量片段,實現高效的并行計算。
再如數據并行(DP),其將輸入數據分成多個批次,在不同節點上同時處理不同批次的數據。各節點計算完各自批次數據對應的梯度后,需要用 AllReduce 操作把這些梯度匯總起來,計算出平均梯度,再將更新后的模型參數發送給所有節點,保證各節點使用相同的模型。
而被 MoE 帶火的專家并行(EP)就像工廠的流水線,不同的計算節點負責模型不同專家的計算。在這個過程中,節點之間需要傳遞中間計算結果,類似廣播操作會把上一層的輸出傳遞給下一層的節點,確保專家正常激活運行。
由上可以看出,集合通信操作是大模型推理中多個計算節點協作的「橋梁」,不同的并行策略(TP、DP、EP)通過這些操作實現高效的數據交互和計算,從而加速大模型的推理過程。
通信:Scaling law 頭頂的烏云
隨著集群規模和推理并發數的飛速增長,在大語言模型的推理中,通信面臨的壓力也在不斷變大,在推動應用通算融合技術上還有一些問題需要解決:
1) 隨著 MoE 模型規模的持續擴張,專家數量與參數總量呈指數級增長,單個模型參數突破千億級別已成常態。盡管 MoE 通過稀疏激活機制僅調用部分專家,但海量參數的存儲與調度仍對硬件構成嚴峻挑戰。MoE 模型的稀疏計算特性雖能提升推理效率,卻引入了更復雜的流程與通信瓶頸。專家路由、數據分發與結果聚合等環節緊密耦合,通信帶寬需求隨專家數量呈平方級增長,極易引發網絡擁塞;而流程各階段的強依賴性使得計算與通信難以重疊,硬件資源長期處于「饑餓」狀態。如何實現通信與計算的深度協同成為關鍵難題。
2) 傳統的通信方案中小并發推理場景下常用的通信策略 —— AllReduce,存在著一些缺陷:
- AllReduce 在通信原理上, 等價于 ReduceScatter 和 AllGather 的組合。直接使用 AllReduce 算子,在通信次數上較少,適用于小并發場景。但在大并發場景下,AllReduce 算子對比拆分的 ReduceScatter 和 AllGather,收益并不明顯。
- Transformer 結構中 AllReduce 算子之后,往往會有一些其他計算操作,如 RMSNorm、以及 MLA 中的降維計算等。這些計算過程會在不同卡上執行相同的計算操作,在小并發場景下可能耗時不高,但在大并發場景下,會帶來不小的代價。
3) 當前主流的并行方案是張量并行 (TP) 在應用 AllReduce 時也面臨一些問題。TP 方案通過卡間均勻切分權重的方式,雖然能夠有效降低每張卡上加載的模型權重大小,但卡間求和的 AllReduce 操作在大模型端到端推理時延中占比較高;在多節點的部署場景中,跨節點的帶寬限制進一步加劇了整網時延劣化。
針對上面三個難題,華為團隊用數學補物理,給出了他們的系列性創新解法,把加速大模型推理提到了新的高度。
項目鏈接:https://gitcode.com/ascend-tribe/ascend-inference-cluster/tree/main/FlashComm
FlashComm:別讓通信扼住算力的咽喉
FlashComm1 通算重組:給通信裝上「智能壓縮器」
傳統 AllReduce 的笨重通信方式如同用集裝箱運輸散裝貨物,華為團隊則通過數學手段,基于昇騰硬件特點,將其拆解重構:先將數據智能分揀(ReduceScatter),再對精簡后的核心信息進行廣播(AllGather)。在這兩個階段之間,創新性插入數據投影降維和 INT8 動態量化技術,使后續通信量直降 35%,關鍵計算量銳減至 1/8。
這種「先濃縮再傳遞」的智慧,讓 DeepSeek 模型 Prefill 推理性能提升 22 ~ 26%,Llama3.1-70B 模型的 Decode 階段性能提升 14%,如同為數據洪流建造了分級疏導系統。
技術博客:https://gitcode.com/ascend-tribe/ascend-inference-cluster/blob/main/FlashComm/ascend-inference-cluster-flashcomm.md
FlashComm2 以存換傳:重新定義計算與通信的平衡
面對 TP+AllReduce 架構的通信瓶頸,團隊發現了一個精妙的數學等價關系:通過調整矩陣乘法的并行維度,在保持計算結果精確性的前提下,將原本需要傳輸的三維張量「壓扁」成二維矩陣。這種維度魔法配合 INT8 量化技術,使得 DeepSeek 模型在注意力機制轉換階段的通信量驟降 86%,整體推理速度提升 33%。
這就像在保證貨物完整性的前提下,把運輸集裝箱體積壓縮了五分之四,讓數據傳輸真正實現「輕裝上陣」。
技術博客:https://gitcode.com/ascend-tribe/ascend-inference-cluster/blob/main/FlashComm/ascend-inference-cluster-flashcomm2.md
FlashComm3 多流并行:打破計算鏈條的串行桎梏
針對上文提到的最后一個問題,華為團隊提出了昇騰親和的大模型推理多流并行技術。
在 MoE 模型的推理過程中,華為團隊如同拆解精密鐘表般對 DeepSeek V3/R1 的計算流程展開深度剖析。通過數學重構將原本環環相扣的激活通信、門控決策等五大模塊拆解重組,借助昇騰硬件的多流引擎實現三股計算流的精準并行:當一組數據正在進行專家計算時,另一組數據已開啟門控決策,而第三組數據已在傳輸途中 —— 這種「計算不停歇」的流水線設計,使關鍵路徑耗時大幅縮短。
更巧妙的是,通過 TP8 分片與流水線技術的交織運用,在多卡并行時仍為系統騰出 2GB 內存空間,如同在高速運轉的引擎內部完成精密的空間重組。實際部署中,DeepSeek 模型的 Prefill 階段提速超 10%,Decode 吞吐激增 25%-30%。
技術博客:https://gitcode.com/ascend-tribe/ascend-inference-cluster/blob/main/FlashComm/ascend-inference-cluster-flashcomm3.md
總結與展望
針對 DeepSeek 這類超大規模 MoE 模型的多機多卡推理場景中的通信挑戰,華為團隊提出了三項關鍵技術,其中 FlashComm 技術基于相同的集合通信邏輯替大模型推理中的 AllReduce 通信算子,在不改變網絡并行方式的前提下,充分利用網絡中低維度數據或低比特數據特性進行通信算子位置的編排,實現通信數據量的降低和通信時延的優化,同時消除了計算流程中的冗余計算,進一步提升了網絡端到端推理性;FlashComm2 技術充分考慮網絡并行過程中數據特征的維度變化,基于相同的集合通信邏輯將張量并行中的原有通信算子進行替換,并對新的通信算子在網絡中的位置進行編排;FlashComm3 技術通過對 MoE 架構的細致理解,通過計算流程的等價變換,盡可能提升模型計算的并行度,并借助昇騰硬件提供的多流能力實現并行,進而大幅提升大模型的推理吞吐。
未來,圍繞著超大規模 EP 下的多流并行、權重自動預取、模型自動多流并行等方向,華為團隊將進行更多的創新,進一步提升大模型推理的系統性能。
同時,隨著大語言模型特別是 MoE 架構的進一步擴展,其參數規模、專家數量與并發推理需求將持續增長,對通信、調度和資源協同會提出更高的要求。在這一趨勢下,華為昇騰不僅僅是硬件算力的提供者,更要構建一個面向大模型推理的全棧生態體系。