大型語言模型(LLM)推理中,字首快取是一種關鍵的延遲最佳化技術。然而,現有系統假設每令牌的鍵值(KV)快取可以密集複用。狀態空間模型(SSM)和迴圈層改變了問題結構:這些模型可以從單個儲存的狀態恢復,而不需要整個令牌歷史。這種不對稱性開啟了一個新的設計點——在無複用和密集快取之間:在稀疏的檢查點位置儲存精確的迴圈狀態,並在快取命中時從最深的儲存檢查點恢復,然後精確重新計算剩餘字尾。
本文正式將稀疏字首快取定義為在重疊深度分佈下的檢查點放置問題,並提出了一個精確的O(NM)動態規劃演算法。在多個請求共享顯著字首(例如,針對同一長文件提出不同問題)的應用場景中,該方法在真實資料上持續改善了標準啟發式方法所追蹤的Pareto前沿。在QuALITY和System Prompts資料集上,基於分佈感知的放置方法在每層組Pareto前沿上優於所有固定預算基線,並且匹配或超越了最強啟發式方法(塊快取),同時使用的檢查點數量通常更少。在低檢查點預算下,當重疊分佈最不均勻時,增益最大。
該方法在多個請求共享大量但不完全相同的字首且這些字首保留在快取條目中時最為適用。它保持精確輸出,不改變迴圈計算本身,也不需要新的迴圈更新核心。其適用於迴圈/SSM層,這些層的隱藏狀態可以精確提取和恢復。對於混合模型,該方法可以與現有的KV快取壓縮技術結合使用。
此外,該方法的實現相對簡單,因為不需要修改底層的迴圈計算方式,只需在檢查點位置儲存和恢復隱藏狀態。這降低了部署門檻,使得在現有的推理系統中整合稀疏字首快取成為可能。論文中的實驗表明,即使在較少的檢查點預算下,該方法也能顯著減少快取未命中時的計算量,從而降低整體推理延遲。這對於需要處理大量具有公共字首請求的服務(如多輪對話、文件問答等)尤其有價值。