「DeepSeek V4 來了!」這樣的消息是不是已經(jīng)聽煩了?
我們也是。
不過 DeepSeek V4 雖然遲遲未發(fā),但今天我們等來了其與清華、北大合作撰寫的一篇新論文。
總結(jié)來說,這篇新論文介紹了一個名為「DualPath」的創(chuàng)新推理系統(tǒng),專門針對智能體工作負(fù)載下的大語言模型(LLM)推理性能進(jìn)行優(yōu)化。具體來講,通過引入「雙路徑 KV-Cache 加載」機制,解決了在預(yù)填充 - 解碼(PD)分離架構(gòu)下,KV-Cache 讀取負(fù)載不平衡的問題。
該推理系統(tǒng)帶來了顯著效果:在離線推理場景中實現(xiàn)了1.87 倍的吞吐量提升,在線服務(wù)場景下實現(xiàn)了1.96 倍的服務(wù)吞吐量提升。

- 論文標(biāo)題:DualPath: Breaking the Storage Bandwidth Bottleneck in Agentic LLM Inference
- arXiv 地址:https://arxiv.org/pdf/2602.21548
我們知道,如今智能體已經(jīng)成為主流 AI 開發(fā)范式。但是,智能體范式下出現(xiàn)了全新的瓶頸,即存儲帶寬。
在多輪互動的智能體場景中,上下文信息會隨輪次迅速累積,導(dǎo)致其呈現(xiàn)出 「長上下文、短追加」 的特征。研究指出,這類負(fù)載的 KV-Cache 命中率通常高于 95%。這意味著系統(tǒng)性能的決定性因素已不再是純粹的計算能力,而是從存儲中加載 KV-Cache 的效率。

在現(xiàn)有的預(yù)填充 - 解碼分離(PD-disaggregated)架構(gòu)中,所有的存儲 I/O 壓力都集中在預(yù)填充引擎(PE)的存儲網(wǎng)卡上,而解碼引擎(DE)的存儲帶寬則被閑置。這種帶寬利用的極度不平衡,成為了限制系統(tǒng)吞吐量的核心障礙。
針對這一痛點,DualPath 重新設(shè)計了數(shù)據(jù)加載路徑,核心創(chuàng)新在于引入了存儲到解碼(Storage-to-Decode)路徑,包括以下兩個特征:
一方面是雙路并行。KV-Cache 不僅可以直接讀入預(yù)填充引擎,還可以先加載到解碼引擎,隨后通過高帶寬 RDMA 計算網(wǎng)絡(luò)高效傳輸至預(yù)填充引擎。
另一方面是帶寬資源池化:通過動態(tài)分配兩條路徑的負(fù)載,DualPath 成功將集群中所有引擎的存儲網(wǎng)卡聚合為一個 全局容量池,徹底打破了單節(jié)點 I/O 的限制。

