宅中地 - 每日更新
宅中地 - 每日更新

贊助商廣告

X

清華大學、香港大學等頂尖高校聯手破解AI內存瓶頸——讓大模型在極限壓縮下依然聰明如故

2026年05月27日 首頁 » 熱門科技

這項由清華大學、香港大學、愛丁堡大學、中國科學院大學、香港理工大學以及美團LongCat團隊共同完成的研究,以預印本形式發布於2026年5月,論文編號為arXiv:2605.19660,有興趣深入了解的讀者可以通過該編號在arXiv平台查詢完整論文。

當你在和手機里的AI助手聊天時,有沒有想過,這傢伙是怎麼"記住"你之前說的話的?答案是靠一種叫做KV緩存(Key-Value Cache)的東西。簡單地說,AI每處理你說的一句話,就會在腦子裡留下一份"筆記",記錄關鍵資訊,以便回應後續問題時有據可查。然而,當你和AI聊的話越來越多,處理的圖片、語音越來越複雜,這份"筆記"就會變得越來越厚,最終把AI的"內存空間"塞滿——就像一個書桌,越堆越滿,最後連動筆的地方都沒了。

這個問題並不是小麻煩。對於那些需要處理超長文章、影片、語音的高端AI應用來說,KV緩存占用的內存會迅速占據GPU(圖形處理器,也就是AI運算的核心硬體)總容量的大頭,嚴重限制了AI能同時服務多少用戶、能處理多長的內容。研究人員早就意識到,壓縮這份"筆記"是突破這一瓶頸的關鍵。

現有的主流做法是"量化",也就是把原本用16位精度儲存的數字,壓縮成更少位數的近似值——就好像把一張高清照片壓縮成低解析度的縮略圖,用更小的空間儲存相似的資訊。其中,用2位整數(INT2)表示的極限壓縮方案,理論上可以把內存占用壓縮到原來的八分之一,但也會帶來最嚴重的資訊失真。如何在極限壓縮的同時保住AI的智力水平,一直是這個領域的難題。

本文的研究團隊經過細緻分析,發現了一個此前被忽視的根本性問題——他們將其命名為"令牌範數失衡"(Token Norm Imbalance,TNI)。正是這個隱藏的毛病,讓現有的極限壓縮方案頻頻翻車。為了解決它,研究團隊提出了一套名為OScaR(Omni-Scaled Canalized Rotation,全尺度通道化旋轉)的新方案,不依賴複雜的輔助機制,只用兩個優雅的步驟就把問題搞定,並在涵蓋純文字、圖文混合、語音影片等多種AI模型的測試中,刷新了當前最優成績。

一、先搞清楚:AI的"筆記本"為什麼越來越難壓縮

要理解OScaR解決了什麼問題,首先得知道AI的"筆記本"長什麼樣,以及壓縮它會遇到什麼麻煩。

在AI處理語言(或圖像、語音)時,每一層神經網路都會產生三種向量:Query(問詢)、Key(鍵值)和Value(值)。其中,Key和Value會被存入緩存,方便後續復用,這就是KV緩存。Value向量的數值分布比較均勻,壓縮起來相對容易。但Key向量就不同了——它裡面有一些"異常通道",某幾個維度的數值會特別大,像釘子一樣突出來,而其他維度則比較平整。

這種現象在AI領域被稱為"通道級異常值"(channel-wise outliers)。為了應對它,研究者們發明了"按通道量化"的策略:不是對整個Key矩陣用同一把尺子來壓縮,而是給每個通道單獨設定一把尺子,這樣那幾根"釘子"就不會讓整體的尺子變得失靈。這種策略在4位甚至8位量化時效果相當好,代表作是一個叫KIVI的框架。

然而,當量化精度壓到2位時,這把策略開始失效,而且失效得很厲害。研究團隊通過大量實驗發現了問題所在:按通道量化有一個隱含的前提假設,那就是同一個通道里,不同位置的"令牌"(可以理解為每一個詞、每一幀圖片、每一段語音的代表單元)的數值大小應該差不多。只要同一把尺子量下來,大家都能被合理表示。

但現實並非如此。研究團隊仔細測量了Llama-2-7B、Llama-3.1-8B、Qwen3-8B等多個主流AI模型在處理文字時產生的Key向量,以及處理圖文混合內容的Qwen3-VL模型,發現每一層神經網路里,都有極少數幾個特殊令牌,其L2範數(你可以把它理解為"向量的整體能量大小",也就是向量有多強壯)遠遠低於其他普通令牌。這些"弱小"的令牌,和旁邊那些"強壯"的普通令牌被迫共享同一把量化尺子,結果是災難性的:為了容納那些強壯令牌,尺子的量程被設得很大,而弱小令牌就在這把粗糙的大尺子上幾乎辨認不清了——這就是"令牌範數失衡"的危害。

