前綴緩存(Prefix Caching)是一種在LLM推理中廣泛使用的優化技術,旨在避免冗余的提示詞(prompt)計算。其核心思想很簡單——我們緩存已處理請求的鍵值緩存(kv-cache)塊,并在新請求的前綴與之前請求相同時重用這些塊。由于前綴緩存幾乎是一種“免費的午餐”,并且不會改變模型輸出,因此它已被許多公共端點(例如OpenAI、Anthropic等)和大多數開源LLM推理框架(例如SGLang)廣泛采用。
盡管實現前綴緩存的方法有很多,但vLLM選擇了一種基于哈希的方法。具體來說,我們通過對每個kv-cache塊中的token以及該塊之前的prefix中的token進行哈希來標識緩存塊。
Block 1 Block 2 Block 3[A gentle breeze stirred] [