現代語言模型儲存著大型的高維向量表格:KV 快取、嵌入、注意力鍵。TurboQuant 將這些向量的每個座標壓縮至 2-4 位元,並保證失真度接近最佳化,無需記憶體開銷用於尺度因子,且無需訓練或校準。本頁面將解釋其運作原理。

本頁面的核心主張:在高維度下,隨機旋轉能將每個輸入向量轉換為其座標遵循已知固定分佈的形式。一旦為該分佈設計好編碼本,它便適用於所有輸入。頁面的其餘部分將構建該編碼本並將其應用於 MSE、平均值和內積估計。

此構建由 DRIVE (Vargaftik 等人,NeurIPS 2021) 引入,用於單一位元聯邦平均估計,並由 EDEN (Vargaftik 等人,ICML 2022) 推廣至每個座標 $b$ 位元。TurboQuant (Zandieh 等人,2025) 採用相同的構建,將每個向量的尺度參數固定為常數,重新包裝用於 KV 快取壓縮和內積檢索。本頁面每個概念與其來源論文的對應關係見 §0.9。

下方的每個迷你演示涵蓋一個後續將使用的概念。如果您已了解,可以跳過。

誤差是猜測值與真實值之間的距離。透過有號誤差來評分猜測值,可以讓正負誤差相互抵消,這表示分數不會懲罰偏差。平方誤差則強制每個誤差都計為正數,並對較大的誤差給予比小誤差更大的懲罰。最小化均方誤差的猜測值是數據的平均值:它是最小化到各點的平方距離總和的唯一數字。

一個量 $X$ 的一階矩是其平均值 $\mathbb{E}[X]$;二階矩是其平方的平均值 $\mathbb{E}[X^2]$。零均值變數的一階矩為零,因為正負偏差會相互抵消。只要有任何非零偏差,其二階矩就嚴格為正,因為平方值非負且無法抵消。上述 MSE 本身就是殘差誤差的二階矩。這個區別將在 §7 中再次出現,其中每個輸入的差距 $ ilde y - y$ 在一階矩中平均為零,而其平方在二階矩中平均為嚴格為正的量。

平均值具有我們將在 §7 中使用的性質。它介於數據的最極端點之間,因此其絕對值至少比其中一個點小。當量化器將一整組值壓縮到該組的平均值時,儲存的值的絕對值小於該組的最大值。重建值是輸入的縮小版本。與縮小重建值的內積會小於與原始輸入的內積。

估計器是一種從數據中提取猜測值 $\hat heta$ 以估計未知真實值 $ heta$ 的程序。在新的數據上重複此過程,得到的猜測值會形成一個分佈。該分佈可能以兩種獨立的方式失敗。變異數是一種:個別猜測值有雜訊。偏差是另一種:即使平均許多猜測值,該程序仍然是錯誤的。一個 $\mathbb{E}[\hat heta]= heta$ 的估計器是無偏差的;無論分佈有多寬,其中心都位於 $ heta$。

下方的靶心圖顯示了兩種失敗模式。偏差是分佈中心到十字線的距離。變異數是分佈的寬度。這兩個量彼此獨立。§7 將相同的靶心圖與 §6 的 MSE 量化器進行比較,分佈中心偏離了十字線。§8 將其與另一個分佈中心對準十字線的估計器進行比較。

為何座標會隨 $d$ 縮小。單位向量的 $\sum_i X_i^2 = 1$。當 $d$ 個座標共享固定總和時,如果 $d$ 很大,任何單一座標都不可能很大。想像將 $1$ 的長度分配給 $d$ 個槽:槽越多,每個槽的份額越小。

對稱性所暗示的。沒有任何座標軸是特殊的,因此所有 $\mathbb{E}[X_i^2]$ 值都相等。當 $d$ 個相等項的總和為 $1$ 時,每一項都是 $1/d$。任何單一座標的正負機率相等,因此 $\mathbb{E}[X_i] = 0$。平均值為 $0$ 且二階矩為 $1/d$ 表示標準差為 $\sqrt{1/d} = 1/\sqrt d$。

在您目前的設定下,$d = $ 2,標準差為 0.707。此 $d$ 的部分樣本座標 (當 $d > 6$ 時截斷):

隨著 $d$ 的增長,標準差 $1/\sqrt d$ 縮小:$d = 10$ 時為 $0.316$, $d = 100$ 時為 $0.1$, $d = 1000$ 時為 $0.032$。上方圖中的直方圖也隨之變窄,金色的虛線標示了 $\pm 1/\sqrt d$。