打個比方,用同一把刻度精度為1厘米的尺子,同時測量一棟200米高的大樓和一枚2厘米厚的硬幣。大樓當然沒問題,但硬幣只能粗略地標記為"2厘米左右"。量化就是這樣,共用一把尺子,精細的資訊不可避免地丟失了。

研究團隊不僅通過實驗觀測到了這個現象,還從理論上證明了它的危害程度:一個量化塊的重建誤差(也就是壓縮前後資訊失真的程度),從根本上取決於塊內令牌範數的極差——也就是最強令牌和最弱令牌之間的差距越大,誤差越嚴重。這意味著TNI是按通道量化範式的結構性弱點,而非偶然現象。

更有趣的是,這些弱小的低範數令牌是誰呢?研究團隊發現,它們與一種叫做"注意力匯點"(Attention Sink)的現象高度重合。在標準的注意力機制中,softmax函數要求注意力權重加起來必須等於1。當AI處理某些不需要特別關注任何內容的情況時,它沒有"我不看任何人"的選項,只能把注意力強行分配給某些無關緊要的令牌,比如句子開頭的特殊標記符。這些被迫承接注意力的令牌,就成了注意力匯點。為了讓這種"假裝注意"的行為不產生實質影響,這些令牌的Value向量(從而也包括Key和Query向量)的範數都被壓得很低——它們接收了所有注意力,但幾乎不傳遞任何資訊。這些幾乎"沉默"的令牌,恰恰是TNI問題的源頭。

在多模態AI模型中,TNI的表現更加複雜。除了注意力匯點型的低範數異常令牌,還出現了另外兩種情況:不同模態(文字、圖片、語音)的令牌之間範數差異巨大,同一模態內部各自平穩,但跨越模態邊界時就會出現劇烈的範數跳變;以及與低範數令牌相反,某些令牌的範數極度高於平均水平,形成高範數異常點。這些多樣化的TNI模式,讓現有方法更加束手無策。

研究團隊還通過定量實驗精確衡量了TNI的破壞力。以LLaVA視覺語言模型為例,在2位量化下,含有低範數異常令牌的量化塊,其誤差比去除這些異常令牌後的塊高出約35%。更驚人的是,包含多種模態令牌的混合塊,比單一模態塊的視覺部分量化誤差高出約140%。這些數字清楚地說明了TNI並非小問題,而是極限壓縮時的主要誤差來源。

二、一個優雅的解法:為什麼不能直接"縮放",以及OScaR如何兩步解決問題

既然問題出在不同令牌之間範數差距太大,最直接的想法是:在量化之前,先把所有令牌的範數都調整到差不多的水平,不就解決了嗎?按照這個思路,只需要計算每個令牌的範數,然後除以它,所有令牌的"能量"就變成1了——這叫做"令牌級縮放"。

然而,研究團隊發現,單獨使用這個方法不僅沒有幫助,在很多情況下反而會讓量化效果更差。原因出在一個他們命名為"縮放誘導異常值效應"(Scaling-Induced Outlier Artifact)的新問題上。

考慮這樣一個場景:正常令牌的向量里,某一兩個維度(通道)的數值特別大,其他維度都比較小——這就是前面說的"通道級異常值"。而那些低範數的異常令牌,各個維度的數值都比較小,分布均勻,就像一塊平坦的草地。現在,如果把低範數令牌的範數放大到和正常令牌一樣,會發生什麼?低範數令牌的所有維度都被均勻地放大了,它原本平坦的"草地"變成了各處等高的"丘陵"——但在那些正常令牌異常值通道(也就是少數幾個"高峰")之外的維度上,低範數令牌被放大後的數值反而比正常令牌在這些維度上的數值大得多。

這就製造了新的異常值:低範數令牌在被放大之後,成了按通道量化中新的"麻煩製造者",讓原本平滑的通道量程被人為地拉寬,量化精度更差了。直接縮放治標不治本,甚至適得其反。

OScaR的妙處在於,它用兩步走的組合拳徹底繞開了這個困境。

第一步叫做"通道化旋轉"(Canalized Rotation)。這一步用的是一種叫Hadamard變換的數學操作(快速哈達瑪變換,FHT)。你可以把它想像成攪拌機:把原來向量里各個通道的資訊徹底打散混合,讓原本集中在少數幾個通道的異常能量均勻分布到所有通道上。經過這個操作,Key向量里那幾根突出的"釘子"就不見了,各個通道的數值變得相對均勻。

