AI News HubLIVE
站內改寫1 分鐘閱讀

Kara:通過滑動窗口KV緩存壓縮實現高效推理LLM服務

本文提出Kara,一種滑動窗口KV緩存壓縮方法,通過僅在最近生成的上下文上操作並進行解碼時壓縮,利用雙向注意力機制評分和選擇信息性KV對,並設計Token2Chunk模塊靈活保留重要語義信息。實驗表明,Kara和基於vLLM的推理框架KvLLM顯著降低了KV緩存內存使用並提高了輸出吞吐量。

來源arXiv Computational Linguistics作者: Shen Han, Yuyang Wu

推理語言模型(如思維鏈推理模型)在生成長鏈式思維(CoT)時,解碼階段會積累大量KV緩存,導致高延遲和有限的吞吐量。KV緩存壓縮通過選擇性地移除不重要的KV對來減輕內存負擔,是一項有前景的技術。然而,現有方法存在兩大侷限:第一,閾值觸發的壓縮策略可能無法提升甚至降低吞吐量,並且可能完全刪除某些序列塊的KV對,加劇信息損失;第二,它們通常只保留孤立的KV對或固定大小的chunk,無法靈活保留任意位置的重要語義信息。

針對這些問題,研究團隊提出了Kara,一種滑動窗口KV緩存壓縮方法。Kara僅在最近生成的上下文窗口內執行解碼時壓縮,利用雙向注意力機制計算窗口內每個KV對的注意力得分,從而選擇信息量最高的KV對。為了靈活保留重要語義,他們設計了Token2Chunk模塊,將選中的KV對擴展為可變大小的chunk,避免剛性邊界造成的信息割裂。這種設計允許保留任意位置的可變大小語義塊,克服了先前方法的缺陷。

Kara還被適配到PagedAttention中,並基於vLLM構建了推理框架KvLLM。PagedAttention是一種高效的內存管理技術,通過分頁管理KV緩存減少碎片化。Kara與PagedAttention的結合進一步優化了內存使用。實驗在多種任務上進行,包括語言建模、問答和推理,結果顯示Kara和KvLLM一致地降低了KV緩存內存使用,並顯著提升了輸出吞吐量。例如,在長序列生成任務中,Kara相比基線方法減少了高達50%的KV緩存大小,同時保持甚至提高了生成質量。

這項工作的意義在於,它為長上下文推理的高效部署提供了實用解決方案,尤其適用於需要大量CoT推理的應用場景,如數學推理、代碼生成和多步問答。Kara的設計兼顧了壓縮效率和信息保留,為未來推理模型的服務優化指明瞭方向。