另外,為了確保大規(guī)模數(shù)據(jù)傳輸不干擾延遲極其敏感型的模型推理任務(wù),DualPath 還采用了以下兩項關(guān)鍵技術(shù):
一是以計算網(wǎng)卡(CNIC)為中心的流量管理:系統(tǒng)將所有 GPU 相關(guān)的流量(包括本地內(nèi)存拷貝)統(tǒng)一通過計算網(wǎng)卡進(jìn)行管理,同時利用網(wǎng)絡(luò)的服務(wù)質(zhì)量(QoS)機制,將推理通信設(shè)為高優(yōu)先級,確保加載 KV-Cache 的流量僅利用閑置帶寬,不影響延遲 SLO。
二是自適應(yīng)請求調(diào)度:調(diào)度器實時監(jiān)控各引擎的磁盤讀取隊列長度和計算負(fù)載,動態(tài)決定每個請求的最優(yōu)路徑。同時,通過計算配額機制優(yōu)化引擎內(nèi)調(diào)度,最大限度減少 GPU 執(zhí)行過程中的氣泡。
研究團(tuán)隊在包含 1152 個 GPU 的大規(guī)模生產(chǎn)集群上對 DualPath 進(jìn)行了評估,并驗證了離線與在線服務(wù)場景下吞吐量的顯著提升。
接下來解析 DualPath 系統(tǒng)細(xì)節(jié)。
DualPath 系統(tǒng)概覽
為了打破 Prefill 側(cè)存儲 I/O 的瓶頸,DeepSeek 提出了一種雙路徑加載架構(gòu),重新設(shè)計了在 Prefill–Decode 解耦(PD-disaggregated)推理架構(gòu)中 KV-Cache 的讀取方式。傳統(tǒng)做法是所有 KV-Cache 都從存儲直接讀入 Prefill 側(cè) GPU,導(dǎo)致 Prefill 側(cè)存儲網(wǎng)卡成為單點瓶頸。DualPath 則在此基礎(chǔ)上增加了一條新的加載路徑,從而緩解這一不平衡問題。
DualPath 仍然建立在兩項已有技術(shù)之上:
P/D 解耦(PD Disaggregation),將 prompt 處理與 decode 處理分離,以提高整體效率;
Layerwise Prefill,通過按層加載 KV-Cache,避免了 LayerKV 和 PrefillOnly 指出的 Prefill 引擎上的 HBM 顯存瓶頸問題,從而提升 GPU 利用率。
DualPath 整個系統(tǒng)由三部分組成:
- 推理引擎(Inference Engines)。每個引擎管理一張 GPU。引擎分為兩類:用于執(zhí)行 prefill 的 Prefill Engine(PE),以及用于執(zhí)行 decode 的 Decode Engine(DE)。
- 流量管理器(Traffic Manager)。每個引擎內(nèi)部都包含一個流量管理器,負(fù)責(zé):(1)主機與設(shè)備之間的內(nèi)存拷貝(H2D 與 D2H);(2)PE 與 DE 之間的 KV-Cache 傳輸;(3)通過存儲網(wǎng)卡進(jìn)行 KV-Cache 的讀寫操作。DeepSeek 采用以 CNIC 為中心的流量管理方案,以防止 KV-Cache 相關(guān)流量干擾模型推理過程中的通信。
- 請求調(diào)度器(Request Scheduler)。一個中心化調(diào)度器,負(fù)責(zé)接收客戶端請求并將其分配到不同引擎。同時,它還負(fù)責(zé)在兩條加載路徑之間動態(tài)分配數(shù)據(jù)流量(如圖 4 所示)。