這一步操作的另一個好處是:它作用於通道維度,不改變令牌之間的範數差異。也就是說,經過Hadamard變換後,強壯令牌依然強壯,弱小令牌依然弱小——TNI問題本身還在。但是,由於通道分布變得均勻了,此前令人擔憂的"縮放誘導異常值效應"就消失了:低範數令牌不再有某幾個維度特別小、其他維度特別大的不均勻結構,所以把它們統一放大時,不會在任何特定通道上製造新的異常值。

這就為第二步鋪平了道路。第二步叫做"全令牌縮放"(Omni-Token Scaling)。在經過Hadamard變換的基礎上,計算每個令牌向量的L2範數,然後將每個令牌除以自己的範數,把所有令牌的"能量"統一到同一水平。由於第一步已經消除了通道分布的不均勻性,這裡的縮放操作不再會製造新的麻煩,而是安全地解決了TNI問題——所有令牌現在都在同一個量級上,共享量化尺子不再是問題。

為了在解碼時恢復原始資訊,縮放時使用的範數值會被單獨儲存起來作為"標籤",解碼時把儲存的低精度向量乘回這個範數,就還原了原始向量的大小關係。對於Query向量,同樣需要做Hadamard變換,這樣才能保證Query和Key做點積(計算注意力得分的核心操作)時,數學關係保持正確——因為Hadamard變換是一個正交變換,Query和Key同時做相同的旋轉,它們之間的相對關係不變。

對於Value向量,由於它沒有通道級異常值問題,處理方式更簡單:用一個離線的Hadamard變換(也就是在模型運行之前一次性完成,不需要每次推理都重算),把Value向量的權重矩陣預先乘以Hadamard矩陣,之後按令牌量化就好了,不需要在線額外操作,幾乎零額外開銷。

研究團隊通過消融實驗(也就是逐步去掉某個組件,看效果如何變化的測試)驗證了這兩步的缺一不可:單獨用Hadamard旋轉,通道均勻了,但令牌範數失衡依然存在,量化誤差並沒有顯著降低;單獨用令牌縮放,範數平衡了,但縮放誘導異常值效應又把效果抵消了,結果往往比什麼都不做還差;只有兩步組合使用,才能同時解決兩個問題,實現真正有效的極限壓縮。

三、工程上的精細打磨:讓理論變成真正快起來的代碼

提出一個好方法是一回事,把它變成在真實硬體上快速運行的代碼又是另一回事。OScaR的研究團隊在系統實現層面也下了大功夫,把理論上的優勢轉化為實實在在的速度提升。

整個OScaR系統由三個精心設計的CUDA核心(CUDA Kernel,也就是在GPU上並行運行的程序)構成,分別承擔不同的職責。第一個核心負責在線執行Hadamard變換和令牌縮放——對於Key向量,融合完成Hadamard變換和範數歸一化;對於Query向量,只做Hadamard變換。第二個核心高效完成Key和Value向量的量化打包。第三個核心則負責解碼時的反量化、反縮放,以及最終的注意力計算。

團隊在這裡採用了兩個關鍵的工程技巧來壓低開銷。其一,Hadamard變換的計算複雜度是O(d log d),而傳統的矩陣乘法複雜度是O(d?)。對於維度d=128的頭部向量,這意味著Hadamard變換的運算量大約是矩陣乘法的十幾分之一,速度優勢非常明顯。而且,團隊藉助了HadaCore這個專門為Tensor Core(英偉達清華大學香港大學等頂尖高校聯手破解AI內存瓶頸讓大模型在極限壓縮下依然聰明如故GPU上的矩陣運算加速單元)優化的Hadamard實現,利用了H??? = H? ? H??的Kronecker分解結構,進一步減少了標量運算壓力。

其二,令牌縮放中需要計算平方和的倒數平方根(即1/√Σx??),團隊選擇使用GPU硬體加速的rsqrt指令,而非先計算L2範數再求倒數——這在數學上等價,但硬體層面速度更快,延遲更低。消融實驗證實,rsqrt實現和直接計算L2範數的結果精度幾乎相同,卻具有更優的硬體效率。

