![]()
作者 | Zhongzhu Zhou, Donglin Zhuang, Jisen Li, Ziyan Chen, Shuaiwen Leon Song, Ben Athiwaratkun, Xiaoxia Wu
從 KV Cache 瓶頸說起
長上下文模型的能力還在往前走,但在線推理服務遇到的壓力,很多時候已經不只是計算量本身。每生成一個新 token,系統都要反復訪問越來越長的歷史 Key 和 Value;上下文拉長、batch 放大之后,KV Cache 同時吞掉顯存容量和顯存帶寬。最新論文 OSCAR: Offline Spectral Covariance-Aware Rotation for 2-bit KV Cache Quantization 直接瞄準這個痛點,給出了一套面向長上下文 serving 的近 2-bit KV Cache 方案,并且已經接入 SGLang,可用于真實服務鏈路。相比之前量化的工作,比如 TurboQuant ,壓縮的是向量,但忽略了真正影響模型的是 attention 的質量, OSCAR 保留的是 attention 真正會讀的方向。 樸素 INT2 和全模型層的 3-bit K/V TurboQuant 都會在困難推理任務上明顯掉分;OSCAR 在約 2.28 effective bits per KV element 下仍能接近 BF16,并在 Qwen3-4B-Thinking 上相對 3-bit K/V TurboQuant 最高提升 40.1 分。
如果歷史 KV 能穩定壓到 2-bit,理論上歷史緩存的存儲開銷可以接近縮小 8 倍。不過,低比特 KV Cache 真正困難的地方從來不是“能不能壓”,而是壓縮之后模型推理質量不能塌,系統實現也不能停留在離線實驗腳本里。OSCAR 的價值正是在這兩個問題上同時給出了答案。
2-bit INT 只有 4 個離散等級,而 KV activation 里經常會出現少量幅值很大的 outlier channel。一旦量化尺度被這些極端通道牽著走,大部分正常值就會擠在很窄的有效區間內,attention 分布也隨之偏移。普通 Hadamard 旋轉可以把 outlier 打散,卻沒有區分模型在 attention 里真正使用的方向。OSCAR 的核心思路是:不要只追求還原 K/V 向量本身,而要盡量保住 attention 消費這些 KV 的方式。
從這個角度看,TurboQuant 等方法更偏向于把向量表示壓得更緊;OSCAR 則把目標進一步對準 attention 質量本身。樸素 INT2 和全層 3-bit K/V 的 TurboQuant 在難推理任務上會出現明顯掉分,而 OSCAR 在約 2.28 effective bits per KV element 的預算下依然能接近 BF16,并且在 Qwen3-4B-Thinking 上相比 3-bit K/V TurboQuant 最高提升 40.1 分。
OSCAR 的動機
![]()
圖 1:只用 K/V 重建誤差判斷低比特效果,容易看漏真正的誤差傳播
圖 1 把 naive INT2、Hadamard-only、clip-only 和 OSCAR 放在同一條誤差鏈路里比較。它想說明的是,原始 K/V 的重建誤差并不能充分預測最終生成質量。更直接影響模型表現的,是 attention-score KL、attention block output MSE,以及這些偏差繼續傳到后續 hidden state 后形成的誤差。OSCAR 的優勢并不只是讓數值分布看起來更平滑,而是把量化噪聲盡量推到 attention 相對不敏感的方向上。
OSCAR 的設計
具體到 key,量化誤差會通過 QK? 進入 attention logits,所以 OSCAR 使用 query covariance,也就是 Q?Q,來決定 key 的旋轉目標。對于 value,誤差會先被注意力權重加權,再進入 attention 輸出,因此 OSCAR 采用 score-weighted value covariance,即 V?S?SV。離線校準時,系統用少量樣本估計這些 attention-aware covariance,并為每一層、每一個 head 生成固定旋轉矩陣和 clipping 閾值
最終旋轉可以寫成 R = U · Hadamard · bit-reversal。其中,U 用來對齊 attention 相關方向,Hadamard 負責把 outlier 能量攤開,bit-reversal 則讓 INT2 分組更加均衡,避免某個 group 被少數通道主導。也就是說,OSCAR 不是簡單地“加一個旋轉”,而是把旋轉、裁剪和分組都放進了 attention 質量這個目標函數里。
更關鍵的是,OSCAR 并不是只在離線量化評測里報告分數。它已經進入 SGLang 的服務路徑,在運行時維護一個三段式 token pool:
BF16 sink (64 tokens) | INT2 history | BF16 recent (256 tokens)
sink token 和 recent window 繼續用 BF16 保存,用來保護 attention sink 與最近上下文;中間占比最大的歷史段則保存為旋轉后的 INT2。新 token 會先寫入 recent window,隨著解碼向前推進,最老的 recent token 再由融合 Triton kernel 完成 rotate、clip、quantize 和 pack,并降級進入 INT2 history。存儲上,每 4 個 2-bit 數值被打包進 1 個 byte。
decode 階段,OSCAR 在 GPU 上分別處理 BF16 段和 INT2 段:INT2 kernel 負責 unpack、scale/zero point 反量化以及浮點累加,BF16 kernel 處理 sink/recent,最后再通過 online softmax merge 合并兩部分結果。由于它兼容 paged KV、radix prefix cache 和 SGLang 的 fused kernel pipeline,所以 OSCAR 面向的是可落地的長上下文 workload,而不是只展示論文曲線。
![]()
圖 2:OSCAR 從離線校準到在線推理的整體鏈路
圖 2 展示了這條 pipeline 的完整路徑。左側是校準階段:系統從少量樣本中估計 attention-aware rotation 和 clipping threshold,讓 KV activation 在進入 INT2 之前更適合低比特表示。右側是在線階段:sink/recent 保留 BF16,中間最長的 history KV 進入旋轉后的 INT2 cache,并在 SGLang paged KV 體系里完成真實 serving。換句話說,OSCAR 不是一個孤立量化技巧,而是一整套 2-bit KV Cache 服務方案。
評估結果
論文在 Qwen3-4B-Thinking、Qwen3-8B、Qwen3-32B 和 GLM-4.7-FP8 上做了測試,任務覆蓋 GPQA、HumanEval、LiveCodeBench v6、AIME25 和 MATH500,最長生成長度達到 32K,并且每個配置運行 5 次取平均。OSCAR 在 2.28 BPE 下,Qwen3-4B-Thinking 距離 BF16 只差 3.78 分,Qwen3-8B 距離 BF16 只差 1.42 分;到 Qwen3-32B 和 GLM-4.7-FP8 時,整體表現已經基本貼近 BF16。
對照組的情況要殘酷得多:QuaRot-INT2 和 naive INT2 在 reasoning / coding 任務上經常直接失效;TurboQuant 在全層 3-bit K/V、沒有 mixed-precision 保護的公平設置下,小模型推理分數也有明顯損失。論文還在 128K 長上下文下做了 RULER-NIAH 測試,OSCAR 在 Qwen3-8B 與 GLM-4.7-FP8 上都保持了更穩定的檢索能力,說明 attention-aware rotation 不只適用于短 benchmark,也能緩解超長歷史中 KV 誤差逐步累積的問題。
系統層面的收益同樣直接。相較 BF16 history storage,OSCAR 可以把 KV Cache memory 壓低約 8 倍;在 100k context、batch-size-1、full prefix-cache hit 的設置下,decode 最高約 3 倍加速;在大 batch 且顯存預算固定時,job-level throughput 最高約 7 倍。prefix cache 命中率越高,更小的 KV footprint 就越能轉化為并發吞吐,這對共享系統提示、多輪 Agent 和工具調用循環等長前綴復用場景很有意義。
精度表現
![]()
圖 3:主結果表,多種 KV 量化方法在同一評測設置下對比
![]()
圖 4:AIME25 32K 生成場景下,OSCAR 與 KIVI / Kitty 的專項比較
圖 3 是論文的核心結果表,把 BF16、Saw-INT4、TurboQuant、QuaRot-INT2、Naive INT2 和 OSCAR 放在四個模型、五個任務上比較。BF16 作為精度上界;Saw-INT4 是 4-bit 強參考,BPE 為 4.25;TurboQuant 在這里采用無 mixed-precision 保護的全層 3-bit K/V,BPE 為 3.25;QuaRot-INT2 與 Naive INT2 則代表接近 2-bit 的旋轉基線和樸素基線,BPE 約為 2.25;OSCAR 的運行預算為 2.28 BPE。
這張表真正要看的不是某一個任務的波動,而是低比特方案能否跨模型穩定工作。以 Qwen3-4B-Thinking 為例,TurboQuant mean 為 31.74,QuaRot-INT2 只有 1.40,Naive INT2 為 0.00;OSCAR 達到 71.86,距離 BF16 只差 3.78,并且比 TurboQuant 高 40.1 分。在 Qwen3-8B 上,OSCAR mean 為 69.42,BF16 為 70.84,TurboQuant 為 56.88。到了 Qwen3-32B 和 GLM-4.7-FP8,OSCAR 與 BF16 基本持平。
圖 4 專門看 AIME25 這個高難數學推理任務,同時加入 KIVI-KV2、Kitty 和 OSCAR 的對比。由于 KIVI 和 Kitty 沒有可直接用于 long context run 的 framework 支持,論文選取了它們唯一在 32K 下匯報的 AIME25 結果。在 Qwen3-8B 上,OSCAR 以 2.38 BPE 達到 66.67,幾乎追平 BF16 的 66.00,并明顯高于 KIVI-KV2 與 Kitty;在 Qwen3-32B 上,OSCAR 達到 74.00,略高于 BF16 的 72.59,也超過 Kitty 的 69.26。這說明 OSCAR 的優勢不只體現在與 TurboQuant 的比較中,在現有 KV-cache 量化方法里,它也能以接近 2-bit 的預算守住困難數學推理能力。
系統加速
![]()
圖 5:100k 長上下文下的 decode 加速與 batch throughput
圖 5 關注 100k 上下文時的系統性能。在 batch-size-1 且 full prefix-cache hit 的純 decode 場景里,OSCAR 最高帶來約 3 倍加速;當顯存預算固定、batch size 繼續增大時,INT2 history 讓 KV footprint 明顯下降,從而把 job-level throughput 推高到最多約 7 倍。它的含義很直白:OSCAR 不只是精度曲線好看,也確實減輕了顯存和帶寬壓力。
![]()
圖 6:prefix cache 命中率提升后,吞吐前沿繼續外移
圖 6 展示了 prefix-cache hit ratio 對端到端 serving throughput 的影響。橫軸是單用戶吞吐,縱軸是單 GPU 吞吐;從關閉 cache,到 normal cache,再到接近 100% warmup replay,吞吐前沿會逐步向外擴張。由于 OSCAR 保留標準 paged KV / prefix cache 抽象,共享系統提示、多輪 Agent、工具調用鏈路這類長前綴高復用場景可以直接吃到收益。
還有一點值得注意:OSCAR 并沒有通過“少數層保留高精度”來換分。很多低比特方法在部署時會把第一層、最后一層或若干敏感層保留在更高 bit,這會抬高平均 bit 數,也會讓 kernel 和 cache layout 更復雜。OSCAR 的設置更接近真實服務:歷史 KV 主體統一使用 INT2,只在 sink 和 recent 兩個很小窗口保留 BF16。這讓它更容易接進 paged cache、prefix cache 和批量調度。
總 結
OSCAR 的意義不只是在小模型或短上下文上跑出好分數。論文同時覆蓋 4B、8B、32B 和 GLM-4.7-FP8 這類不同規模模型;既評估了數學、代碼、知識問答等 32K 推理生成任務,也測試了 128K RULER-NIAH 長上下文檢索。短任務里,它能貼近 BF16;長上下文里,它也能讓 attention 分布隨歷史增長保持更穩定。這說明 attention-aware rotation 不是只針對某個 benchmark 調參,而是在處理 KV 誤差隨上下文長度累積這個更根本的問題。
從應用角度看,這對長上下文 Agent 特別重要。真實 Agent 往往包含很長的系統提示、工具說明、歷史對話和檢索內容,不同請求之間還會存在大量共享前綴。如果 KV Cache 全部用 BF16,顯存很快會成為天花板;如果直接上樸素 INT2,推理鏈條又可能失真。OSCAR 在二者之間給出了一種更系統的折中:長歷史用 INT2 降容量和帶寬,關鍵 sink/recent 用 BF16 保穩定,再讓 prefix cache 復用共享前綴。
TurboQuant 仍然是很強的通用 online vector quantization 方法;OSCAR 更專注于 attention-aware 的 2-bit KV serving。兩者也并非只能二選一,未來完全可以把 OSCAR 的 attention-aware rotation 與更強的 TurboQuant codebook 結合,把壓縮率繼續推向極限。OSCAR 帶來的關鍵啟發是:2-bit KV Cache 如果要真正上線,旋轉不能只追求“有”,而要對準 attention;同時,它也必須被放進真實 serving 系統里一起設計。
資料鏈接
論文:https://arxiv.org/abs/2605.17757
項目主頁:https://oscar-quantize.github.io/
代碼:https://github.com/FutureMLS-Lab/OSCAR
RotationZoo:https://huggingface.co/Zhongzhu/OSCAR-RotationZoo
作者介紹
Zhongzhu Zhou 是 Together AI 的 Senior Research Scientist,悉尼大學博士,研究方向包括高效機器學習系統、模型訓練與推理的算法系統協同設計,以及 LLM 壓縮與量化。團隊成員來自 Together AI、悉尼大學和伊利諾伊大學厄巴納—香檳分校。
Together AI 創立于 2022 年 6 月,聯合創始人包括蘋果前高管 Vipul Ved Prakash、斯坦福大模型研究中心主任 Percy Liang、芝加哥大學副教授 Ce Zhang,以及 FlashAttention 作者 Tri Dao。
會議推薦
企業級 Agent 落地,繞不開 4 個真實的工程問題!如何在 Agent 安全性和可用性之間找到平衡點?Agent 需要什么樣的記憶系統才能真正理解上下文?如何通過算法壓榨實現智力增量與成本控制的極致平衡?多 Agent 協作,如何做到可觀測、可治理、可控制?6.26-27 AICon 上海站,國內頭部公司的 Agent 實踐,一次說透。
今日薦文
你也「在看」嗎?
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.