DeepInfer Field Notes 獨立 / 粉絲製作
限制 / 2026.10

DeepInfer 的限制:KV Cache、PD 與誰能跑

發佈標題說 DeepSeek 開源了它的推理引擎。DeepInfer README 裡真正關鍵的一句是:完整的 V4.1-Flash 推理服務還需要三樣本次發佈沒有的東西。以下說明它們是什麼、為何重要,以及打造它們的代價。

部署分析/12 分鐘閱讀/README + Q&A

DeepInfer 是離線推理引擎,不是託管 API,也不是模型;本次發佈不包含完整線上服務所需的 KV cache 系統、prefill/decode 分離,或資料平行副本之間的負載平衡。它服務的是 DeepSeek-V4.1-Flash,而這道缺口正是 README 自己列出來的。

三個缺席的元件

1. KV cache 系統

每個請求都會建立 KV cache:模型已為 prompt 算好的 key 與 value。若相同的 prefix 再次出現——很長的系統提示、多輪 agent 歷史、共用文件——重用快取就能省下重算。在大規模下,prefix 快取命中率是影響成本與 time-to-first-token 最大的槓桿之一。

真正的 KV cache 系統不是 GPU 記憶體裡的一個字典。它需要:

  • 具備淘汰與 TTL 的儲存階層(HBM、主機記憶體、SSD);
  • 能跨機器尋找 prefix,而不只是本機;
  • 與運算重疊的傳輸路徑;
  • 容錯,因為運算節點比儲存節點更常故障;
  • 不與負載平衡器互相拉扯的路由策略。

DeepSeek 的生產設計可以讓人感受規模:專用 3FS 叢集、約 100 PiB SSD、10+2 erasure coding、agent 流量 3 天 TTL 與 chatbot 流量 7 天 TTL、每張 GPU 約 14.4 TB 邏輯 KV,以及每 8 張 GPU 約 400 Gbps 互連。這些都不在本次發佈中。

2. VE / Prefill / Decode 分離

本次發佈說「多數必要的引擎功能已實作」,但完整的分離方案並未包含。在生產環境中,視覺編碼器、prefill 資源池與 decode 資源池跑在各自獨立的機器上,各有擴縮策略。難處在交接:在資源池之間搬移 KV cache、把請求路由到正確的 prefill 引擎,並讓 decode 的佔用率保持平衡。

少了這些,你仍可跑離線批次。但你無法重現 DeepSeek 線上服務的形態。

3. 資料平行副本之間的負載平衡

DeepSeek 為 prefill、decode、視覺編碼器與專家平行各用一個平衡器。prefill 平衡器依上下文長度把請求分級,再依剩餘運算配額路由;decode 平衡器同時考慮請求數與 KV 總長度;專家平衡器則在 GPU 之間搬移熱門專家。Q&A 說,結果大約達到完美平衡的離線 benchmark 的 80%。

最後這個數字是很好的現實檢驗:即使是 DeepSeek 的生產系統,也只達到離線 benchmark 吞吐量的約 80%。簡單的輪詢路由器不太可能做得更好。

實務上的後果

如果你下載 DeepInfer 並執行 examples/offline_inference.py,你跑的是一個帶有 DeepSeek kernel 與排程的批次引擎,而不是 DeepSeek 的服務。差別就是上面那三塊——再加上任何服務都需要的 API 層、驗證、配額、計費與可觀測性。

界線為何畫在這裡

2025 年 4 月,DeepSeek 解釋過為何不開源完整推理引擎:程式碼是舊版 vLLM 大幅修改後的分支,與內部叢集管理耦合,團隊也沒有餘力維護大型開源項目。當時的計畫是抽出獨立函式庫,並把優化回饋上游。

DeepInfer 是下一步,不是政策大轉彎。它開放了運算與排程路徑——kernel、平行、推測、快取復原、結構化輸出——並保留與內部基礎設施綁得最緊的部分:儲存系統、跨機器分離,以及生產負載平衡器。

這是一條連貫的界線。它也意味著「開源的生產引擎」這個說法需要加個限定:引擎是開放的,圍繞它的服務不是。

誰真的能跑

DeepInfer 支援 NVIDIA SM100 GPU 與華為 Ascend 950 NPU,但 DeepSeek 公布的效能圖只涵蓋 NVIDIA 硬件。這不代表 Ascend 不受支援,而是 Ascend 在公開資料中沒有被量測。