在緩存組織上,系統同時維護一個"打包緩存"(存放2位量化後的Key和Value,以及對應的量化參數和令牌範數標籤)和一個"殘差緩存"(存放最近128個尚未滿足量化塊大小的令牌,以全精度FP16儲存)。每當殘差緩存積累到128個令牌時,就觸發一次批量量化,把這批令牌打包進壓縮緩存。這種設計既保證了按通道量化在塊大小上的需求,又避免了頻繁的小批量量化帶來的開銷。

四、用數字說話:OScaR在各類AI模型上的實際表現

方案再優雅,也要用測試結果來說話。研究團隊在三類、共六個具有代表性的開源AI模型上進行了全面測試,覆蓋純文字、圖文多模態和全模態(文字+圖片+語音)三種場景。

在純文字AI模型的測試中,團隊使用了LongBench-E基準(一個專門測試長文本理解能力的基準,涵蓋問答、摘要、代碼補全等多類任務)以及"大海撈針"(Needle-in-a-Haystack,NIAH)測試(把一段關鍵資訊藏在長達數萬字的文章里,看AI能否找到它)。

在LongBench-E上,OScaR在Llama-3.1-8B模型上取得了41.75%的平均得分,比排名第二的方法(OTT,40.74%)高出1.01個百分點,而16位全精度基準是41.70%——OScaR的2位量化版本居然比16位基準還要略高!在Qwen3-8B上,OScaR得分48.74%,16位基準是49.56%,僅差1.7%,遠比其他量化方法更接近基準。

在大海撈針測試中,OScaR的檢索準確率達到了96.5%,不僅超越所有量化競爭對手(第二名TurboQuant+是92.7%),甚至略微超過了不做任何壓縮的16位基準(96.0%)。這說明OScaR的量化操作不僅沒有損害長文本中的資訊檢索能力,反而可能略微改善了某些情況下的表現。

在圖文多模態模型測試中,團隊使用了OCRBench(測試AI識別圖片中文字的能力)和DocVQA(測試AI理解文檔圖片並回答問題的能力)。在OCRBench上,OScaR在三個測試模型上均居量化方法首位:LLaVA-v1.6-vicuna-7B得519分(16位基準536分),Qwen3-VL-8B得856分(16位基準858分,差距僅0.2個百分點!),Qwen3-VL-4B得838分(比第二名高2.5個百分點)。在DocVQA上,OScaR同樣在所有三個模型上領先,Qwen3-VL-8B甚至以95.01%微超16位基準(94.93%)。

全模態模型的測試針對Qwen3-Omni-30B在MMAU-Pro基準(評估語音理解和指令跟隨能力)上進行。OScaR在開放式問答、高質量回答比例和音頻指令跟隨三項指標上均居量化方法首位,且在所有三項上都超過了16位基準,分別超出1.2、2.0和1.1個百分點。

在效率方面,研究團隊在單張H20 GPU(一款高端AI計算專用顯卡)上測試了Qwen3-8B模型的推理速度。與16位精度的FlashDecoding-v2基準(目前主流的高效推理實現)相比,在128K超長文本場景下,OScaR的解碼速度提升了3.0倍(從92.9毫秒/令牌降至30.9毫秒/令牌)。在批處理場景下(同時處理48個對話),OScaR將內存占用壓縮至原來的五分之一(從28.3GB降至5.3GB),推理吞吐量(單位時間處理的令牌數量)提升了4.1倍(從331令牌/秒提升至1354令牌/秒)。

研究團隊還與同類競品TurboQuant+做了詳細的延遲對比。在短文本場景(1K令牌)下,TurboQuant+因為底層實現方式(使用llama.cpp框架)的差異,延遲反而比OScaR低(7.8毫秒對25.1毫秒),但這優勢隨著文本變長急劇消失。在16K令牌時OScaR已經反超,到128K令牌時,TurboQuant+的延遲達到72.9毫秒,OScaR僅需30.9毫秒,差距超過一倍。更重要的是,TurboQuant+使用的是2.5位的混合精度量化(部分通道用3位,其餘用2位),而OScaR全程只用2位,儲存效率更高,且精度更好。

從理論複雜度分析來看,在d=4096、頭維度128、上下文長度10000的典型配置下,OScaR每步解碼的理論運算量約為1.23億單位,雖然高於KIVI,但遠低於TurboQuant+。OScaR完全不需要查表操作(TurboQuant+需要大量查表),這對GPU執行效率非常友好,因為GPU的算術流水線遠比內存隨機訪問高效。這種"理論上適度開銷換取最高精度"的位置,就是OScaR在精度-效率帕累托前沿上占據的獨特位置:比最便宜的KIVI準確得多,比最複雜的TurboQuant+便宜得多,同時精度還更高。

