KV Cache
3 秒看懂
KV Cache(鍵值快取)是 Transformer 自迴歸解碼時,儲存已生成 token 的 Key 和 Value 矩陣,使每個新 token 只需與快取計算注意力,避免重複計算,將每步複雜度從平方級降為線性級。它以視訊記憶體放速度,是 LLM 推論的必備機制,也是視訊記憶體瓶頸的主要來源。
3 分鐘產業解釋
大型語言模型逐 token 生成文本,若每次都對全序列計算注意力,計算量隨序列長度平方增長,極不經濟。KV Cache 發現,自迴歸過程中歷史 token 的 K 和 V 可以複用——只需快取它們,新 token 的 Q 直接與之互動。這大幅降低延遲、提升吞吐,但快取大小與層數、頭數、序列長度、頭維度成正比。在 100K 上下文下,單請求快取可能高達數十 GB,遠超模型引數。 產業應對湧現出多查詢注意力(MQA)、分組查詢注意力(GQA)、分頁注意力(PagedAttention)、KV Cache 量化等技術,從模型結構和系統層面壓縮或高效管理快取。2024 年 DeepSeek 提出多頭潛在注意力(MLA),將 KV 壓縮到低維潛在空間,進一步突破瓶頸。KV Cache 直接影響 GPU/專用晶片的視訊記憶體需求與推論架構設計,是算力經濟性的關鍵變數。雲端服務商通過字首快取(Prefix Caching)共享對話歷史,可將首 token 延遲降低 10 倍以上,而這些技術無一不建立在 KV Cache 的高效管理之上。
技術原理
自注意力與增量計算
Transformer 解碼器在生成第 t 個 token 時,標準的自注意力需要將所有已生成的 t 個 token 重新投影並計算注意力,計算複雜度 O(t²·d)。啟用 KV Cache 後,僅對新 token 計算 q、k、v,並將 k、v 追加到歷史快取:
- 計算
q_t, k_t, v_t K_cache = concat(K_cache, k_t),V_cache = concat(V_cache, v_t)- 注意力輸出:
softmax(q_t·K_cacheᵀ/√dₖ)·V_cache每步複雜度降為 O(t·d),但讀視訊記憶體頻寬需求隨快取線性增長。
記憶體開銷解析
每層的 KV 張量形狀為 (batch, num_heads, seq_len, head_dim),K、V 兩份合計位元組:
bytes = 2 × L × batch × num_heads × seq_len × head_dim × dtype_size
以典型 7B 模型(32 層,32 頭,頭維度 128),batch=1,seq_len=4096,FP16 下快取約 2 GB;seq_len 擴充套件到 128K 時,激增至約 64 GB,遠超模型權重大小。這是 KV Cache 成為長上下文推論決定性約束的根本原因。
並行策略中的快取管理
- 張量並行(如 Megatron-LM):將注意力頭切分到多 GPU,每卡持有部分頭的 KV Cache,通訊通過 reduce-scatter 或 all-reduce 完成。每卡快取量 = 總快取 / 並行數,但通訊開銷隨規模上升。
- 流水線並行:層間順序執行,每張卡管理所屬層的 KV Cache,跨卡傳輸啟用值,快取不共享。
- 序列並行(如 DeepSpeed Ulysses):將序列維度切分,每卡存部分 token 的 KV,注意力計算時通過 all-to-all 通訊重組,可在長序列下平衡負載。
壓縮與量化原理
- 低精度儲存:將 K/V 以 INT8、INT4 或 2-bit 儲存,使用時解壓為 FP16 計算。KIVI 採用非對稱量化,對 K 和 V 分別使用不同量化引數,實驗表明在 LLaMA 類模型上 4-bit 量化僅需約 0.1 PPL 損失。
- 稀疏化:根據累積注意力分數丟棄不重要的 token 的 KV 條目。StreamingLLM 保留開頭的注意力“sink” token 和最近的視窗,在無限長序列下保持模型穩定。H2O 通過貪婪淘汰低分值條目,可將快取壓縮到原來的 20% 以下。
- 結構壓縮:MQA 所有頭共享同一套 K、V,快取縮小為頭數分之一。GQA 將頭分組,組內共享,如 LLaMA 2 70B 使用 8 組,快取縮小約 4 倍。MLA(DeepSeek V2/V3)將 Key 和 Value 先投影到低維潛在空間再擴充套件,大幅減少需要儲存的位元組數,同時幾乎無損。
分頁注意力記憶體管理
傳統方案為每個請求分配連續記憶體,導致大量碎片,實際利用率僅 20‑40%。vLLM 提出的 PagedAttention 將 KV Cache 切分為固定大小的塊(如 16 token/塊),通過頁表對映,使不同請求可以共享塊、按需分配,實現接近零碎片的視訊記憶體利用。同時,它使字首快取成為可能:多個請求共享同一 prompt 時,只需存一份 KV 塊,查詢時通過複製頁表引用即可,大幅降低冗餘。
關鍵引數
- 單請求 KV 快取大小:直接決定最小視訊記憶體需求和最大上下文長度。對於 LLaMA‑2‑70B(GQA,8 組),FP16 下 seq_len=128K 時單請求快取約 19 GB,需多卡部署。
- 最大批次大小:受限於(總視訊記憶體 − 模型權重)/ 單請求快取。例如 8×A100‑80GB(總 640 GB),部署 LLaMA‑2‑70B 模型權重約 140 GB,剩餘約 500 GB,若每請求快取 19 GB,理論上可同時支援約 26 個併發請求,但實際還需留餘量。
- 視訊記憶體頻寬利用率:生成階段每個 token 需讀取完整 K、V 快取,成為頻寬瓶頸。H100 的 HBM3 頻寬約 3 TB/s,但多請求併發時易飽和。通過分塊計算(FlashAttention)可減少 HBM 讀寫,但快取大小依然是決定性因素。
- 快取命中率:在多輪對話或共享系統提示的場景,字首快取命中率直接影響吞吐。典型對話應用命中率可達 80% 以上,此時預熱階段可省略大量計算。
- 首 token 延遲(TTFT):需處理完整 prompt 並建立 KV Cache,與 prompt 長度和快取寫入頻寬相關。字首快取可將已快取的字首部分延遲降至接近零。
- 快取碎片率:傳統預分配方案碎片率常超 50%,PagedAttention 可將其降至 5% 以下。
(資料口徑:以上示例引數基於公開論文、開源模型配置和分析報告估算,具體產品表現視硬體與架構實現而異。)
技術路線
| 技術路線 | 核心原理 | 快取壓縮效果 | 模型質量影響 | 代表專案/論文 |
|---|---|---|---|---|
| 標準多頭注意力 | 每頭獨立 K、V | 基準 | 基準 | Transformer(2017) |
| 多查詢注意力 (MQA) | 所有頭共享一套 K、V | 壓縮至 1/頭數 | 輕微下降 | Fast Transformer Decoding(2019) |
| 分組查詢注意力 (GQA) | 頭分組,組內共享 | 2‑4× 壓縮 | 近乎無損 | LLaMA 2、Mistral、Llama 3 |
| 多頭潛在注意力 (MLA) | K、V 投影到低維潛在空間再展開 | 顯著壓縮(實驗中可減少數倍) | 近乎無損(公開基準) | DeepSeek-V2/V3(2024) |
| 分頁注意力 (PagedAttention) | 記憶體分頁管理,減少碎片 | 不縮小絕對體積,提升利用率至近 100% | 無損 | vLLM、TensorRT-LLM |
| KV Cache 量化 | K/V 低精度儲存,計算時反量化 | 2‑4× 記憶體壓縮 | 輕微損失(PPL 變化 <0.1) | KIVI、GEAR、FlexGen |
| 稀疏/流式丟棄 | 按注意力分數或位置丟棄部分快取 | 不定(可壓縮到 20% 以下) | 可能損失遠端資訊 | StreamingLLM、H2O、SnapKV |
| 狀態空間模型 | 替代注意力,無需顯式 KV 快取 | 理論上極大 | 部分任務仍有差距 | Mamba、RWKV、RetNet |
上游
- 視訊記憶體與儲存器:KV Cache 的物理載體是 GPU 的視訊記憶體或專用 AI 晶片的片上 SRAM 等。HBM(高頻寬記憶體)是當前主力,SK 海力士、三星、美光主導市場。據 TrendForce 公開資訊,2024 年 HBM 位元需求增長超 200%,HBM3e 於同年下半年大規模出貨,單顆容量達 24 GB,堆疊頻寬超 1 TB/s。單卡視訊記憶體天花板目前約為 192 GB(如 AMD Instinct MI300X),但多數主流 GPU 仍在 80 GB 級別(NVIDIA H100)。CXL 記憶體擴充套件、Optane 衍生產品與 NVLink-C2C 等互聯技術嘗試打破單機視訊記憶體瓶頸,但頻寬遠低於本地 HBM,當下僅適合冷快取場景。
- 模型架構設計:注意力頭數、層數、頭維度、序列長度上限均由模型架構決定。架構設計者必須在質量與推論成本之間權衡,GQA 已成為大型模型標配(Llama 3、Mistral、Qwen 等),MLA 開始進入前沿模型,這些決定直接轉化為上游訓練架構和下游推論引擎的約束條件。
- 推論架構記憶體管理庫:如 CUDA 的視訊記憶體分配器、vLLM 的快取引擎核心,提供並行分配與釋放、塊級對映等功能,構成上游軟體棧。輝達的 TensorRT-LLM 集成了新一代 XQA(eXtreme Quantization for Attention)核心,可在低精度下加速快取計算。
下游
- 推論引擎與中介軟體:vLLM(UC Berkeley 孵化)憑藉 PagedAttention 成為開源推論標杆,支援超過 30 種模型架構,吞吐最高可達傳統 Hugging Face 方案的 24 倍。TensorRT-LLM 為 NVIDIA 官方出品,深度繫結硬體,提供 GPT‑attention 外掛與量化 KV 支援。SGLang 由斯坦福等團隊推出,引入了 RadixAttention 自動字首快取,在對話場景中大幅提升效率。Hugging Face TGI 以易用性著稱,也支援字首快取與量化。所有引擎的核心競爭力均圍繞 KV Cache 的高效排程。
- 應用場景:長文件問答、程式碼庫級補全、多輪對話、影片流分析等高度依賴長上下文,直接拉高快取需求。例如 Open‑source 專案在 128K 上下文下處理程式碼庫級任務,單請求可消耗超過 30 GB 視訊記憶體。多 Agent 系統同時維護多個長上下文,會成倍放大快取壓力。
- 雲端服務與平台:AWS Bedrock、Azure AI、GCP Vertex AI 等均在其模型即服務(MaaS)中集成了 KV Cache 最佳化,並對長上下文請求加收費用。Groq LPU 以全 SRAM 架構和確定性排程,面向使用者直接提供極低延遲的推論 API,其商業模式深度依賴線性可預測的快取訪問。雲端廠商還利用字首快取共享系統提示(如角色設定)降低邊際成本,再以每百萬 token 定價傳遞給終端使用者。
受益公司
- NVIDIA:作為推論硬體霸主,2024 年 FY2025 第三財季資料中心營收 308 億美元,推論需求成為主要增長引擎。其 TensorRT-LLM 持續整合 KV Cache 量化、分頁管理等最佳化,H200 將 HBM 容量提升至 141 GB 並增加頻寬,直接擴大可服務序列長度。
- AMD:Instinct MI300X 單卡 192 GB HBM3,在長上下文推論中有容量優勢,ROCm 生態對 vLLM 的支援不斷成熟,吸引部分超大規模客戶測試部署。
- vLLM 背後的實體:由 UC Berkeley 團隊創立的企業(公開資料未見具體融資額,但媒體報道已獲頭部 VC 投資),通過開源吸引生態,併為企業提供商業支援、託管服務和專用最佳化。
- Groq:自有 LPU 推論晶片,以大容量 SRAM 替代 HBM,快取訪問延遲極低且可預測,2024 年向公眾開放 API 並展示數千 token/秒的生成速度,但單張卡能支援的模型引數規模受限。
- SambaNova:自研 RDU 晶片,原生支援高容量快取和長上下文,面向企業級大型模型推論市場,融資超過 10 億美元(根據公開報道,截至 2024 年)。
- 雲端廠商(AWS、微軟 Azure、Google雲端):通過規模化部署 GPU/加速器,結合 prefix caching 等 KV 最佳化降低推論成本,並將技術優勢轉化為 per‑token 價格的競爭力。
- 半導體 IP 與互聯公司:如 Enfabrica(高速記憶體互聯)、D‑Matrix(面向推論的記憶體計算晶片)、Etched(Transformer 專用 ASIC)等,將 KV Cache 友好的記憶體系統設計作為核心賣點,其中部分已公佈獲得可觀融資(公開資料顯示 D‑Matrix 的 B 輪超 1 億美元),但具體產品量產時間表需追蹤。
(注:以上僅描述產業參與者,不構成任何投資建議。)
市場規模
- 推論硬體市場:據 IDC 統計,2023 年全球 AI 伺服器市場規模達到 248 億美元,推論工作負載佔比約 60%。TrendForce 預計 2024 年 AI 伺服器出貨增幅超過 40%,其中長上下文模型對視訊記憶體容量需求提升,直接推高單臺伺服器價值量,而視訊記憶體擴容支出的相當部分與 KV Cache 直接相關。
- HBM 市場:2024 年全球 HBM 市場規模有望突破 150 億美元(根據 TrendForce 及海力士財報揭露綜合判斷),AI 推論對高頻寬的需求是增量主力。SK 海力士 2024 年 HBM 產能已售罄,三星和美光積極擴充產線,供需緊張局面至少持續至 2025 年。
- 推論軟體與架構:KV Cache 最佳化的中介軟體作為推論技術棧的關鍵層,尚未有獨立細分市場測算。但以推論成本佔比衡量,若某雲端服務每百萬 token 收費 0.5 美元,而通過 PagedAttention 和 prefix caching 可將硬成本降低 40‑60%,其隱性市場價值巨大。據 Grand View Research 等機構報告,2023 年全球大語言模型服務市場約 28 億美元,預計 2030 年 CAGR 超過 35%。推論效率提升直接轉化為服務商的毛利率改善。 (口徑說明:以上市場數值均來自第三方分析機構的公開摘要,具體企業營收以財報為準;2024 年全年資料多數為估計值。)
玩家對比
| 維度 | 輝達 TensorRT-LLM | vLLM | SGLang | Groq LPU |
|---|---|---|---|---|
| 核心開發方 | 輝達 | UC Berkeley/初創企業 | 斯坦福等學術團隊 | Groq |
| 開源協議 | 開源(Apache 2.0) | 開源(Apache 2.0) | 開源(Apache 2.0) | 閉源硬體+SaaS API |
| KV 管理技術 | 分頁快取、FP8 KV、XQA 核心 | PagedAttention、prefix caching、KV 量化 | RadixAttention(基數樹字首快取)、分塊管理 | SRAM 全快取、確定性排程、無需分頁 |
| 支援的量化 | FP8、INT8、INT4 (部分) | FP8、INT8、FP6、塊量化 | FP8、INT8、量化方案與 vLLM 共享 | 架構原生,無量化需 |
| 最大實測吞吐提升(vs HF 基線) | 約 5‑8×(官方報告) | 最高 24×(社群測試,與模型相關) | 在多輪對話中可達 5× 額外提升 | 非 GPU 架構,端到端延遲接近硬體極限 |
| 上下文長度上限 | 受限於 GPU 視訊記憶體,可實跑 128K+ | 同理,支援 128K+ 長上下文 | 支援 128K,字首自動複用 | 目前可支援到 32K token(取決於模型大小) |
| 硬體依存 | 僅 NVIDIA GPU | NVIDIA GPU (AMD 實驗支援) | NVIDIA GPU、AMD ROCm | 僅 Groq LPU |
對比可見,開源引擎 vLLM 和 SGLang 以普適性和字首快取創新擴大影響力,TensorRT-LLM 與硬體深度耦合獲得極致效能,Groq 則用硬體架構重構快取假設,各有主打場景。
風險
- 替代架構的顛覆:Mamba、RWKV、RetNet 等狀態空間/線性注意力模型在理論上無需 KV Cache,若其在長上下文任務上達到 Transformer 水平並實現規模化訓練,現有快取管理體系可能被架空。截至 2024 年底,這些架構在 10B 以上規模仍有效能差距,但需持續追蹤。
- 硬體供給瓶頸:HBM 產能集中於少數廠商,地緣政治、自然災害或貿易限制可能導致緊缺加劇,推高推論硬體成本。如果無法獲得足夠視訊記憶體容量,長上下文服務的商業拓展將受制。
- 量化與質量取捨:雖然 4‑bit KV 量化在多數基準上損失微小,但在需要精確事實檢索或長程推論的場景下,極端量化可能產生累積偏差,需要謹慎評估。
- 安全與隔離性:雲端環境下多個使用者共享字首快取,若實現不當可能通過側通道洩漏其他使用者的 prompt 片段;雖然主流架構已做隔離,但多租戶架構下需要持續審計。
- 生態碎片化:注意力壓縮方案、記憶體管理 API 各不相同(PagedAttention、RadixAttention、MLA 等),應用開發者難以無縫切換,可能導致鎖定效應和遷移成本上升。
- 邊際效用遞減:從 128K 擴充套件到 1M token,快取大小成倍增加,而應用實際收益不成比例。使用者為超長上下文支付的額外成本可能低於技術實現代價,導致部分高階方案商業化進度不及預期。
誤讀糾偏
- “KV Cache 只是實現細節,不太重要”:錯誤。KV Cache 決定了推論的即時計算複雜度階數,對長序列生成是“能跑”與“不能跑”的區別。傳統注意力無快取時,序列翻倍使每步計算量翻兩番,根本無法產品化。
- “只要用了 GQA,快取就不是問題”:不。GQA 壓縮了頭維度,但序列長度的線性增長依然存在,100K 上下文下仍需結合分頁、量化、稀疏化等多種手段。GQA 把問題推後,但遠未解決。
- “PagedAttention 減小了 KV Cache 體積”:PagedAttention 主要最佳化記憶體碎片,將有效利用率從 20‑40% 提升至接近 100%,絕對位元組數並未減少,但允許在同一視訊記憶體中服務更長序列或更大批處理。
- “量化 KV Cache 會嚴重損害模型質量”:多項研究表明 4‑bit 甚至 2‑bit 的 KIVI 量化在 LLaMA 2 70B 上的 PPL 損失可控制在 0.1 以內,對下游任務準確率影響很小。但切勿在未測試的情況下推廣至所有模型。
- “KV Cache 越大越好”:快取佔用過大將擠佔可用於批處理的視訊記憶體,導致併發度下降,系統整體吞吐反而可能惡化。最優配置需在上下文長度與併發量間平衡。
最新事件
- DeepSeek V2 釋出 MLA(2024 年 5 月):將 KV Cache 壓縮到低維潛在表徵,在訓練中使用解壓縮權重保持注意力質量。隨後 V3(2024 年 12 月)進一步擴充套件,以遠低於同類模型的長上下文成本支援 128K token,引爆行業對注意力架構革新的討論。
- Meta Llama 3.1 支援 128K 上下文(2024 年 7 月):模型採用 GQA,推論時需搭配分頁和量化才能高效執行。官方將 vLLM 作為推薦推論引擎,推動其生態普及。
- SGLang 推出 RadixAttention(2024 年初):通過 Radix 樹自動檢測並複用重複字首,多輪對話和 few-shot 示例場景中視訊記憶體和延遲顯著改善,部分測試中吞吐提升數倍,已在多個大型模型 API 服務中部署。
- NVIDIA H200 開始出貨(2024 年底):視訊記憶體容量 141 GB HBM3e,頻寬 4.8 TB/s,單卡可容納更長的 KV 序列。TensorRT-LLM 同步更新核心以利用新硬體。
- vLLM V1 架構重構(2024‑2025):新一代排程器與記憶體管理支援非同步流水線、動態字首快取及塊最佳化,吞吐和延遲均有大幅改善。社群活躍度急速攀升。
- AMD ROCm 對 vLLM 的正式支援(2024 年中):使 MI300X 等大視訊記憶體 GPU 能執行 vLLM 的全部特性,為長上下文推論提供了非 NVIDIA 替代方案。
- Google DeepMind 的 Infini‑attention(2024 年 4 月):結合線性注意力與壓縮記憶,減少對 KV Cache 的依賴,可處理 1M token 的極長上下文,但仍處於研究階段。 (事件時間節點基於公開論文、技術部落格和產品釋出新聞。)
追蹤指標
- 最大有效上下文長度:模型實際可穩定執行的最長 token 數,受 KV 管理能力制約。
- 每請求視訊記憶體佔用:單請求的 KV Cache 分配量,影響併發。
- KV 塊利用率:分頁系統中有用塊佔比,反映碎片控制水平(宜 >90%)。
- 字首快取命中率:代表系統複用已快取 prompt 的程度,命中率越高,預填充成本越低。
- 首 token 延遲(TTFT)與生成延遲(TPOT):TTFT 受 prompt 長度和快取建立速度影響;TPOT 與 KV 讀取頻寬相關。
- 每 token 推論成本:雲端服務 API 每百萬 token 價格的變化,是 KV 最佳化最終投向市場的縮影。
- 視訊記憶體頻寬佔用率與功耗:衡量硬體利用效率和運營成本。
- HBM 供應鏈指標:HBM2e/3/3e 的交貨期、價格和主要原廠產能利用率,作為上游約束的先行指標。
信源
- Vaswani et al., “Attention Is All You Need”, NeurIPS 2017.(Transformer 基礎)
- Shazeer, “Fast Transformer Decoding: One Write-Head is All You Need?”, 2019.(MQA)
- Ainslie et al., “GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints”, EMNLP 2023.(GQA)
- DeepSeek-AI, “DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model”, arXiv 2024.(MLA)
- Kwon et al., “Efficient Memory Management for Large Language Model Serving with PagedAttention”, SOSP 2023.(vLLM)
- Dao et al., “FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness”, NeurIPS 2022;FlashAttention-2, 2023.(IO 最佳化)
- Liu et al., “KIVI: A Tuning-Free Asymmetric 2bit Quantization for KV Cache”, ICML 2024.(KV 量化)
- NVIDIA, “TensorRT-LLM”, 官方文件 2024.(推論引擎)
- Groq, “Architecture Overview”, 官方技術白皮書 2024.(LPU)
- IDC, “Worldwide AI Server Tracker”, 2023‑2024.(市場規模)
- TrendForce, “HBM Market Update”, 2024‑2025.(HBM 供需)
- 各架構官方文件及 GitHub 倉庫:vLLM、SGLang、Hugging Face TGI。 (所有數字和事件以原始來源最新發布為準,公開分析報告僅作參考。)