本來以為DeepSeek開源周連續(xù)五天的開源項(xiàng)目已經(jīng)結(jié)束了,萬萬沒想到DeepSeek還有one more thing ,補(bǔ)了一個(gè)王炸開源項(xiàng)目第六彈:深度揭秘DeepSeek V3/R1 推理系統(tǒng)背后的秘密
本號(hào)第一時(shí)間給大家劃個(gè)重點(diǎn)
V3/R1系統(tǒng)設(shè)計(jì)原則:效率至上!
DeepSeek V3/R1 推理系統(tǒng)的核心目標(biāo)非常明確:更高吞吐量,更低延遲!為了實(shí)現(xiàn)這兩個(gè)目標(biāo),DeepSeek 團(tuán)隊(duì)祭出了一個(gè)大招 ——跨節(jié)點(diǎn)專家并行 (Expert Parallelism, EP)!
專家并行 (EP) 是什么神仙操作?
簡(jiǎn)單來說,EP就像是“多人協(xié)作”,把模型中的“專家”分散到多張 GPU 上進(jìn)行計(jì)算。這樣做有兩大好處:
?大幅提升 Batch Size,榨干 GPU 算力!更大的 Batch Size 意味著 GPU 矩陣運(yùn)算效率更高,推理吞吐量自然水漲船高!
?專家分散,降低內(nèi)存壓力,更快響應(yīng)!?? 每個(gè) GPU 只需處理一小部分專家,減少了內(nèi)存訪問需求,延遲也就降下來啦!
當(dāng)然,EP 也不是完美無瑕的,它也帶來了新的挑戰(zhàn):
1.跨節(jié)點(diǎn)通信!專家分散在不同節(jié)點(diǎn),節(jié)點(diǎn)間的通信就成了性能瓶頸。DeepSeek 團(tuán)隊(duì)必須精心設(shè)計(jì)計(jì)算流程,讓通信和計(jì)算“無縫銜接”,最大化效率!
2.多節(jié)點(diǎn)數(shù)據(jù)并行 (DP) + 負(fù)載均衡!?? EP 本身就涉及多節(jié)點(diǎn),再加上數(shù)據(jù)并行,負(fù)載均衡就顯得尤為重要!必須保證所有 GPU 都“吃飽喝足”,避免出現(xiàn)“木桶效應(yīng)”。
DeepSeek 團(tuán)隊(duì)為了解決 EP 帶來的復(fù)雜性,可謂是下足了功夫!他們主要從以下幾個(gè)方面入手:
1.規(guī)模化跨節(jié)點(diǎn)專家并行 (Large-scale Cross-node Expert Parallelism (EP))
DeepSeek V3/R1 模型參數(shù)量巨大,專家數(shù)量也相當(dāng)驚人 (256個(gè)專家中只有8個(gè)被激活!)。這種高稀疏性決定了模型需要超大的 Batch Size才能充分發(fā)揮性能。 因此,大規(guī)模跨節(jié)點(diǎn) EP是必然選擇!
為了適應(yīng)預(yù)填充 (prefill) 和解碼 (decode) 階段的不同特點(diǎn),DeepSeek 采用了不同程度的并行策略:
?預(yù)填充階段 [Routed Expert EP32, MLA/Shared Expert DP32]: 每個(gè)部署單元跨越 4 個(gè)節(jié)點(diǎn),擁有 32 個(gè)冗余路由專家。每張 GPU 管理 9 個(gè)路由專家和 1 個(gè)共享專家。
?解碼階段 [Routed Expert EP144, MLA/Shared Expert DP144]: 每個(gè)部署單元擴(kuò)展到 18 個(gè)節(jié)點(diǎn),依然是 32 個(gè)冗余路由專家。每張 GPU 管理 2 個(gè)路由專家和 1 個(gè)共享專家。
?計(jì)算-通信重疊 (Computation-Communication Overlapping)
大規(guī)模跨節(jié)點(diǎn) EP 引入了巨大的通信開銷。為了解決這個(gè)問題,DeepSeek 采用了雙批次重疊策略 (dual-batch overlap strategy)。 簡(jiǎn)單來說,就是把一個(gè)大的請(qǐng)求 Batch 分成兩個(gè) Micro-Batch,交替執(zhí)行。這樣,一個(gè) Micro-Batch 的通信開銷就可以巧妙地隱藏在另一個(gè) Micro-Batch 的計(jì)算過程中!
以下是預(yù)填充階段的計(jì)算-通信重疊示意圖:
解碼階段也采用了類似的策略,但更加精細(xì),將 Attention 層進(jìn)一步細(xì)分為兩步,使用了五階段流水線 (5-stage pipeline),實(shí)現(xiàn)更流暢的通信-計(jì)算重疊
想了解更多計(jì)算-通信重疊的細(xì)節(jié)? 猛戳這里:https://github.com/deepseek-ai/profile-data (DeepSeek 官方性能分析數(shù)據(jù)倉庫)
2.最優(yōu)負(fù)載均衡 (Optimal Load Balancing) ??
大規(guī)模并行 (DP + EP) 帶來的另一個(gè)挑戰(zhàn)就是負(fù)載均衡。 一旦某個(gè) GPU 成為瓶頸,整個(gè)系統(tǒng)的性能都會(huì)被拖累。為了最大化資源利用率,DeepSeek 團(tuán)隊(duì)在負(fù)載均衡方面也做了很多優(yōu)化,主要包括以下三個(gè)方面:
a.預(yù)填充負(fù)載均衡器 (Prefill Load Balancer)
?關(guān)鍵問題:不同 DP 實(shí)例的請(qǐng)求數(shù)量和序列長度不同,導(dǎo)致核心注意力計(jì)算和分發(fā)發(fā)送負(fù)載不均衡。
?優(yōu)化目標(biāo):
* 平衡 GPU 之間的核心注意力計(jì)算負(fù)載 (核心注意力計(jì)算負(fù)載均衡)。
* 均衡每個(gè) GPU 的輸入 Token 數(shù)量 (分發(fā)發(fā)送負(fù)載均衡),防止特定 GPU 成為性能瓶頸。
b.解碼負(fù)載均衡器 (Decode Load Balancer)
?關(guān)鍵問題:不同 DP 實(shí)例的請(qǐng)求數(shù)量和序列長度不均,導(dǎo)致核心注意力計(jì)算 (與 KVCache 使用量相關(guān)) 和分發(fā)發(fā)送負(fù)載差異。
?優(yōu)化目標(biāo):
* 平衡 GPU 之間的 KVCache 使用量 (核心注意力計(jì)算負(fù)載均衡)
* 均衡每個(gè) GPU 的請(qǐng)求數(shù)量 (分發(fā)發(fā)送負(fù)載均衡)
c.專家并行負(fù)載均衡器 (Expert-Parallel Load Balancer)
?關(guān)鍵問題:對(duì)于 MoE 模型,存在一些天生高負(fù)載的專家,導(dǎo)致不同 GPU 上的專家計(jì)算負(fù)載不均衡。
?優(yōu)化目標(biāo):
* 平衡每個(gè) GPU 上的專家計(jì)算負(fù)載 (即,最小化所有 GPU 的最大分發(fā)接收負(fù)載)。
整個(gè) DeepSeek 在線推理系統(tǒng)架構(gòu)清晰明了,各個(gè)組件協(xié)同工作,保證了高性能和穩(wěn)定性。
硬核數(shù)據(jù)說話!) DeepSeek 在線服務(wù)性能統(tǒng)計(jì)
DeepSeek V3/R1 推理服務(wù)全部部署在H800 GPU上,并采用了與訓(xùn)練一致的精度策略:
? 矩陣乘法和分發(fā)傳輸** 使用FP8格式
? 核心 MLA 計(jì)算和組合傳輸** 使用BF16格式
保證了最佳服務(wù)性能!
根據(jù)統(tǒng)計(jì)數(shù)據(jù) (UTC+8 02/27/2025 12:00 PM to 02/28/2025 12:00 PM):
單 H800 節(jié)點(diǎn)平均吞吐量:預(yù)填充階段約 73.7k tokens/s (輸入,包含緩存命中),解碼階段約14.8k tokens/s (輸出)!
?成本利潤率高達(dá) 545%!這簡(jiǎn)直逆天!
其他關(guān)鍵數(shù)據(jù):
? 總輸入 Tokens:608B,其中 342B (56.3%) 命中 On-disk KV 緩存
? 總輸出 Tokens:168B。
? 平均輸出速度:20-22 tokens/秒。
? 平均每個(gè)輸出 Token 的 KVCache 長度:4,989 tokens
DeepSeek 還根據(jù)白天和晚上的服務(wù)負(fù)載動(dòng)態(tài)調(diào)整推理節(jié)點(diǎn)數(shù)量,實(shí)現(xiàn)資源的最優(yōu)利用!
DeepSeek V3/R1 推理系統(tǒng)通過跨節(jié)點(diǎn)專家并行 (EP)、計(jì)算-通信重疊和精細(xì)的負(fù)載均衡策略,實(shí)現(xiàn)了驚人的性能和效率! 這不僅展現(xiàn)了 DeepSeek 強(qiáng)大的技術(shù)實(shí)力,也為大模型推理系統(tǒng)的優(yōu)化提供了寶貴的經(jīng)驗(yàn)
只能說deepseek太牛了,再讓我震驚一會(huì)!
參考:
https://github.com/deepseek-ai/open-infra-index/blob/main/202502OpenSourceWeek/day_6_one_more_thing_deepseekV3R1_inference_system_overview.md
?星標(biāo)AI寒武紀(jì),好內(nèi)容不錯(cuò)過?
用你的贊和在看告訴我~
求贊
特別聲明:以上內(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.