R-KV團隊 投稿量子位 | 公眾號 QbitAI
推論大型模型雖然好用,但一個簡單的算術問題竟能推論足足三頁,還都是重複的「廢話」,找不到重點……
一種能將大型模型的「碎碎念」轉化為可控記憶條目的高效壓縮方法,現已問世!
R-KV開源登場:顯存↓90%、吞吐量×6.6、準確率=100%。
它能透過即時對token進行排序,兼顧重要性與非冗餘性,僅保留資訊豐富且多樣化的token,從而解決大型模型推論時的冗餘問題。
讓「長時間推論」不再是奢侈品。
專案詳情請見文末連結。
R-KV三步驟:冗餘識別+重要性評估+動態淘汰
鏈式思考(Chain-of-Thought, CoT)使大型語言模型(LLM)的解題思路清晰可見,卻也讓推論長度呈現指數級膨脹。
以DeepSeek-R1-Llama-8B為例,一道AIME數學題就能寫出3.2萬個Token:模型權重15.5GB,KV快取再佔4.1GB——顯存瞬間見底。
現有KV壓縮方法(SnapKV、StreamingLLM、H2O等)主要針對長輸入設計,可一旦模型在輸出端開始「碎碎念」,相似句子之間互相打高分注意力,反而讓「按注意力刪低分」策略失效:
造成關鍵步驟被誤刪、重複內容卻被保留、準確率斷崖式下跌等問題。
而R-KV透過以下步驟,在模型解碼時即時壓縮KV快取來處理冗餘的鍵/值(KV)標記,僅保留重要且非冗餘的標記:
邊生成邊壓縮(Decoding-Time Compression):Token還沒寫進KV,就先判斷「去留」,徹底阻斷顯存膨脹。
重要性打分(Importance):多頭注意力綜合評估,每個Token對後續答案的貢獻度。
冗餘打分(Redundancy):計算Key向量餘弦相似度,找出「復讀機」式內容。
聯合淘汰(Joint Eviction):按「高重要+低冗餘」優先級即時調度KV配額,λ≈0.1時效果最佳。
整個流程訓練-free、模型-agnostic,無需改動模型結構,直接「即插即用」。因此可以直接被用到強化學習的取樣過程中,非常靈活。
視覺化:R-KV vs. SnapKV
上圖展示了R-KV和純注意力基準SnapKV在相同解碼步驟中選擇了哪些token。灰色=未選;由淺到深紅=被越多注意力頭選中。
可以看到,SnapKV關注點集中在離目前Query最近的局部片段,甚至重複保留多次「3 students are leaving early…」等無用自述。
而R-KV選出的Token橫跨整段推論:題目關鍵詞30 students,關鍵中間值24,12及最終答案全部被保留,此外語義覆蓋面更廣。
透過結合注意力強度與冗餘過濾,R-KV保留了重要上下文並去除雜訊,成功完成任務;而SnapKV誤刪關鍵資訊導致答案錯誤。
結果顯示:R-KV具有更廣泛的覆蓋範圍、更高的資訊多樣性以及更顯著的去冗餘能力。
效能測試:準確率不降反升
可以看到,R-KV在具挑戰性的數學基準測試中大幅超越了基準,甚至超過了完整的KV。
在計算開銷上,R-KV引入了重要性評分和冗餘評分的額外計算,但總體開銷適中,通常會被壓縮KV快取帶來的注意力成本降低所抵銷。隨著序列長度的增加,這種權衡變得越來越有利。
對記憶體節省和端到端吞吐量提升進行即時分析,可以看到,當批處理大小為1時,R-KV在吞吐量上略優於FullKV。這表明R-KV透過減少注意力計算所實現的加速效果超過了R-KV自身的計算開銷。
然而,這種直接的速度提升僅佔整體收益的一小部分,R-KV帶來的主要吞吐量提升來自於KV快取壓縮,使模型能夠支援顯著更大的推論批處理大小。
R-KV的適用情境如下:
邊端設備長鏈推論:顯存斷崖縮減,讓消費級GPU甚至手機NPU也能跑
多輪Agent:反思-重寫-自評等複雜流程不再受顯存限制。
直接用於加速強化學習的取樣過程:training-free的方法即插即用。
論文PDF:https://arxiv.org/pdf/2505.24133.pdf專案主頁:https://zefan-cai.github.io/R-KV.page/代碼倉庫:https://github.com/Zefan-Cai/R-KV
一鍵三連「點讚」「轉發」「小心心」
歡迎在評論區留下你的想法!
— 完 —
🌟 點亮星標 🌟
科技前沿進展每日見