向量:數字的有序列表 / 從原點出發的箭頭。長度與內積:範數 $\sqrt{\sum x_i^2}$ 以及兩個向量指向相同方向的程度。MSE:平均平方誤差。無偏差:多次估計的平均值等於真實值。旋轉:保持長度和角度的基底變換。CLT:許多獨立隨機變數的總和收斂到高斯分佈。高維度集中:隨機單位向量的每個座標具有平均值 $0$ 和標準差 $1/\sqrt d$。量化:將每個數字捕捉到 $2^b$ 個級別之一;額外一位元將平方誤差減半。

DRIVE (Vargaftik 等人,NeurIPS 2021) 引入了每個座標一位元的構建。發送者透過隨機正交矩陣旋轉輸入向量,發送每個旋轉座標的符號以及單一的尺度標量 $S$,接收者在將符號向量乘以 $S$ 後反轉旋轉。DRIVE 推導出兩個尺度公式。MSE 最優的偏差尺度為 $S = \|R(x)\|_1 / d$。無偏差尺度為 $S = \|x\|_2^2 / \|R(x)\|_1$,這會得到 $\mathbb{E}[\hat x] = x$。DRIVE 還表明,隨機 Hadamard 變換可以取代均勻隨機旋轉,成本為 $O(d \log d)$ (DRIVE, §6)。

EDEN (Vargaftik 等人,ICML 2022) 將 DRIVE 推廣到每個座標任意 $b$ 位元。旋轉後,EDEN 使用 $\eta_x = \sqrt{d}/\|x\|_2$ 來正規化旋轉向量,使其每個座標近似為 $\mathcal{N}(0,1)$,然後使用為標準常態分佈一次設計的 Lloyd-Max 編碼本進行量化。1 位元的編碼本為 $\{\pm\sqrt{2/\pi}\}\approx\{\pm 0.798\}$,2 位元的編碼本為 $\{\pm 0.453, \pm 1.510\}$。這些是本頁面在 §5 中推導出的精確編碼本。EDEN 保留一個每向量尺度 $S = \|x\|_2^2 / \langle R(x),\, Q(\eta_x R(x)) angle$,這會產生無偏差估計 (EDEN, Theorem 2.1)。

RaBitQ (Gao 和 Long,SIGMOD 2024) 是近似最近鄰搜尋領域的一個平行研究方向。編碼器使用隨機化旋轉來旋轉輸入向量,儲存每個旋轉座標的符號以及每向量的正規化尺度,解碼器則從符號和尺度估計內積。擴展論文 (Gao 等人,2024,arXiv:2409.09913) 證明該估計器達到了 Alon 和 Klartag (FOCS 2017) 對於內積量化的漸近最優性界限。RaBitQ 早於 TurboQuant,並與 DRIVE/EDEN 系列共享隨機旋轉骨幹。這兩個系列從不同的框架(聯邦平均估計對 ANN 搜尋)獲得了可比較的理論結果,它們之間的關係是正在進行的公開討論的主題 (arXiv:2604.18555 和 arXiv:2604.19528,均為 2026)。

假設您有一個維度為 $d=1536$ 的向量 $\mathbf{x}\in\mathbb{R}^d$(以 $1536$ 個浮點數儲存)。儲存所有這些浮點數非常佔空間(假設使用 float16,儲存單一向量需要 $24576$ 位元),因此您可能希望僅使用每個座標 $b$ 位元(總共 $b\cdot d$ 位元)來儲存它($b$ 可以小至 $1$ 或 $2$ 位元)。之後,您希望恢復一個近似值 $ ilde{\mathbf{x}}$,它應該接近 $\mathbf{x}$。接近度由以下方式衡量:

第二種方式很重要,因為注意力分數和最近鄰查詢都是內積。我們希望估計器是無偏差的:$\mathbb{E}[\langle\mathbf{y}, ilde{\mathbf{x}} angle] = \langle\mathbf{y},\mathbf{x} angle$。

MSE 失真:真實向量與其重建之間的平均平方誤差,入門 §0.3。

內積 $\langle y, x angle$:兩個向量指向相同方向的程度,入門 §0.2。這是注意力計算的內容。

估計器:一個規則(在此為:量化,然後解碼),它返回一個真實值 $s$ 的近似值 $\hat s$。無偏差估計器:多次查詢後,$\hat s$ 的平均值等於 $s$。個別估計值可能帶有雜訊;平均值是準確的。入門 §0.4。

對於每個座標,選擇 $[-1, 1]$ 範圍內 $2^b$ 個均勻分佈級別中最近的一個。這表示每個數字 $b$ 位元。相同的規則首先在 2D 和 3D 中運行,此時幾何形狀可見,然後在高維版本中運行。

拖曳向量的尖端。向量會捕捉到 $2^b imes 2^b$ 網格上最近的點。綠色箭頭顯示原始輸入。藍色箭頭顯示輸入被量化到的位置。它們之間的紅色線段是重建誤差 $\mathbf{x} - ilde{\mathbf{x}}$。

三軸上的 $2^b$ 級別網格產生 $2^{3b}$ 個捕捉點。拖曳畫布以繞著視圖旋轉。尖峰預設值顯示了構建的失敗之處:輸入靠近一個軸,並且落在兩個網格級別之間,這是重建誤差最大的地方。

應用於高維向量每個座標的相同規則。您無法再看到網格,但每個座標的誤差仍然存在。

選擇尖峰輸入。樸素量化器的網格均勻分佈在 $[-1, 1]$ 上。輸入幾乎所有的量值都集中在單一座標上,該座標的值落在離它最近的兩個網格級別之間,因此重建效果很差。其餘座標接近零,佔用了大部分級別,儘管它們攜帶的輸入資訊很少。

固定網格對座標幅度大致均勻的輸入產生小的重建誤差,而對幅度集中在一個或少數幾個座標上的輸入產生大的重建誤差。接下來:§2 說明生產系統如何處理第二種情況以及它們為此付出的代價。

實際的嵌入很少是平坦的。訓練模型很可能產生離群通道。這意味著少數座標遠大於其餘部分。具有固定 $[-L, L]$ 網格會裁剪離群值或浪費對主體的解析度。生產量化器 (GPTQ, AWQ, KIVI, KVQuant) 透過計算每個小區塊的 $(\min, \max)$(或零點和尺度)並以全精度將它們儲存為輔助資訊來解決這個問題。

一個 64 維向量,其座標大部分很小,有一個大的離群值(顯示為紅色)。三種量化器以相同的 $b$ 位元預算重建相同的向量。策略 A 使用單一固定網格處理整個向量。策略 B 透過每個區塊的 float16 標頭成本,為每個區塊調整網格。策略 C 先旋轉向量,然後應用單一固定網格。指標報告了每次重建的 RMSE 以及包含元數據成本後每值的有效位元數。

對於每區塊方案,有效位元數為 $b + 32/s$,對於其他兩種方案為 $b$,因為只有每區塊方案為每個 $s$ 個元素的區塊儲存 float16 尺度和零點(共 32 位元)。當 $b=3, s=16$ 時,每區塊成本為 $3 + 2 = 5$ 位元/值,比名義 $b$ 高出 66%。策略 C 實現了與策略 A 相同的儲存成本,同時產生了策略 B 的重建品質。頁面的其餘部分將解釋使之成為可能的構建。

生產量化器透過支付每區塊的元數據稅來處理離群值。TurboQuant 必須是數據無關的:一個對每個向量執行的單一程序,沒有校準集,也沒有每區塊標頭。接下來:§3 介紹了使固定網格適用於所有輸入的移動。

旋轉技巧:應用一個隨機正交變換 $oldsymbol{\Pi}$,然後逐座標量化。旋轉是無損的,它精確地保留了長度和內積:

由於旋轉是精確的,所有重建誤差僅來自量化步驟。經過均勻隨機旋轉後,每個 $oldsymbol{\Pi}\mathbf{x}$ 的座標都遵循相同的固定 Beta 分佈(論文引理 1),無論 $\mathbf{x}$ 原本是什麼樣子。一旦為該分佈設計好單一編碼本,它就對所有輸入都是最優的。我們在 §5 中構建編碼本。

生成一個 $d imes d$ 的 i.i.d. $\mathcal{N}(0,1)$ 條目矩陣並運行 QR 分解;保留正交因子 $Q$。結果在正交群 $O(d)$ 上均勻分佈,這正是引理 1 所需的。

從極端情況開始:一個向量的所有量值都集中在一個座標上,$(1, 0)$。透過角度 $ heta$ 旋轉並觀察量值如何在兩個座標之間重新分配。在 $ heta{=}45°$ 時,量值平均分配給兩個座標,得到 $( frac{1}{\sqrt 2}, frac{1}{\sqrt 2})$。向量的總長度在整個過程中保持不變。

三維空間中的相同構建。尖峰 $(1, 0, 0)$ 被隨機正交矩陣旋轉,將輸入的量值分散到輸出所有三個座標。向量的總長度得到保留。每次隨機旋轉的抽取都會產生不同的分佈。

2D 中的單一旋轉將最大座標減少到輸入量值的一半以下。3D 中的隨機旋轉通常會使一個座標保持在 $0.7$ 左右。在 $d{=}64$ 時,旋轉後最大座標約為 $1/\sqrt d \approx 0.125$,與輸入的集中程度無關。

旋轉保留長度和內積。它改變的唯一事情是哪些座標包含向量的量值。一個向量的所有量值集中在一個座標上,在旋轉後變成一個量值分散到所有 $d$ 個座標上的向量。每個被量化的輸入都屬於這種分散的類型。接下來:§3.5 顯示相同的旋轉座標會饋送到 §0.9 的先前工作圖中的三個不同解碼器。

§3 的隨機旋轉是 §0.9 的先前工作圖中所有方法共用的編碼器前端(DRIVE 2021, EDEN 2022, RaBitQ 2024, QJL 2024, TurboQuant 2025)。方法在解碼器端有所不同:每個方法讀取旋轉座標並從中恢復不同的量。

下方的演示將一個旋轉向量並行通過三個解碼器。DRIVE 的平均值解碼器返回 $\mathbf{x}$ 本身的無偏差估計。RaBitQ 和 QJL 的內積解碼器返回與查詢 $\langle\mathbf{q},\mathbf{x} angle$ 的估計值。EDEN 和 TurboQuant 的 MSE 解碼器返回低失真重建 $ ilde{\mathbf{x}}$。每個面板報告其與真實值的誤差以及為此儲存的每座標位元數。

隨機旋轉加上對旋轉座標的低位元讀取是 DRIVE、RaBitQ、QJL、EDEN 和 TurboQuant 共用的前端。方法在解碼器端以及它們各自的任務上有所不同:恢復輸入向量、與查詢的內積,或 MSE 最優重建。頁面的其餘部分將遵循 MSE 分支(EDEN 和 TurboQuant)。接下來:§4 解釋了讓單一固定編碼本適用於所有輸入的結果。

用均勻隨機 $oldsymbol{\Pi}$ 旋轉 $\mathbf{x}$ 等同於在半徑為 $\|\mathbf{x}\|$ 的球體上選擇一個隨機點。因此,「$oldsymbol{\Pi}\mathbf{x}$ 的座標看起來像什麼?」這個問題等同於「球體上均勻點的座標看起來像什麼?」這個問題。

在低維度下,答案遠非鐘形曲線。在 2D 中,邊際分佈是反正弦分佈,呈 U 形,在 $\pm 1$ 處有峰值。在 3D 中,它在 $[-1, 1]$ 上均勻分佈。隨著 $d$ 的增長,邊際分佈變窄並收斂到變異數為 $1/d$ 的高斯分佈。隨後的演示中可以看到這種收斂。

對於 $\mathbb{S}^{d-1}$ 上的均勻點,任何單一座標的邊際分佈是

一個縮放/偏移的 Beta 分佈。隨著 $d o\infty$,它逐點收斂到 $\mathcal{N}(0,\,1/d)$。

從單位圓中抽取 2000 個點,觀察單一座標,例如 $x_1$。邊際分佈是反正弦分佈 $ frac{1}{\pi\sqrt{1-x^2}}$,呈 U 形,在 $\pm 1$ 處有峰值。形狀遠非高斯分佈:$-1$ 和 $+1$ 之間的任何 $x_1$ 值都是可能的,且端點比中間點更可能出現。

現在從 3D 的單位球體中均勻抽取樣本。一個座標的邊際分佈在 $[-1, 1]$ 上均勻分佈。邊際分佈仍然不是鐘形曲線。拖曳以繞著視圖旋轉。

向上拖曳 $d$。邊際分佈變窄並收斂到標準差為 $1/\sqrt d$ 的高斯分佈。到 $d{=}30$ 時,邊際分佈在視覺上是高斯分佈。到 $d{=}256$ 時,幾乎所有的質量都集中在零附近寬度約為 $1/\sqrt d$ 的一個薄殼內。

不同的座標也近似獨立,這是一個比不相關更強的條件,也是下面逐座標量化論證所實際需要的。

旋轉向量的每個座標都遵循相同的已知分佈。該分佈的標量量化問題可以一次解決,並且該解決方案可以重複用於每個向量的每個座標。沒有每區塊尺度因子,也沒有需要儲存的輔助資訊。接下來:§5 使用 Lloyd–Max 構建編碼本。

每個旋轉座標看起來都像來自同一分佈的樣本(§4)。因此,只有一個標量問題需要解決一次:在數軸上選擇 $2^b$ 個著陸值,使得將任何樣本捕捉到其最近的著陸值所引入的誤差盡可能小。這些著陸值就是編碼本。

一個經典演算法可以找到它們:Lloyd–Max (Lloyd 1957/82, Max 1960)。由於分佈是固定的且預先已知,Lloyd–Max 僅在表格建立時運行一次。產生的著陸值儲存到一個針對每個 $b$ 的小型表格中。之後,編碼一個座標就是一次針對該表格的最近鄰查找。每個輸入都使用相同的表格,無需校準步驟,也無需每向量調整。

拖曳下方的 $b$ 以觀察 Lloyd–Max 如何確定 Beta 分佈的著陸值。

給定一個 PDF $f_X$,選擇質心 $c_1 \le \dots \le c_{2^b}$ 以最小化 $\int (x - c_{i(x)})^2 f_X(x)\,dx$,方法是交替進行:

直到穩定。演示對 §4 的 Beta 分佈運行此過程。

對於中等 $d$,論文中的顯式質心(在按 $\sqrt{d}$ 正規化後)為:$b{=}1\!:\pm\sqrt{2/\pi}$,$b{=}2\!:\{\pm 0.453,\pm 1.510\}$,依此類推。定理 1 證明了每座標 MSE $\lesssim frac{\sqrt{3}\pi}{2d}\cdot 4^{-b}$。常數 $ frac{\sqrt{3}\pi}{2}\approx 2.72$ 是香農最小值 $ frac{1}{d}\cdot 4^{-b}$ 的漸近比;在 $b{=}1$ 時,論文報告了一個更緊密的比例 $\approx 1.45$。

Lloyd–Max 給出了已知分佈的最優劃分,因此 Beta 邊際分佈的質心可以預先計算並儲存為一個針對每個 $b$ 的小型表格。由此產生的編碼本實現的每座標 MSE 在漸近上與香農下界的比值在 $\approx 2.72$ 以內,在 $b{=}1$ 時比值在 $\approx 1.45$ 以內。接下來:§6 將旋轉和編碼本組合成 TurboQuant-MSE。

切換輸入類型。沒有旋轉的樸素量化在尖峰輸入和離群通道輸入上失敗。有了前面的旋轉步驟,無論選擇哪種輸入,重建誤差大致相同。每個旋轉座標都遵循相同的 $\mathcal{N}(0,\,1/d)$ 分佈,這是為該分佈設計編碼本的依據。

TurboQuant-MSE 每向量儲存 $b\cdot d$ 位元,零元數據。重建的 $ ilde{\mathbf{x}}$ 與原始 $\mathbf{x}$ 的接近程度幾乎與任何量化器所能達到的最佳程度相同,與香農的資訊理論下界相差不超過 $\approx 2.72$ 倍。接下來:§7 顯示相同的編碼本會產生系統性偏差的內積估計。這是最小化重建 MSE 未能解決的誤差。

§6 的 TurboQuant-MSE 使 $ ilde{\mathbf{x}}$ 在平方距離上接近 $\mathbf{x}$。注意力機制不測量 $\|\mathbf{x}- ilde{\mathbf{x}}\|^2$。它計算 $\langle \mathbf{q}, ilde{\mathbf{k}} angle$ 並將該數字用作 $\langle \mathbf{q}, \mathbf{k} angle$ 的替代值。MSE 編碼本對內積問題給出系統性錯誤的答案。每次試驗返回相同的誤差,因此多次試驗的平均值無法消除它。

兩個早期事實產生了這種收縮。在 §0.3 中,一組值的 MSE 最優重建是該組的平均值,該平均值的絕對值小於該組的極端值。在 §4 中,隨機旋轉使 $oldsymbol{\Pi}\mathbf{x}$ 的每個座標表現得像一個零均值樣本,其大部分質量接近 0。結合這兩點,收縮是必然的:編碼器將每個軸劃分為 $2^b$ 個區間,並僅儲存 $oldsymbol{\Pi}\mathbf{x}$ 落入哪個區間,解碼器使用該區間的平均值進行重建,而該區間的平均值比落入相同區間的尾部輸入更接近 0。因此,重建 $ ilde{\mathbf{x}}$ 是 $\mathbf{x}$ 的收縮副本,而內積 $\langle \mathbf{q}, ilde{\mathbf{k}} angle$ 的結果小於 $\langle \mathbf{q}, \mathbf{k} angle$。由於編碼本是固定的,收縮因子在每次試驗中都是相同的。

一個旋轉座標 $y$ 具有上方繪製的近似高斯分佈。Lloyd–Max 將該軸劃分為 $2^b$ 個區間(內部垂直線);每個區間的質心是 MSE 最優重建(紅色點)。拖曳薄荷綠色手柄以設定 $y$。編碼器將其捕捉到其所落入區間的質心,得到 $ ilde y$(紅色)。下方的樓梯圖一次性繪製了整個軸上的映射 $ ilde y(y)$:每個水平階梯都位於虛線的身份線內,階梯與身份線之間的差距是該輸入處的收縮。

注意點。收縮是一個二階矩陳述。有號差距 $ ilde y - y$ 對某些輸入為正,對其他輸入為負;平均起來為零,因此任何一階矩論證都會抵消。第三個指標中的平方差距 $( ilde y - y)^2$ 始終為非負,因此求和不會抵消。以高斯分佈為權重並積分,等於 $D_b = \sigma^2 - \mathbb{E}[ ilde y^{\,2}]$,這是預算條的紅色部分;樓梯陰影可視化了該差距的點,不透明度跟蹤高斯分佈,因此視覺面積集中在失真實際累積的地方。隨著 $b$ 的增長,陰影變薄,紅色部分也隨之縮小。第四個指標 $\lambda_b = \mathbb{E}[ ilde y^{\,2}]/\sigma^2$ 是期望值中乘以每個內積 $\langle\mathbf q, ilde{\mathbf k} angle$ 的因子;這是下段引用的收縮因子,對於 $b=1,2,3,4$ 分別為 $0.64 / 0.88 / 0.97 / 0.99$。

下方的靶心圖測量了收縮。在 $b{=}1$ 時,偏移量是每個軸上的 $1 - 2/\pi \approx 0.36$。隨著位元數的增加,收縮因子迅速接近 1(約 $b{=}2$ 時為 $0.88$, $b{=}3$ 時為 $0.97$, $b{=}5$ 時為 $0.998$),因此到 $b{=}3$ 時,殘差偏差小於幾千次射擊的試驗間雜訊,紅色點在視覺上與十字線重疊。理論上,偏差在任何有限 $b$ 下都嚴格非零,但在實際中重要的情況是低位元情況(每個座標 1-2 位元),此時它主導了試驗間變異數。

與入門中的相同靶心圖。每次試驗發射兩槍,一槍是對 $\mathbf{y}_1$ 的內積估計,另一槍是對獨立的 $\mathbf{y}_2$ 的估計,兩者都除以其真實值並重新居中,以便完美的估計落在中心。黃色十字線標示真實值,紅色點是迄今為止所有發射的平均值。無偏差意味著紅色點位於十字線上,無論周圍的點雲有多寬。

注意點。在 $b{=}1$ 時,紅色點位於十字線的西南方向,位於對角線上。對 $\mathbf{y}_1$ 的偏移量和對 $\mathbf{y}_2$ 的偏移量相同,這就是應用於整個重建的單一尺度收縮所產生的效果。增加 $b$:偏移量快速縮小,在 $b{=}3$ 時低於試驗間雜訊,儘管底層收縮因子仍然嚴格小於 1。

對於標準高斯 $g$,$\mathbb{E}[|g|]=\sqrt{2/\pi}$,即「半高斯」平均值。1 位元的 MSE 編碼本將每個旋轉座標四捨五入到 $\pm\sqrt{2/\pi}/\sqrt d$;當您將該重建與 $\mathbf{y}$ 進行內積時,期望值中會再乘以一個 $\sqrt{2/\pi}$ 因子。相乘:$2/\pi \approx 0.637$。

具體來說,在 $b{=}1$ 時,最優 MSE 編碼本為 $\{-\sqrt{2/\pi}/\sqrt{d},\,+\sqrt{2/\pi}/\sqrt{d}\}$,因此 $Q(\mathbf{x}) = \sqrt{2/(\pi d)}\cdot \operatorname{sign}(oldsymbol{\Pi}\mathbf{x})$ 且

因子隨著 $b$ 的增長而縮小,但從未消失,這正是演示以上所示。

MSE 最優編碼本最小化平方重建誤差。代價是對每個內積進行固定的尺度收縮,並且在任何有限位元預算下,這種收縮都保持非零。注意力機制和最近鄰搜尋需要一個平均值正確的內積估計器。接下來:§8 保持相同的編碼器,並在解碼器端添加一個固定的前置因子,等於收縮的倒數。多次試驗的平均值等於 $\langle \mathbf{q}, \mathbf{k} angle$。

§7 以收縮重建結束。MSE 編碼本產生的 $ ilde{\mathbf{x}}$ 值的大小小於它們所編碼的輸入,因此每個內積 $\langle \mathbf{y}, ilde{\mathbf{x}} angle$ 的結果都比 $\langle \mathbf{y}, \mathbf{x} angle$ 小相同的尺度因子。在每座標一位元時,該因子精確為 $2/\pi$。平均多次試驗不會將估計值移向 $\langle \mathbf{y}, \mathbf{x} angle$,因為每次試驗的結果都乘以相同的尺度因子。

確定性的標量偏差可以在不改變編碼器的情況下移除。將解碼器的輸出乘以偏差的倒數,則乘積的期望值等於無偏差目標。QJL 在每座標一位元的情況下應用了這個想法。編碼器丟棄了量值資訊,這與 §7 的重建收縮是相同的步驟。解碼器應用一個固定的前置因子,其值是符號量化引入的半高斯收縮的倒數。

編碼器。一次性抽取一個隨機高斯矩陣 $\mathbf{S}$,並在每個編碼器和解碼器之間共享。要儲存 $\mathbf{x}$,請寫下 $\mathbf{S}\mathbf{x}$ 的符號。儲存的對象是每座標一位元;$\mathbf{S}\mathbf{x}$ 的條目量值被丟棄。丟棄量值可以節省位元,並且根據產生 §7 的 $2/\pi$ 的相同半高斯恆等式,對任何從符號構建的重建產生 $\sqrt{2/\pi}$ 的收縮。

解碼器。接收到一個全精度查詢 $\mathbf{y}$。計算 $\langle \mathbf{S}\mathbf{y},\, ext{儲存的符號} angle$。該量是 $\langle \mathbf{x},\mathbf{y} angle$ 的一個雜訊估計,其尺度縮小了 $\sqrt{2/\pi}$。乘以 $\sqrt{\pi/2}/d$。因子 $\sqrt{\pi/2}$ 是半高斯收縮的倒數,在期望值中將其抵消;因子 $1/d$ 對 $\mathbf{S}$ 的 $d$ 行進行估計平均。結果的期望值為 $\langle\mathbf{x},\mathbf{y} angle$。試驗間變異數大於 MSE 估計器的變異數,但多次試驗的平均值收斂到 $\langle\mathbf{x},\mathbf{y} angle$。

兩個面板都使用相同的每座標一位元。左側:§7 的 MSE 最優編碼本,有偏差。右側:QJL 包含其校準常數。每次試驗發射兩槍(對獨立的 $\mathbf{y}_1$ 和 $\mathbf{y}_2$)。試驗次數相同,目標相同。觀察紅色點的位置。

注意點。MSE 面板的紅色點位於中心西南方向,偏移量與 §7 的 1 位元測量相同,並且該偏移量保持不變,無論運行多少次試驗。QJL 面板的紅色點接近中心,但由於有限樣本雜訊存在殘留偏移。QJL 的試驗間變異數大於 MSE 的變異數(引理 4:$\propto \pi/(2d)$),因此在預設試驗次數下,殘留偏移量很小但可見。兩者估計器之間的關鍵區別在於此偏移量的來源:MSE 的偏移量是內積上的固定尺度偏差,不會隨著試驗次數的增加而縮小;QJL 的殘留偏移量是圍繞正確平均值的採樣雜訊,並以標準誤差率 $1/\sqrt{n}$ 隨著試驗次數的增加而縮小。

對於 $\mathbf{S}\in\mathbb{R}^{d imes d}$ i.i.d. $\mathcal{N}(0,1)$:

