模型在預填充階段做筆記:KV緩存變得可編輯且可組合
研究表明,大型語言模型在預填充階段會將字段條件結論寫入下游筆記,使得KV緩存具有可編輯性和可組合性。通過鏈式思維編輯字段即可恢復決策,而預編譯的技能可通過RoPE重新定位並拼接至任意上下文,實現與完全重新計算幾乎無差異的結果,同時延遲降低多達14.9倍。該方法適用於多種注意力和緩存變體,並在在線vLLM基準測試中保持98.5%的緩存命中率。
大型語言模型(LLM)的推理效率一直是研究熱點,其中KV緩存技術通過緩存鍵值對來避免重複計算,顯著加速生成過程。然而,傳統的前綴緩存要求共享前綴完全一致,任何字段的變化都會導致整個下游緩存失效。最新研究《Models Take Notes at Prefill: KV Cache Can Be Editable and Composable》揭示了這一現象背後的深層原因,並提出了兩種革命性能力:可編輯和可組合的KV緩存。
研究團隊跨四個模型家族進行了因果分析,發現一個關鍵現象:在預填充階段,模型不僅處理當前字段,還會將基於該字段得到的結論寫入後續的“筆記”中。這些筆記實際上決定了模型的最終輸出,而字段本身的鍵/值向量對決策的貢獻不足1%。因此,僅僅覆蓋字段本身的向量而保留下游緩存,模型仍然基於舊值做出判斷。
基於這一認識,研究人員提出了兩種新能力。首先是可編輯性:當需要修正錯誤時,只需通過鏈式思維(Chain-of-Thought)編輯相關字段,模型就會自動調整其筆記。實驗表明,在8B模型上使用鏈式思維編輯字段,可以完全恢復正確決策,且僅需約1%的額外計算量;而如果直截了當地修改字段而不使用鏈式思維,修改將被忽略。其次是可組合性:由於筆記是位置無關的,可以將預編譯的技能(例如特定的推理步驟)通過旋轉位置編碼(RoPE)進行位置調整後,無縫插入任意上下文中。這種方法的時間複雜度為O(L),而完全重新計算為O(L²),且兩者的輸出logit餘弦相似度高達0.90至0.999。在一項實驗中,統一的編輯+組合代理實現了與完全重新計算在決策上完全一致的輸出,同時延遲降低最高達14.9倍。
該方法的通用性令人印象深刻。它不僅適用於任何基於逐token注意力的KV緩存,還在不同模型規模、量化版本、混合專家模型(MoE)以及多模態緩存中得到了驗證。通過小型適配器,該方法還可擴展至多種注意力變體。此外,由於錯誤的修正是以追加形式進行的,它能夠與生產級前綴緩存協同工作。在在線vLLM基準測試中,該方法保持了98.5%的緩存命中率,並將p90首次令牌生成時間降低了53至398倍。
這項研究為LLM推理優化開闢了新方向。通過將KV緩存視為可編輯和可組合的“筆記”,我們能夠在保持決策質量的同時大幅提升效率。未來,這一方法有望在實時應用、模型微調場景以及在有限計算資源下部署大型模型時發揮關鍵作用。