AI News HubLIVE
站内改写

Together AI 開源 OSCAR:一種面向長上下文 LLM 服務的注意力感知 2 位 KV 快取量化系統

Together AI 釋出了 OSCAR(離線頻譜協方差感知旋轉),這是一種用於長上下文 LLM 服務的 INT2 KV 快取量化方法。與以往基於資料無關的 Hadamard 變換的旋轉方法不同,OSCAR 從離線估計的注意力感知協方差結構中推匯出鍵和值的獨立旋轉。在每 KV 元素 2.28 位的精度下,OSCAR 在 Qwen3-4B-Thinking-2507 上將 BF16 精度差距縮小至 3.78 個點,在 Qwen3-8B 上為 1.42 個點,同時在 100K 上下文長度下實現約 8 倍 KV 記憶體縮減和高達 3 倍的解碼加速。

文章情報

工程師進階

要點

  • OSCAR 是一種使用注意力感知旋轉的 2 位 KV 快取量化方法,可保持近 BF16 的準確性。
  • 它透過離線校準從查詢和值協方差中推匯出旋轉,從而將量化噪聲引導至注意力不敏感的方向。
  • OSCAR 在長上下文推理中實現了高達 8 倍的 KV 記憶體縮減和 3 倍的解碼加速。
  • 它與 SGLang 整合,支援分頁注意力,並提供預計算旋轉的 ModelScope 模型動物園。

為什麼重要

這條新聞值得關注,因為OSCAR 是一種使用注意力感知旋轉的 2 位 KV 快取量化方法,可保持近 BF16 的準確性。

技術影響

可能影響模型選型、推理成本、產品能力和評測基準。

長上下文推理使 KV 快取成為 LLM 服務的主要成本之一。在自迴歸解碼過程中,快取隨上下文長度、批大小和模型深度而增長。在高批大小和長上下文(例如跨數十個併發請求的 100K 個令牌)的情況下,KV 快取消耗了 GPU 記憶體的很大一部分。對其進行壓縮是增加批大小和減少記憶體流量的一種直接方法。

最明顯的方法是量化。但將 KV 快取推至 INT2(2 位)精度在很大程度上是不切實際的。以前的方法要麼精度崩潰,要麼需要與分頁 KV 快取系統不相容的自定義服務佈局。Together AI 的 OSCAR(離線頻譜協方差感知旋轉)解決了這兩個問題。

為什麼 INT2 KV 快取量化很難?KV 啟用包含通道級異常值。一小部分通道持有非常大的值,而大多數通道行為良好。當應用 INT2 量化(只有四個可表示級別)時,這些異常值主導了比例因子。量化器將其大部分範圍浪費在罕見的尖峰上,正常值被壓縮到僅一個或兩個有效級別。這會嚴重降低注意力質量。

基於旋轉的量化透過應用固定的正交變換(通常是 Hadamard 變換)將異常值能量重新分佈到所有通道來解決此問題。這種方法在 INT4 下效果不錯。但在 INT2 下,一個更深層次的問題仍然存在:旋轉是與資料無關的。它可以平滑啟用範圍,但不知道注意力機制實際讀取的方向。均勻分佈量化誤差並不等同於將其推入低重要性的方向。在 INT2 下,只有四個級別,這種區別決定了模型是否能正常工作。

OSCAR 的不同之處:OSCAR 的關鍵觀察是,量化前應用的旋轉應來自注意力統計本身,而不是 KV 啟用的原始分佈。對於鍵,重要的下游誤差不是鍵的歐幾里得重建誤差,而是注意力 logits 中的誤差。研究團隊證明了這一誤差為:‖QK⊤ − QK̂⊤‖²F = tr((K − K̂)Q⊤Q(K − K̂)⊤)。權重矩陣是查詢協方差 Q⊤Q,而不是 K⊤K。查詢能量大的方向會放大 logits 中的量化誤差。OSCAR 從校準集估計經驗查詢協方差 CQ = (1/N) Σ qn⊤qn,對其進行特徵分解,並使用特徵向量 UQ 作為鍵旋轉基。

對於值,相關誤差在於注意力輸出 SV。這取決於注意力分數矩陣 S 如何加權每個值行。研究團隊定義了分數加權值協方差 CS = (1/N) V⊤S⊤SV。透過 S 聚合後仍保持較大的方向是量化誤差傳播的方向。OSCAR 使用 CS 的特徵向量 US 作為值旋轉基。

最終的組合旋轉為:RK = UQ · HHad · Pbr,RV = US · HHad · Pbr。三個因子分別解決了每組低位量化的不同失敗模式:UQ/US 將通道與注意力重要性方向對齊,HHad 等化通道重要性,Pbr 重新排序通道以確保每個量化組從重要性層次結構的每個級別獲得一個代表。

服務系統:混合精度快取佈局:OSCAR 作為 INT2 KV 快取模式整合到 SGLang 的生產服務堆疊中,並完全相容分頁注意力。每個請求的 KV 快取佈局使用三個區域:前 64 個令牌(匯令牌)以 BF16 儲存,當前位置之前的最後 256 個令牌(最近令牌)以 BF16 儲存,中間的所有令牌(歷史令牌)在 OSCAR 旋轉和裁剪後以 INT2 儲存。在 128K 上下文長度下,BF16 匯和最近視窗僅佔總令牌的 0.24%。

結果:研究團隊在四個模型配置上評估了 OSCAR:Qwen3-4B-Thinking-2507、Qwen3-8B、Qwen3-32B 和 GLM-4.7-FP8(358B 引數)。在每 KV 元素 2.28 位下,Qwen3-4B 的平均準確率差距為 -3.78 點,Qwen3-8B 為 -1.42 點,Qwen3-32B 為 -0.02 點,GLM-4.7-FP8 為 +0.27 點。相比之下,沒有旋轉的樸素 INT2 準確率為 0.00,QuaRot-INT2(僅 Hadamard)準確率顯著較低。在長上下文魯棒性(RULER-NIAH)方面,OSCAR 在 Qwen3-4B 和 Qwen3-8B 上保持了接近 BF16 的效能,直至 128K,而 QuaRot-INT2 則降至 0。在吞吐量方面,OSCAR 在 100K 上下文長度下實現了高達 3.08 倍的解碼加速,在批大小為 32 時,作業級吞吐量提高到 BF16 的 7.83 倍。

OSCAR 的旋轉預計算併發布在 ModelScope 的 RotationZoo 中,無需使用者重新校準。對於自定義模型,提供了一次性離線校準指令碼。OSCAR 還與 SGLang 完全整合,支援標準 OpenAI 相容 API,無需客戶端更改。