雙路徑加載(Dual-Path Loading)
傳統(tǒng)系統(tǒng)中,KV-Cache 只能從存儲直接讀入 Prefill 引擎,因此所有存儲帶寬壓力都集中在 Prefill 側(cè),形成單點瓶頸。DualPath 在此基礎(chǔ)上增加了一條新的加載路徑:KV-Cache 可以先從存儲讀入 Decode 引擎,再通過高速 RDMA 計算網(wǎng)絡(luò)傳回 Prefill 引擎。這樣,系統(tǒng)就可以同時利用 Prefill 和 Decode 兩側(cè)的存儲網(wǎng)卡帶寬,而不是只依賴 Prefill 一側(cè),從而消除帶寬不均衡問題。
為了實現(xiàn)雙路徑加載,DualPath 在每個 Prefill Engine(PE)和 Decode Engine(DE)上分配少量 DRAM 作為緩沖區(qū),分別稱為 PE buffer 和 DE buffer。
Prefill 側(cè)讀取路徑。首先,將命中 token 的 KV-Cache 從持久化存儲中讀取到 PE buffer(如圖 4a 中標(biāo)注 1 和 2)。在某一注意力層開始計算之前,該層對應(yīng)的 KV-Cache 會從 PE buffer 傳輸?shù)?PE 的 HBM(3 和 4),用于計算未命中(cache-miss)的 prompt token 的 KV-Cache。隨后,命中和未命中 token 的所有 KV-Cache 都會被傳輸?shù)?DE buffer,以組成完整的 prompt KV-Cache( 5–7)。步驟 3–7 的流程會重復(fù) n_layer 次。在 prefill 前向計算過程中,數(shù)據(jù)傳輸與計算是重疊執(zhí)行的。
預(yù)填充 DE 讀取路徑。首先,命中 token 的 KV-Caches 會被讀取到 DE 緩沖區(qū)中(如圖 4b 中的標(biāo)簽 1 和 2 )。在 PE 預(yù)填充期間,相應(yīng)層的 KV-Cache 會從 DE 緩沖區(qū)中讀取,這同樣與計算過程相重疊( 3-5)。此過程會重復(fù) n_layer 次。當(dāng)每一層的計算完成后,只有缺失 token 的 KV-Caches 會被傳輸?shù)?DE 緩沖區(qū),并與現(xiàn)有的命中 token KV-Cache 進(jìn)行合并。
解碼階段。在 DE 緩沖區(qū)接收到完整的提示 KV-Cache(包括通過 PE 讀取路徑加載的 KV-Cache 以及新追加 token 的 KV-Cache)后,解碼階段正式開始。DE 首先分配 HBM 并執(zhí)行主機到設(shè)備(H2D)傳輸(如圖 4a 中的標(biāo)簽 8 和 9;圖 4b 中的標(biāo)簽 6 和 7 ),隨后在開始解碼前釋放 CPU 內(nèi)存。
DE 緩沖區(qū)的設(shè)計雖然給 DRAM 和 CNIC 帶來了額外的帶寬壓力(因為增加了一次額外的 H2D 拷貝),這本可以通過 GPU Direct RDMA 直接繞過來避免。然而,由于在此類智能體場景下生成的長度通常較短,首 token 延遲在整個端到端請求時間中占據(jù)了不可忽視的比例。引入 DE 緩沖區(qū)有助于減少 GPU 內(nèi)存占用。在解碼過程中,每當(dāng)累積一個完整的 token 塊(例如 64 個 token)時,系統(tǒng)會立即將其持久化到磁盤中。
不同的數(shù)據(jù)塊布局。DualPath 采用了兩種不同的數(shù)據(jù)塊布局:完整塊和層級塊,它們分別包含所有層的信息和單個層的信息。對于所有與存儲系統(tǒng)的交互,均采用完整塊。在 PE 讀取的情況下,KV-Cache 加載到 PE HBM 以及傳輸?shù)?DE 緩沖區(qū)的過程是以層級流式方式進(jìn)行的,兩者都使用層級塊。同樣地,對于 DE 讀取路徑,從 DE 緩沖區(qū)到 PE HBM 的傳輸也使用層級塊。
無瓶頸(Bottleneck-Free)分析
比例(預(yù)填充 / 解碼比例)下證明了,該系統(tǒng)可以完全打滿所有存儲網(wǎng)卡(NIC)的帶寬,且不會引入計算網(wǎng)卡或 DRAM 的瓶頸。
假設(shè) PCIe 拓?fù)渑渲昧己茫疵恳粚?GPU - NIC 都位于同一個 PCIe 交換機下)、任務(wù)調(diào)度負(fù)載均衡、計算網(wǎng)絡(luò)無擁塞,且存儲讀取帶寬得到了充分利用。
首先是 PE CNIC 帶寬分析。對于 PE CNIC,由于存在回環(huán)流量(即不經(jīng)過交換機的 H2D 和 D2H 拷貝),因此無論讀或?qū)懖僮鳎琍CIe 側(cè)的總流量始終大于或等于交換機方向的流量。因此,只需要計算 PCIe 側(cè)的壓力。讀取操作包括 PE 路徑 (3) 和 (5),其在所有配對上的總流量為: