跳到正文
IFAI

開源專案

開源演算法 RotorQuant 擊敗谷歌:10 倍視訊記憶體壓縮下預填充提速 5.3 倍

首次發布 傳播指數 48

開源 KV 快取壓縮演算法 RotorQuant 亮相。它利用克利福德旋轉器簡化了谷歌 TurboQuant 的全域性矩陣運算,在提供 10 倍視訊記憶體壓縮的同時,將預填充速度拉高 5.3 倍、解碼提速 28%。這意味著單張消費級顯示卡跑超長上下文大模型變得容易得多。

開源演算法 RotorQuant 擊敗谷歌:10 倍視訊記憶體壓縮下預填充提速 5.3 倍
圖:themenonlab.blog

RotorQuant 是一個開源的 KV 快取壓縮工具,能把大語言模型的上下文視訊記憶體佔用直接砍掉 10 倍,同時讓長文本的預填充速度提速 5.3 倍。

如果你在本地跑大模型,肯定遇到過視訊記憶體不夠的問題。以 FP16 精度的 8B 模型為例,吃下 128K 上下文光是 KV 快取就要佔掉大約 4.6 GB 視訊記憶體。要是換成 32B 模型,基本上就必須上多張專業顯示卡了。

它是怎麼做到的

此前谷歌在 ICLR 2026 上提出了 TurboQuant,先把向量旋轉打散再去量化成 3-bit,雖然實現了 10 倍壓縮,但它用的沃爾什-哈達瑪變換(WHT)是個全域性稠密矩陣。對於 128 維向量,每個向量要跑 16000 多次浮點乘加操作,算力開銷非常大。

RotorQuant 發現注意力向量其實集中在低維流形上,根本不需要全域性大變換。它引入了三維空間的克利福德代數(Clifford rotators),把向量拆成每組 3 個數字的小塊獨立做正交旋轉。

這麼一改,每次向量操作從 16000 次驟降到大約 200 次,壓縮變換本身所需的引數量比 TurboQuant 少了 44 倍。更妙的是,區域性的塊對角旋轉反而更好地保留了向量的方向特徵,困惑度不僅沒崩,反而更好了。

在 Llama 3.1 8B 的 3-bit 測試中,RotorQuant 的困惑度達到 6.91,好於 TurboQuant 的 7.07。它的解碼速度達到每秒 119 token,比 TurboQuant 快 28%;預填充速度更是從每秒 722 token 飆升到 3822 token,快了 5.3 倍。

在實際體驗中,處理一份 1 萬 token 的長文件,原本 TurboQuant 需要 14 秒,RotorQuant 不到 3 秒就搞定了。此外它還有一個非對稱模式,只壓縮 K 快取,能做到 5 倍壓縮的同時困惑度僅增加 0.8%。

怎麼跑起來

這個專案是以 llama.cpp 分支形式開源的,不需要重新訓練模型,也不需要做格式轉換,直接指定快取引數就能用。

硬體支援上,輝達 CUDA 顯示卡和蘋果 Apple Silicon 都已經支援。你只需要克隆程式碼庫並切換到對應特性分支,在 Linux 或 Windows 上用 cmake 開啟 GGML_CUDA 編譯,在 Mac 上開啟 GGML_METAL 編譯即可執行。

為什麼重要

對於在本地跑 RAG、程式碼庫分析或長文件閱讀的開發者和玩家來說,RotorQuant 非常值得現在就上手試試。長上下文本地推理最大的痛點往往不是生成慢,而是剛塞進長文件時漫長的預填充卡頓,RotorQuant 剛好補上了這塊短板。

和谷歌這類大廠的原型方案相比,開源社群直接在推理框架底層把它做成了即插即用的工具。我們認為,這種把幾何代數巧妙塞進量化流程的思路,很可能會迅速被更多主流推理框架採納,讓單張 24GB 消費級顯示卡跑 32B 模型的超長上下文真正變成常態。

來源 (1)

  1. [1]

每日 AI 內容精選