每行 $\mathbf{s}_i$ 使 $\mathbf{s}_i\mathbf{x}$ 和 $\mathbf{s}_i\mathbf{y}$ 聯合高斯分佈,協方差為 $\langle\mathbf{x},\mathbf{y} angle$。半高斯恆等式給出 $\mathbb{E}[(\mathbf{s}_i\mathbf{y})\, ext{sign}(\mathbf{s}_i\mathbf{x})] = \sqrt{2/\pi}\cdot\langle\mathbf{x},\mathbf{y} angle/\|\mathbf{x}\|$。對 $d$ 行求和並乘以 $\sqrt{\pi/2}/d$:$\sqrt{2/\pi}$ 收縮被抵消,結果在期望值中為 $\langle\mathbf{x},\mathbf{y} angle$。變異數受 $ frac{\pi}{2d}\|\mathbf{x}\|^2\|\mathbf{y}\|^2$ 的界限約束(論文引理 4)。

QJL 本身使用每座標一位元。TurboQuant-prod 將構建擴展到 $b$ 位元預算,方法是將位元分配給 §6 和 §8 中的兩個估計器。前 $b{-}1$ 位元使用 §6 的 MSE 編碼本來捕捉量值,對 $oldsymbol{\Pi}\mathbf{x}$ 進行編碼。最後一位元使用 QJL 編碼殘差 $\mathbf{r} = oldsymbol{\Pi}\mathbf{x} - ilde{\mathbf{y}}_{ ext{mse}}$,以使內積估計無偏差。總成本為 $b\cdot d$ 位元加上每向量一個尺度(殘差範數 $\|\mathbf{r}\|$),與 TurboQuant-MSE 相同。

殘差範數是整個方案中唯一的輔助資訊,每向量一個尺度,而不是像 GPTQ、AWQ 或 KIVI 所需的那樣每小區塊一個。變異數受定理 2 的界限約束。

TurboQuant-MSE 最小化重建誤差,並產生一個具有已知收縮因子的有偏差內積估計。TurboQuant-prod 將其 $b$ 位元中的一位分配給 QJL 殘差,並產生一個具有較高試驗間變異數的無偏差內積估計。兩種方案都使用 $b\cdot d$ 位元加上每向量一個尺度。接下來:§9 將兩種上限與資訊理論下界進行比較。

該論文使用香農的失真源編碼定理(透過 Yao 的 minimax 原理)證明,沒有任何量化器能在單位球體上的最壞情況輸入上做得比 $D_{ ext{mse}} \ge 4^{-b}$ 更好。該界限涵蓋了所有可想像的量化器,包括隨機化和數據自適應的量化器。TurboQuant 匹配的上限是 $ frac{\sqrt{3}\pi}{2}\cdot 4^{-b}$,在漸近上與下界相差約 $2.7$ 倍,在 $b{=}1$ 時相差約 $1.45$ 倍。

該圖在垂直軸上使用對數尺度。所有三條曲線具有相同的斜率($4^{-b}$ 指數速率),僅在一個小的常數偏移量上有所不同。

早期的數據無關量化器(均勻四捨五入、標量草圖)實現的重建誤差僅呈位元預算的多項式衰減,例如 $\mathcal{O}(1/b)$。TurboQuant 的 $4^{-b}$ 速率是 $b$ 的指數衰減。這種指數速率使得 §10 中報告的 $4 imes ext{到} 6 imes ext{KV 快取壓縮}$ 成為可能,且沒有可測量的下游品質損失。

上限、下限和測量誤差都以相同的指數速率 $4^{-b}$ 隨著 $b$ 的增長而衰減,它們之間的差異僅在一個小的常數上。因此,TurboQuant 在漸近上與香農的 $4^{-b}$ 速率相匹配,相差約 $2.72$ 倍,在 $b{=}1$ 時相差約 $1.45$ 倍。接下來:§10 探討了這種速率的系統後果。

Llama-3.1-8B-Instruct 的「針中尋針」回憶,所有壓縮方法均在 $4 imes$ 記憶體壓縮目標下進行評估(論文圖 4):

TurboQuant 在 $4 imes$ 壓縮下匹配全精度 NiaH 分數。在 LongBench-V1(論文表 1)上,TurboQuant 在每通道 $3.5$ 位元時匹配全精度平均值($50.06$);在每通道 $2.5$ 位元時,它與全精度相差約 $1\%$($49.44$ 對 $50.06$),壓縮率為 $6.4 imes$。

隨機旋轉後,每個輸入的每個座標都具有相同的固定分佈:一個低變異數的 Beta 分佈,隨著 $d$ 的增長收斂到高斯分佈。為該分佈一次設計的單一最優編碼本適用於所有輸入。整個向量量化問題簡化為已充分研究的標量量化問題。