![]()
本文作者 Zhongzhu Zhou 是 TogetherAI 的 Senior Research Scientist,悉尼大學(xué)博士,研究方向?yàn)楦咝C(jī)器學(xué)習(xí)系統(tǒng),方向覆蓋 模型訓(xùn)推算法與系統(tǒng)協(xié)同設(shè)計(jì),LLM 壓縮與量化。團(tuán)隊(duì)成員均來自 TogetherAI,悉尼大學(xué)以及伊利諾伊大學(xué)厄巴納 — 香檳分校。
Together AI 于 2022 年 6 月創(chuàng)立,由蘋果前高管 Vipul Ved Prakash、斯坦福大模型研究中心主任 Percy Liang、芝加哥大學(xué)副教授 Ce Zhang、Flash Attention 作者 Tri Dao 聯(lián)合創(chuàng)辦。
超越 TurboQuant,內(nèi)存有救了!TogetherAI 最新論文OSCAR直面沖擊 TurboQuant,提出一個(gè)面向長上下文推理服務(wù)的真正的 2-bit KV Cache 系統(tǒng),開盒即用。
![]()
- 論文標(biāo)題:OSCAR: Offline Spectral Covariance-Aware Rotation for 2-bit KV Cache Quantization
- 論文鏈接:https://arxiv.org/abs/2605.17757
- 項(xiàng)目主頁:https://oscar-quantize.github.io/
- 代碼:https://github.com/FutureMLS-Lab/OSCAR;
- RotationZoo:https://huggingface.co/Zhongzhu/OSCAR-RotationZoo
- 作者:Zhongzhu Zhou, Donglin Zhuang, Jisen Li, Ziyan Chen, Shuaiwen Leon Song, Ben Athiwaratkun, Xiaoxia Wu
長上下文模型越來越強(qiáng),但服務(wù)時(shí)的瓶頸往往不是算力,而是 KV Cache:每生成一個(gè) token,都要從顯存中讀取越來越長的歷史 key,value。上下文越長、batch 越大,KV Cache 越吃顯存,也越吃帶寬。把歷史 KV 壓到 2-bit,理論上可以讓歷史段顯存減少約8 倍;但真正難的是,壓完之后推理能力不能崩,系統(tǒng)也必須能在真實(shí) serving 框架里跑起來。
為什么 2-bit KV Cache 這么難?INT2 只有 4 個(gè)量化等級,而 KV activation 中常常有少數(shù)幅值極大的 outlier channel。如果這些 outlier 主導(dǎo)量化尺度,大多數(shù)正常值會(huì)被擠到很少的有效等級里,注意力分布很快漂移。普通 Hadamard 旋轉(zhuǎn)能把 outlier 攤平,但它不知道模型在 attention 里真正讀哪些方向。OSCAR 的核心就是把旋轉(zhuǎn)目標(biāo)從「重建原始 K/V 向量」改成「保留 attention 消費(fèi) KV 的方式」。
相比之前量化的工作,比如 TurboQuant 壓縮的是向量,但忽略了真正影響模型的是 attention 的質(zhì)量,OSCAR 保留的是 attention 真正會(huì)讀的方向。樸素 INT2 和全模型層的 3-bit K/V TurboQuant 都會(huì)在困難推理任務(wù)上明顯掉分;OSCAR 在約2.28 effective bits per KV element下仍能接近 BF16,并在 Qwen3-4B-Thinking 上相對 3-bit K/V TurboQuant 最高提升40.1 分。
OSCAR 的動(dòng)機(jī)
![]()
圖 1:為什么只看 K/V 重建誤差會(huì)誤導(dǎo)判斷
圖 1 對比了 naive INT2、Hadamard-only、clip-only 和 OSCAR 在量化誤差傳播鏈路上的差異。關(guān)鍵點(diǎn)是,原始 K/V 的重建誤差并不能完全解釋模型最終表現(xiàn);真正影響推理質(zhì)量的是 attention-score KL、attention-block output MSE 以及后續(xù) hidden-state error。OSCAR 的優(yōu)勢不只是讓向量數(shù)值更平滑,而是把量化誤差壓到 attention 不敏感的方向上。
OSCAR 的設(shè)計(jì)
具體來說,對 key 來說,量化誤差會(huì)進(jìn)入 attention logits,也就是 QK?,因此 OSCAR 用 query covariance(Q?Q)構(gòu)造 key 的旋轉(zhuǎn)目標(biāo);對 value 來說,誤差經(jīng)過注意力權(quán)重進(jìn)入輸出,因此 OSCAR 使用 score-weighted value covariance(V?S?SV)。離線校準(zhǔn)階段,OSCAR 從少量校準(zhǔn)樣本中估計(jì)這些 attention-aware covariance,為每層、每個(gè) head 生成固定旋轉(zhuǎn)和 clipping 閾值。最終旋轉(zhuǎn)寫作R = U?Hadamard?bit-reversal:U 對準(zhǔn) attention 相關(guān)方向,Hadamard 分散 outlier,bit-reversal 平衡 INT2 分組,避免某個(gè) group 被少數(shù)通道支配。
更重要的是,OSCAR 不是以往的量化論文,離線跑量化得到指標(biāo),而是已經(jīng)接入SGLang,做到開箱即用的 2-bit KV serving。OSCAR 在 SGLANG 中維護(hù)一個(gè) token 池:
BF16 sink (64 tokens) | INT2 history (~2.28 BPE) | BF16 recent (256 tokens)
其中 sink token 和 recent window 保持 BF16,用來保護(hù) attention sink 與短期局部上下文;中間最長的歷史段存成旋轉(zhuǎn)后的 INT2。新 token 先寫入 recent window,隨著解碼推進(jìn),最老的 recent token 再由融合 Triton kernel 執(zhí)行 rotate /clip/quantize/pack,并 demote 到 INT2 history。每 4 個(gè) 2-bit 值打包進(jìn) 1 個(gè) byte。decode 階段,OSCAR 在 GPU 上把緩存分成 BF16 段和 INT2 段:INT2 kernel 負(fù)責(zé) unpack、scale/zero point 還原和浮點(diǎn)累加,BF16 kernel 處理 sink/recent,最后用 online softmax merge 合并結(jié)果。它同時(shí)兼容 paged KV、radix prefix cache 和 SGLang 的 fused kernel pipeline,因此可以直接用于長上下文 workload,而不是停留在論文圖表里。
![]()
圖 2:OSCAR 整體流程圖
圖 2 展示 OSCAR 從離線校準(zhǔn)到在線 serving 的完整路徑。左側(cè)是離線階段:OSCAR 從少量校準(zhǔn)樣本中估計(jì) attention-aware rotation 和 clipping threshold,讓 KV activation 在進(jìn)入 INT2 前變得更適合量化。右側(cè)是在線階段:sink/recent token 繼續(xù)保持 BF16,中間最長的 history KV 進(jìn)入旋轉(zhuǎn)后的 INT2 cache,并在 SGLang paged KV 中完成真實(shí) serving。因此 OSCAR 不是單一量化技巧,而是一整套 2-bit KV Cache pipeline。
評估結(jié)果
OSCAR 在 Qwen3-4B-Thinking、Qwen3-8B、Qwen3-32B 和 GLM-4.7-FP8 上測試,任務(wù)覆蓋 GPQA、HumanEval、LiveCodeBench v6、AIME25、MATH500,生成長度最高 32K,每個(gè)設(shè)置運(yùn)行 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 任務(wù)上大多直接崩潰;TurboQuant 在全層 3-bit K/V、無 mixed-precision 保護(hù)的公平設(shè)置下,也在小模型推理任務(wù)上掉分明顯。
OSCAR還在128K長上下文設(shè)置下對中 / 大規(guī)模模型做了 RULER-NIAH 測試:OSCAR 在 Qwen3-8B 和 GLM-4.7-FP8 上都保持了明顯更穩(wěn)定的檢索性能,說明這種 attention-aware 旋轉(zhuǎn)不僅能撐住短評測,也能抵抗超長歷史中 KV 誤差的累積。換句話說,OSCAR 是少數(shù)能在真近 2-bit 設(shè)置下仍保持現(xiàn)代 reasoning model 質(zhì)量的方法。
系統(tǒng)收益也非常直接:相對 BF16 history storage,OSCAR 可減少約8×KV Cache memory;在 100k context、batch-size-1、full prefix-cache hit 設(shè)置下,decode 最高約3×加速;在大 batch、同顯存預(yù)算下,job-level throughput 最高約7×。prefix cache 命中率越高,OSCAR 越能利用更小的 KV footprint 提升并發(fā)吞吐,這對共享系統(tǒng)提示、多輪 Agent、工具調(diào)用循環(huán)等長前綴復(fù)用場景尤其重要。
精度損失
![]()
圖 3:完整主結(jié)果表,多種 KV 量化方法同場對比
![]()
圖 4:AIME25 32K 生成,和 KIVI / Kitty 的專項(xiàng)對比
圖 3 是論文主結(jié)果表,包含 BF16、Saw-INT4、TurboQuant、QuaRot-INT2、Naive INT2 和 OSCAR 在四個(gè)模型、五個(gè)任務(wù)上的完整對比。BF16 是精度上界;Saw-INT4 是強(qiáng) 4-bit 參考,BPE 為4.25;TurboQuant 在這里使用無 mixed-precision 保護(hù)的全層3-bit K/V設(shè)置,BPE 為3.25;QuaRot-INT2 和 Naive INT2 是接近 2-bit 的旋轉(zhuǎn) / 樸素基線,BPE 約2.25;OSCAR 則在2.28 BPE下運(yùn)行。
這張表的重點(diǎn)不是單一模型,而是「低比特能不能穩(wěn)定」。在 Qwen3-4B-Thinking 上,TurboQuant mean 為31.74,QuaRot-INT2 只有1.40,Naive INT2 為0.00;OSCAR 達(dá)到71.86,距離 BF16 只差3.78,并相對 TurboQuant 提升40.1 分。在 Qwen3-8B 上,OSCAR mean 為69.42,距離 BF16 只差1.42,而 TurboQuant 為56.88。到 Qwen3-32B 和 GLM-4.7-FP8,OSCAR 基本與 BF16 持平。換句話說,在接近 2-bit 的 KV 預(yù)算下,OSCAR 是表中唯一能在多模型、多任務(wù)上穩(wěn)定貼近 BF16 的 INT2 方法。
圖 4 單獨(dú)看 AIME25 這個(gè)高難數(shù)學(xué)推理任務(wù),并對比 KIVI-KV2、Kitty 和 OSCAR。但由于 KIVI, KITTY 沒有 framework 支持,無法進(jìn)行 long context run,所以選取了他們方法唯一在 32K 匯報(bào)的結(jié)果 - AIME25。在 Qwen3-8B 上,OSCAR 以2.38 BPE達(dá)到66.67,基本追平 BF16 的66.00,明顯高于 KIVI-KV2 和 Kitty;在 Qwen3-32B 上,OSCAR 達(dá)到74.00,甚至略高于 BF16 的72.59,也超過 Kitty 的69.26。這說明 OSCAR 不只是相對 TurboQuant 有優(yōu)勢,在已有 KV-cache 量化方法中,也能在接近 2-bit 的預(yù)算下保住困難數(shù)學(xué)推理能力。
系統(tǒng)加速
![]()
圖 5:100k 長上下文下的 decode /batch throughput
圖 5 展示 100k 上下文下的系統(tǒng)性能。OSCAR 在 batch-size-1、full prefix-cache hit 的純 decode 場景下最高約3×加速;在固定顯存預(yù)算下,batch size 增大時(shí),INT2 history 帶來的 KV footprint 降低可以顯著提高 job-level throughput,最高約7×。這說明 OSCAR 不只是精度能保住,也能實(shí)打?qū)嵔档惋@存帶寬壓力。
![]()
圖 6:prefix cache 命中率越高,吞吐前沿越往外推
圖 6 展示 prefix-cache hit ratio 對端到端 serving throughput 的影響。橫軸是單用戶吞吐,縱軸是單 GPU 吞吐;從 cache disabled 到 normal cache,再到接近 100% warmup replay,吞吐前沿逐步外擴(kuò)。OSCAR 保持標(biāo)準(zhǔn) paged KV /prefix cache 抽象,因此共享系統(tǒng)提示、多輪 Agent、工具調(diào)用循環(huán)等長前綴復(fù)用場景可以直接受益。
這些結(jié)果的一個(gè)重要含義是,OSCAR 并沒有依賴「挑選少數(shù)層保留高精度」來保住分?jǐn)?shù)。很多低比特方法在真正部署時(shí)會(huì)借助混合精度:第一層、最后一層或若干敏感層仍然保留較高 bit,這會(huì)讓平均 bit 數(shù)上升,也會(huì)讓 kernel 和 cache layout 變復(fù)雜。OSCAR 的對比更嚴(yán)格:歷史 KV 主體保持統(tǒng)一的 INT2 表示,只在 sink 和 recent 兩個(gè)很小窗口保留 BF16。這樣做的好處是,系統(tǒng)工程上更容易接入 paged cache、prefix cache 和批量調(diào)度,也更接近真實(shí)服務(wù)場景中的顯存預(yù)算。
總結(jié)
另一個(gè)值得強(qiáng)調(diào)的點(diǎn)是,OSCAR 的收益不是只在小模型或短上下文上成立。論文同時(shí)測試了 4B、8B、32B 以及 GLM-4.7-FP8 這樣的大模型;既看了數(shù)學(xué)、代碼、知識問答等 32K 推理生成任務(wù),也看了 128K RULER-NIAH 長上下文檢索。短評測里,OSCAR 能接近 BF16;長上下文里,它也能讓 attention 分布隨上下文增長更穩(wěn)定。這說明 attention-aware rotation 不是只在某個(gè) benchmark 上調(diào)參有效,而是在緩解 KV 誤差隨歷史長度累積這個(gè)根本問題。
從應(yīng)用角度看,這對長上下文 Agent 特別關(guān)鍵。真實(shí) Agent 往往包含很長的系統(tǒng)提示、工具說明、歷史對話和檢索內(nèi)容,并且不同請求之間存在大量共享前綴。如果 KV Cache 只能用 BF16 存,系統(tǒng)很快會(huì)被顯存卡住;如果直接做樸素 INT2,又可能讓推理鏈條失真。OSCAR 的設(shè)計(jì)剛好夾在兩者之間:長歷史用 INT2 降顯存和帶寬,關(guān)鍵 sink/recent 用 BF16 兜住穩(wěn)定性,再讓 prefix cache 復(fù)用共享前綴。換句話說,它把「能壓到 2-bit」和「能上線 serving」 放在同一個(gè)系統(tǒng)里考慮。
TurboQuant 是很強(qiáng)的通用 online vector quantization 方法;OSCAR 針對的是 attention-aware 2-bit KV serving。二者不是簡單替代關(guān)系,例如OSCAR 的 最新codebase中已經(jīng)在attention-aware rotation 引入了更強(qiáng)的 Lloyd Max Codebook,將壓縮推向極致。OSCAR 帶來了一個(gè)獨(dú)特的觀點(diǎn):2-bit KV Cache 要能上線,旋轉(zhuǎn)不只是「有沒有」,而是必須對準(zhǔn) attention,并且要有真實(shí) serving 系統(tǒng)支撐。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
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.