現代AI模型有個隱形殺手:不是算力不夠,是內存先崩了。每次大模型處理長文本,都要在KV緩存(鍵值緩存,模型推理時的短期記憶)里存下海量中間數據。上下文越長,這塊"草稿紙"就越膨脹,最終卡住的不是GPU算力,而是內存帶寬。
2025年底,微軟亞洲研究院一篇論文讓圈內人眼前一亮。TurboQuant——這個聽起來像渦輪增壓的算法——號稱能把大模型推理時的KV緩存壓縮到極致,精度損失卻微乎其微。但真正讓人上頭的是它的實現方式:沒搞復雜的矩陣運算,而是把高維數據當成幾何圖形來"折疊"。
這篇被Medium付費墻擋住的技術解讀,核心就一句話:用旋轉和縮放,把信息密度塞進更小的空間。
為什么KV緩存成了新瓶頸
大模型的推理過程分兩步:預填充(prefill)和解碼(decoding)。預填充階段,模型一口氣讀完整段輸入,生成第一詞;解碼階段則逐個吐字,每步都要回顧之前所有上下文。這個"回顧"就靠KV緩存實現——它存著每層注意力機制的歷史鍵值對。
以Llama 3.1 405B為例,處理128K上下文時,單序列的KV緩存峰值可達約640GB。這還是batch size為1的情況。實際服務中,并發請求會讓這個數字乘以幾十。相比之下,模型權重本身"只有"約810GB(FP8精度),卻可以通過量化靜態壓縮。KV緩存是動態的、隨序列長度線性增長的,傳統量化方法對它束手無策。
行業此前的解法大致三類:稀疏化(扔掉不重要的token)、蒸餾(訓練小模型模仿大模型)、以及各類量化嘗試。但量化KV緩存有個死穴:不同層的數值分布差異極大,同一套縮放參數用在第1層和第80層,效果天差地別。
幾何直覺:把高維點云當成可旋轉的物體
TurboQuant的突破在于換了個視角。作者團隊發現,KV緩存的每個token表示可以看作高維空間中的一個點。這些點不是隨機分布的——它們沿著某些方向高度拉伸,另一些方向卻擠成一團。傳統量化像用固定尺寸的網格去套變形的氣球,必然有些地方太松、有些地方太緊。
「我們觀察到,KV緩存的協方差矩陣往往呈現低秩結構。」論文一作在技術博客中寫道。翻譯成人話:這些高維點云其實"趴"在一個低維子空間里,就像一張紙折成復雜形狀后,仍能被壓回平面。
TurboQuant的做法是:先找到這個子空間的方向(通過快速PCA近似),然后把整個點云旋轉對齊,讓信息集中在少數維度上。接著按維度重要性分配不同的量化精度——重要維度給4bit甚至8bit,次要維度壓到2bit或1bit。最后再把點云轉回原坐標系。
整個過程只涉及兩次旋轉矩陣乘法(正變換和逆變換),計算開銷極低。但幾何上的對齊讓量化誤差大幅下降:原本需要統一用4bit保存的數據,現在可以用混合精度達到同等質量,總比特數砍半。
工程細節:為什么"旋轉"比"縮放"更關鍵
量化領域有個經典技巧:對數據做per-channel或per-token縮放,讓數值分布對齊到量化網格。TurboQuant也用了縮放,但把旋轉放在更核心的位置。作者對比實驗顯示,只做縮放(類似SmoothQuant的思路)在KV緩存上效果有限,因為不同頭的數值分布方向差異太大。
旋轉解決了"方向不對"的問題。具體來說,TurboQuant為每層、每頭的KV緩存單獨計算旋轉矩陣——不是全局共享,而是在線自適應。計算成本通過隨機采樣部分token來壓低,而非用全量數據做SVD。
一個反直覺的設計:旋轉矩陣本身也需要存儲和傳輸。但作者證明,當壓縮比超過一定閾值(約2:1),旋轉矩陣的額外開銷就被節省下來的KV緩存空間覆蓋。在典型配置下,TurboQuant把KV緩存從4bit壓到2bit混合精度,端到端加速約1.8倍,精度損失小于0.5%。
與同類方案的對比:不是取代,是補強
TurboQuant不是第一個打KV緩存主意的方案。2024年的H2O、StreamingLLM等稀疏化方法,通過動態丟棄遠距離token來減容;同年的KIVI則嘗試對KV緩存做分組量化。但這些方法要么犧牲長程依賴能力,要么在超長上下文上精度崩壞。
TurboQuant選擇了一條更保守也更普適的路:不扔數據,只壓縮表示。它與稀疏化方法正交——可以先旋轉壓縮,再疊加H2O的token淘汰。實驗顯示,這種組合在256K上下文上仍能保持92%以上的原始精度,而基線方法早已跌破可用閾值。
另一個隱形優勢:TurboQuant對硬件友好。旋轉操作在現代GPU上可以用融合內核(fused kernel)高效實現,無需復雜的內存重排。相比之下,某些基于非結構化稀疏的方案,雖然理論壓縮比更高,實際推理時卻被不規則內存訪問拖慢。
落地前景:誰最需要這項技術
從論文披露的信息看,TurboQuant已在微軟內部部分推理服務中試點。最直觀的受益場景是長文檔處理——法律合同分析、科研文獻綜述、代碼庫理解等任務,上下文動輒十萬token起步。在這些場景下,KV緩存壓縮直接轉化為更低的延遲和更高的并發。
邊緣設備是另一個潛在戰場。論文提到,在單卡A100上運行70B模型時,TurboQuant讓最大支持上下文從32K擴展到64K,無需額外顯存。對于想在本地跑大模型的開發者,這意味著"能跑"和"不能跑"的區別。
但作者也坦承局限:TurboQuant對極短序列(<1K)幾乎無收益,旋轉開銷反而拖慢速度;對需要頻繁重置上下文的交互式應用(如多輪對話中的歷史截斷),自適應旋轉的攤銷成本也需要重新計算。
技術社區的反應分化明顯。Hugging Face一位貢獻者在討論帖中寫道:「終于有人把幾何直覺帶回量化了,而不是堆砌更復雜的優化目標。」但也有聲音質疑旋轉矩陣的在線計算成本,認為在極高并發場景下可能成為新瓶頸。
論文最后留下一個開放問題:這種幾何壓縮框架能否擴展到模型權重本身,實現訓練-推理一體化的極致壓縮?作者沒有給出答案,但代碼倉庫的README里藏著一句備注:「實驗中的全量化方案將在后續工作中討論。」
當行業還在爭論4bit權重量化是否夠用的時候,TurboQuant已經證明:推理階段的動態數據,還有巨大的壓縮空間等待挖掘。而鑰匙,就藏在那些高維點云的幾何形狀里。
如果旋轉矩陣的計算成本能再降一個數量級,我們是否會看到實時自適應的"流體量化"——每個token的表示精度都根據上下文動態調整?那將是另一場關于效率與精度的重新談判。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.