五、研究邊界與未來:還有哪些問題有待解決

任何研究都有它的局限性,研究團隊也坦誠地指出了OScaR的邊界。

由於現代語言模型普遍使用RoPE(旋轉位置編碼)機制,Key向量在進入注意力計算前會被動態施加位置相關的旋轉,這使得Hadamard變換無法像處理Value那樣提前"離線"完成——它必須在每次生成新令牌時在線計算。這雖然已經通過HadaCore等工程優化大幅降低了開銷,但相比完全沒有旋轉操作的KIVI,依然存在額外計算成本。未來如果能找到在RoPE存在條件下也能離線融合旋轉的方案,整體效率還能進一步提升。

此外,當前的實驗主要集中在具有標準LLM(大型語言模型)骨幹網路的模型上。研究團隊認為,OScaR的框架理論上也適用於其他需要KV緩存的自回歸推理任務,比如流式視覺幾何模型、視覺自回歸模型、帶有KV緩存的擴散型語言模型等。但這些模型的架構與標準LLM有較大差異,且在這些領域中KV緩存壓縮本身也是新興課題,相關實驗還有待未來展開。

說到底,OScaR做的事情其實非常符合"奧卡姆剃刀"原則——同名論文的名稱來源正是如此。這個中世紀哲學原則主張:在解釋問題時,不必要地複雜的假設應該被剃掉,最簡單能解決問題的方案才是最好的方案。對付KV緩存量化中令牌範數失衡這個核心問題,研究團隊沒有堆疊複雜的誤差校正機制、沒有引入額外的查找表、沒有依賴高精度殘差儲存,只是對症下藥地用Hadamard旋轉消滅通道不均勻性,再用令牌縮放消滅範數失衡,兩步走,乾淨利落。

這對於正在使用或即將使用大型AI模型的普通用戶來說,意味著未來他們在手機、平板或雲端與AI交互時,即便AI處理的是超長對話、高清圖片或長篇音頻,系統也能更流暢、更省電、服務更多人——而AI本身的聰明程度幾乎不受影響。歸根結底,好的壓縮不是把AI變笨,而是讓AI在更小的空間裡依然聰明地工作。

感興趣的讀者可以通過arXiv編號2605.19660找到這篇論文的完整版本,其中包含了所有模型的詳細實驗數據、理論推導、CUDA實現細節以及豐富的可視化結果,是目前在多模態AI模型KV緩存極限量化這一方向上少有的系統性研究。

Q&A

Q1:KV緩存量化為什麼在2位壓縮時特別容易失效,其他量化方法有哪些局限?

A:2位量化只有4個可區分的數值級別,容錯空間極小,任何數值分布的不均勻都會造成嚴重失真。現有方法如KIVI在應對通道異常值時表現尚可,但忽視了令牌範數失衡問題,導致不同令牌被迫共享同一粗糙的量化尺子,弱小令牌的資訊幾乎丟失。TurboQuant等方法雖加入了殘差糾錯,但引入了查表操作和複雜流水線,在長文本場景下速度反而下降明顯。OScaR通過從根本上消除範數失衡,繞開了這些問題。

Q2:OScaR的Hadamard變換會不會破壞注意力機制的正確性?

A:不會。Hadamard變換是一種正交變換,數學上類似旋轉,不改變向量之間的內積(點積)關係。注意力得分的計算依賴Query和Key的內積,只要Query和Key同時做相同的Hadamard變換,兩者內積的結果與變換前完全一致。OScaR正是這樣設計的:Key做Hadamard旋轉後量化儲存,Query在計算注意力時也先做同樣的旋轉,數學上等價於完全沒有做旋轉,正確性得到嚴格保證。

Q3:令牌範數失衡問題是否只存在於文字類AI模型中?

A:不是。研究團隊在圖文混合模型和全模態模型上都觀察到了令牌範數失衡現象,而且多模態模型中的表現更為複雜。除了與注意力匯點相關的低範數異常令牌,多模態模型還存在跨模態範數跳變(文字令牌和圖片令牌的範數水平差異顯著)以及某些特殊層中的高範數異常令牌。這些多樣化的失衡模式使多模態場景下的量化更為困難,OScaR的全令牌縮放方案能夠統一處理這些不同的失衡模式,在多模態測試中同樣取得了領先成績。

宅中地 - Facebook 分享 宅中地 - Twitter 分享 宅中地 - Whatsapp 分享 宅中地 - Line 分享
相關內容
Copyright ©2026 | 服務條款 | DMCA | 聯絡我們
宅中地 - 每日更新