「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 仍然建立在兩項已有技術之上:
(1)P/D 解耦(PD Disaggregation),將 prompt 處理與 decode 處理分離,以提高整體效率;
(2)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),其在所有配對上的總流量為:
![]()
其次是 DRAM 壓力分析。DRAM 是半雙工的,因此將讀取和寫入壓力相加。對于 PE 內存,其壓力為 2sB,這通常不會超過內存帶寬。對于 DE 內存,遵循上述類似的分析,可以得出其壓力為 (3 + 2P / D) Bs。要求 DE 內存壓力小于或等于 M,得到如下:
![]()
更多公式請參考原論文。
實際挑戰
雙路徑架構從根本上重新定向了數據移動方式:KV-Cache 既可以直接從存儲加載到預填充引擎,也可以通過解碼引擎間接加載 。通過這種方式,系統聚合了所有引擎的存儲帶寬,從而打破了預填充側的 I/O 瓶頸 。然而,在實際系統中實現這一高層設計引入了三個相互關聯的挑戰 。
一是細粒度數據傳輸。層級執行范式雖然對于克服 HBM 容量限制至關重要,但它會將 KV-Cache 碎片化為海量的細粒度數據塊。為了實現吞吐量增益,在存儲、主機 DRAM 和 GPU HBM 之間傳輸這些海量的細粒度數據塊時,必須確保產生極低的開銷,并與計算任務無縫重疊。
二是流量隔離。DualPath 中復雜的數據路徑在計算網絡和 PCIe 鏈路上都引入了額外的 KV-Cache 傳輸流量。一個主要的顧慮是,這些流量可能會干擾模型執行中至關重要的、對延遲敏感的現有集合通信操作 —— 例如專家并行中的 AllToAll,以及張量 / 上下文并行中的 ReduceScatter 和 AllGather。由于這些集合通信直接決定了端到端的推理延遲,因此在不降低模型推理性能的前提下利用空閑 I/O 帶寬是一個關鍵挑戰。
三是動態負載均衡。由于采用了兩種不同的 KV-Cache 加載路徑,系統必須及時決定每個請求使用哪條路徑。過于簡單的策略可能會導致某條路徑過載,從而重新產生原始瓶頸。流量調度器必須實時平衡多個因素:存儲網卡隊列長度、GPU 上的計算負載以及請求的工作負載特性。
評估結果
在評估部分,論文核心任務只有一個:證明 DualPath 在真實 agent 工作負載下,確實能解決存儲帶寬瓶頸,并帶來穩定、可擴展的性能提升。
論文在自研推理框架上實現 DualPath,核心改動約 5000 行代碼。底層使用 FlashMLA、DeepGEMM、DeepEP 等高性能算子,存儲后端采用 3FS 分布式存儲。
評測模型包括:DS 660B(MoE + 稀疏注意力)、DS 27B(縮小版實驗模型),Qwen 32B(稠密模型)。
離線批量推理
這一部分模擬 RL rollout 場景:n 個 agent 同時啟動,測整體完成時間(JCT)。
不同 Agent 批量規模與最大 Agent 長度(MAL)的影響。 隨著批量規模增大以及 MAL 變長,DualPath 的優勢更加明顯。圖 7 展示了在不同 batch size 與 MAL 組合下的 JCT 表現。SGL (MC) 出現錯誤,未能完成部分大規模配置(圖中 token 為 N/A)。在 DS 660B 模型上,DualPath 相比 Basic 最高實現了 1.87× 的加速,并展現出接近 Oracle 的性能,這表明 KV-cache 的 I/O 開銷基本被消除。在 DS 27B 上,DualPath 相比 Basic 最高提升 1.78×,但由于 1P1D 架構下存儲帶寬受限,其性能仍比 Oracle 慢 1.09–1.85×(見圖 8)。對于 Qwen 32B,趨勢與 DS 27B 類似。
![]()
![]()
不同追加長度(Append Length)與生成長度(Generation Length)的影響。如圖 9 所示,隨著追加長度增加,Basic 的性能逐漸接近 DualPath 和 Oracle,而 DualPath 與 Oracle 的性能變化較小,這表明系統瓶頸始終主要來自 GPU 計算壓力。與 Basic 相比,DualPath 在不同追加規模下實現了 1.82–1.99× 的加速。生成長度擴展時的趨勢類似。
![]()
Online Serving(在線推理服務)
在線服務實驗部分則模擬真實生產環境下 agent 按泊松分布持續到達的場景,設置 TTFT ≤ 4 秒、TPOT ≤ 50 毫秒為服務等級目標。結果表明,DualPath 顯著提高系統可承載的到達率上限:在 DS 27B 上提升 1.67 倍,在 DS 660B 上提升 2.25 倍。
與此同時,DualPath 的 TTST 與 Basic 基本持平,TPOT 也未引入額外解碼開銷,說明其優化集中在 KV-Cache 讀取與排隊階段,而不會影響解碼階段效率。更重要的是,在負載升高時,DualPath 能保持 TTFT 結構穩定,而 Basic 的排隊時間會因存儲帶寬不足迅速上升,成為延遲惡化的主要來源。
![]()
最后,論文還做了大量消融實驗,感興趣的讀者,可以參考原論文,查看更多內容。
轉載自:機器之心。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.