前置緩存

Prefix Caching

緩存 prompt 前段的 KV

詳細解釋

在 LLM 推理中緩存提示前綴(通常是系統消息、RAG 上下文、對話歷史)的 KV Cache,避免重複計算的優化技術。

問題背景:

  • 自回歸生成:每個新 token 需計算與所有前文的注意力
  • 重複前綴:多輪對話中,系統提示和前文不變,僅新增用戶消息
  • 浪費:每次都重新計算相同前綴的注意力,消耗 90%+ 計算

Prefix Caching 原理:

  • 存儲前綴的鍵值矩陣(KV Cache)
  • 新請求到達時,檢查前綴是否已緩存
  • 命中:直接從緩存加載,僅計算新 token
  • miss:計算完整前綴並存入緩存

應用場景:

  • 多輪對話:聊天機器人,上下文越來越長
  • RAG:相同文檔集合回答多個問題
  • 批量推理:相同提示模板,僅變量不同
  • Agent 循環:每步添加觀察,但指令和工具描述不變

實現工具:

  • vLLM:v0.3.0+ 引入 Prefix Caching
  • SGLang:RadixAttention 機制
  • Hugging Face TGI:Flash Attention 2 支持
  • 商業:Together AI、Fireworks 等已實現

效果:

  • 延遲降低:首 token 時間減少 50-90%(取決於緩存命中率)
  • 吞吐量提升:相同硬件服務更多並發
  • 成本:GPU 利用率提高,雲端成本降低

挑戰:

  • 內存管理:緩存淘汰策略(LRU、LFU)
  • 並發安全:多線程訪問緩存一致性
  • 分佈式:多 GPU 間緩存共享

這是 LLM 服務優化的核心技術之一,直接影響成本和用戶體驗。

探索更多AI詞彙

查看所有分類,繼續學習AI知識