UStackUStack
TurboQuant icon

TurboQuant

TurboQuant 用於壓縮高維向量,應用於 LLM KV 快取與向量搜尋,降低記憶體瓶頸並避免準確度損失。

TurboQuant

TurboQuant 是什麼?

TurboQuant 是一組理論基礎穩固的量化演算法,用於壓縮大型語言模型 (LLM) 系統與向量搜尋引擎使用的高維向量。其核心目的是減少記憶體瓶頸—特別是鍵值 (KV) 快取儲存—同時避免模型行為的準確度損失。

此方法針對傳統向量量化的常見限制:雖然能縮減向量大小,但需以全精度計算並儲存量化常數,從而引入額外的「記憶體開銷」。TurboQuant 設計用以解決此開銷挑戰,並提升 KV 快取壓縮與向量搜尋相似度查詢的效率。

主要特色

  • 針對 KV 快取瓶頸的極致向量壓縮:縮減鍵值對大小,以減輕記憶體壓力,從而加速相似度搜尋。
  • 零準確度損失(TurboQuant 聲稱):壓縮方法在測試中實現模型大小大幅縮減,同時不犧牲 AI 模型效能。
  • 基於 PolarQuant 的第一階段壓縮(隨機旋轉 + 標準量化器):先隨機旋轉向量以簡化其幾何結構,再施加高品質量化器捕捉大部分資訊。
  • 使用 QJL 的 1-bit 殘差校正消除偏差:採用極小額外壓縮步驟(僅 1 bit),以 QJL 演算法移除第一階段引入的偏差。
  • 包含的支援演算法(QJL 與 PolarQuant):TurboQuant 的成果依賴 Quantized Johnson-Lindenstrauss (QJL) 與 PolarQuant,這兩者皆為獨立方法。

如何使用 TurboQuant

  1. 識別 LLM 或檢索管線中的向量壓縮需求,例如壓縮 KV 快取張量或縮減相似度搜尋使用的向量大小。
  2. 套用 TurboQuant 的兩階段方案:先使用 PolarQuant 階段(隨機旋轉後進行高品質量化),再施加 1-bit QJL 殘差校正。
  3. 適用時使用 QJL 實現零開銷符號位元表示,因其能為每個結果向量數字產生符號位元(+1 或 -1),無需如傳統方法般儲存量化常數。
  4. 驗證特定模型設定中的注意力分數行為與檢索品質,因文章將此方法定位於精準注意力分數計算(決定輸入哪些部分重要的過程)。

使用情境

  • 壓縮 LLM KV 快取以降低記憶體成本:縮減鍵值儲存大小,讓注意力內的相似度相關檢索更快且較不受記憶體限制。
  • 提升向量搜尋吞吐量:壓縮用於高速相似度查詢的向量,透過降低記憶體與頻寬需求來加速大規模檢索。
  • 減少傳統量化開銷帶來的準確度風險:當先前量化方法因儲存常數而引入額外記憶體開銷時,特別使用 TurboQuant。
  • 量化 Transformer 設定中的注意力分數穩定性:施加 QJL 殘差校正步驟,以解決量化引入的偏差,進而實現更精準的注意力分數計算。

常見問題

TurboQuant 是單一演算法還是方法組合?

原文將 TurboQuant 呈現為一種壓縮方法,並介紹 Quantized Johnson–Lindenstrauss (QJL)PolarQuant 作為實現 TurboQuant 效果所使用的方法。

TurboQuant 相較傳統向量量化解決什麼問題?

傳統方法可能因需計算並以全精確度儲存多個資料區塊的量化常數,而增加 記憶體開銷。TurboQuant 被介紹為解決此開銷的「最佳」方式。

TurboQuant 如何避免 QJL 需要全精確度量化常數?

原文描述 QJL 使用 Johnson–Lindenstrauss 轉換,將每個結果向量數值簡化為單一 符號位元 (+1 或 -1),稱之為 零記憶體開銷 表示法,同時使用特殊估計器維持準確度。

TurboQuant 在 LLM 系統中應用於何處?

文章明確提及兩個目標:KV 快取壓縮 和大型搜尋及 AI 系統中使用的 向量搜尋 相似度查詢。

TurboQuant 何時使用 PolarQuant?

TurboQuant 將 PolarQuant 用作 第一階段:先進行隨機向量旋轉以簡化幾何形狀,然後對向量各部分套用標準高品質量化器。

替代方案

  • 傳統向量量化方法:廣泛用於壓縮高維向量,但儲存量化常數可能產生額外記憶體開銷,這是 TurboQuant 旨在解決的主要缺點。
  • 其他用於相似度搜尋的向量壓縮方法:若主要目標是更快的擷取與更少記憶體,可考慮一般向量壓縮技術;主要差異在於記憶體開銷與相似度/準確度保存的權衡方式。
  • 一般 KV 快取量化/最佳化策略:模型效率的替代方法可能直接針對 KV 快取記憶體,但未必採用 TurboQuant 的特定兩階段方案與 QJL 殘差校正。
  • 無量化的近似相似度索引:某些系統可透過變更擷取/索引結構而非壓縮向量來降低記憶體與延遲,這將工作流程從量化表示轉移至索引選擇。
TurboQuant | UStack