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

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

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

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

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