你是…能用嗎?需要什麼
有 SM100 GPU 的雲端供應商或實驗室可以,用於離線推理與自訂服務SM100 叢集、Linux/CUDA 13/Python 3.12 建置,加上自建的 KV cache 與負載平衡層
擁有 Ascend 950 NPU 的維運者原則上可以CANN 9.2 建置;效能與穩定性請自行驗證——DeepSeek 沒有公布 Ascend 吞吐量數據
能取得上述任一硬件的效能工程師可以,當作參考實作讀 kernel 與排程器;跑小型離線實驗
今天就要 OpenAI 兼容 API 的團隊不能直接用改用已提供 API 層的服務框架,或在 DeepInfer 之上自行打造
要服務其他模型的團隊不行只支援 V4.1-Flash
只有消費級 GPU 的愛好者不行列出的目標是 SM100 / Ascend 950;本機 V4.1 實驗用的是獨立的量化項目

你得自己建什麼

若想把 DeepInfer 變成服務,請為以下項目編預算:

  • KV cache 服務: prefix 比對、分層儲存、跨機器傳輸、TTL/淘汰、容錯。
  • Prefill/decode 路由: 分離的資源池、KV 交接、容量規劃、自動擴縮。
  • 負載平衡: prefill 依運算配額與上下文長度;decode 依請求數與 KV 長度;專家重新平衡。
  • API 層: Chat Completions / Responses / Messages、串流、工具呼叫、結構化輸出、錯誤處理。
  • 多租戶與維運: 驗證、配額、計費、速率限制、追蹤、指標、日誌、金絲雀部署。
  • 評測: 在你真實工作負載下的品質、延遲與成本回歸測試。

DeepSeek 的 deepseek-recipe 對 API 層的協定/分詞部分有幫助。它不提供伺服器、驗證、計費或 KV cache。

替代方案,不選邊

如果你的目標是服務 V4.1-Flash,DeepInfer 不是唯一的路。正確選擇取決於你已經在維運什麼,以及你需要控制什麼。

選項它給你什麼要確認什麼
vLLM成熟的服務堆疊,模型支援廣,具 OpenAI 兼容 API;其部落格描述了 V4.1-Flash 優化公布的優化是否對得上你的硬件與工作負載
SGLang高效能執行環境,有自己的 V4.1-Flash kernel 工作;項目回報在 4×GB300 上、BS=1 搭配 DSpark 可達 873.63 tokens/sBenchmark 條件;這不是與 DeepInfer 的比較
TensorRT-LLMNVIDIA 的服務堆疊,在 NVIDIA 硬件上表現強模型支援與引擎建置複雜度
LMDeployInternLM 的服務工具組;有 DeepSeek V3/R1 與 PD 分離的文件;透過 PyTorch 引擎提供 OpenAI API 與 AscendV4.1-Flash 支援、引擎選擇(TurboMind 或 PyTorch)與硬件
TGIHugging Face 的服務工具組,具 OpenAI 兼容 Messages API已進入維護模式;不要假設會有新的 V4.1-Flash 支援
Xinference多模型平台,具 OpenAI API、function calling、分散式 worker 與多種後端哪個後端能服務 V4.1-Flash,以及是否支援該架構
NVIDIA Dynamo位於 vLLM/SGLang/TensorRT-LLM 之上的編排層:PD 服務、KV 感知路由、KVBM它不是引擎;V4.1 支援取決於後端
llama.cpp / Ollama量化模型的本機與邊緣執行環境;適合桌面與原型開發不是 V4.1-Flash 的資料中心引擎;模型支援與記憶體是不同問題
MLC-LLM基於編譯器的執行環境,涵蓋 NVIDIA、AMD、Apple、Intel 與行動裝置要支援 V4.1 需要兼容的編譯模型
DeepInferDeepSeek 源自生產環境的 kernel 與排程,專為 V4.1-Flash缺席的服務層;SM100/Ascend 950 硬件

我們不對這些方案排名。vLLM 與 SGLang 已有 API 層與廣泛採用;DeepInfer 有 DeepSeek 的生產調校與更窄的範圍。下週就要 API 的團隊,不該從建 KV cache 服務開始。

決策指南

  • 用 DeepInfer,如果你有 SM100 或 Ascend 950 硬件、想研究或重現 DeepSeek 的服務優化,並且準備好自己建服務層。
  • 用 vLLM/SGLang,如果你現在就要能服務的 API、需要廣泛的模型支援,或不想自己維護 KV cache 與路由堆疊。
  • 再等等,如果你需要 Ascend 效能數據、與生產環境一致,或 DeepSeek 官方支援的線上服務路徑。
  • 別用,如果你只有消費級 GPU、需要其他模型,或期待一個開箱即用的 OpenAI 兼容端點。
總結

DeepInfer 是一次紮實的引擎發佈,界線也畫得誠實。價值在程式碼與生產筆記;風險在於把引擎當成服務。先讀 README 的「不包含」清單,再讀 benchmark 圖表。

接著讀:更詳細的生產缺口,或簡短答案。

↑