向量搜尋是每個 RAG 系統、每個會記憶的智能體身上那筆沉默的擴展稅。embedding 只會增長,到某個點記憶體帳單就逼你做量化——把向量縮小,吃掉一點召回損失。5 月 11 日發布的 Qdrant 1.18 加入了 TurboQuant,而真正重要的框架是它自己的文件擺在最前面的那個:不是「我們能縮小向量嗎」,而是「我們能在不破壞其幾何結構的前提下縮小它們嗎」。這才是對的問題,因為召回就是幾何——如果量化不均勻地扭曲了距離,你的最近鄰就不再是最近的了。
TurboQuant 的機制是在壓縮前施加一個隨機正交旋轉,然後用一個固定的 codebook。embedding 是各向異性的——少數維度承載了大部分變異數(他們做基準的 DBpedia OpenAI 資料集,最強維度和最弱維度之間有 233.5 倍的比率)。純量量化對每個維度一視同仁,於是在死維度上浪費位元,把活維度餓著。product quantization 用按子空間的 codebook 解決了這點,但那些需要按資料集訓練,資料漂移時就過時。TurboQuant 的旋轉先把變異數均勻地鋪在所有維度上,於是單個統一 codebook 現在接近最優——而且因為旋轉是隨機且固定的,整件事是 data-oblivious 的。無需訓練,攝入時無需重新校準。數字,在 1536 維的 DBpedia 上:TQ 4-bit 達到約 8 倍壓縮,recall@10 為 0.965(加 rescoring 是 0.996),延遲 6.4 毫秒對比 float32 的 7.6 毫秒,儲存 72 MB,而純量量化需要 144 MB。誠實的警告很關鍵。頭條的 32 倍是 TQ 1-bit,作者直接稱其「不是安全的選擇」——召回崩塌。可用的數字是 4-bit 的 8 倍。0.996 的召回靠 rescoring,意味著保留完整向量來重排,把一部分儲存收益又吐了回去。二值量化在原始吞吐上仍然更快;TurboQuant 贏在規模下的召回穩定性(0.965,而二值在 10 萬量級跌到 0.78),不是速度。而且它只在一個資料集上測試——一個最大各向異性的資料集,這正是基於旋轉的方法最有利的情況。在更平的、各向同性的 embedding 上,旋轉給你的收益少得多,而那個情況沒被測量。
這對生態系統的影響是高速的商品化模式:一個來自 Google Research、ICLR 2026 的成果,幾週內就變成開源向量資料庫裡一行設定旗標。整個 RAG 和 agent-memory 層得到接近最優、無需校準的量化,而團隊裡沒人需要懂量化理論。它也擠壓那些賣點包含「我們替你調壓縮」的託管向量資料庫廠商——當 data-oblivious 量化是一個 `bits=4` 參數時,那道調優護城河就變薄了。data-oblivious 這一屬性正是相對於 product quantization 選它的具體理由:對於長生命週期的智能體記憶,embedding 分布隨你攝入而漂移,PQ 學到的 codebook 會失準、你得重訓;TurboQuant 的旋轉不在乎你的資料長什麼樣,所以沒有任何東西需要重新調。
週一早上,如果你大規模執行向量搜尋:在 Qdrant 1.18 裡以 opt-in 方式打開 TQ 4-bit(不是 1-bit),並在你自己的語料上測量 recall@k,帶和不帶 rescoring,然後再去信那個 8 倍。作者自己的指令才是可執行的——這些數字來自最大各向異性的 DBpedia,而你的 embedding 分布很可能更平,而那正是旋轉回報最少的地方。把 8 倍-到-0.965 當作一個待驗證的上限,而不是一個可假定的數字。如果你的距離度量是 L1/曼哈頓,就跳過——TurboQuant 在那裡需要完整重構,速度優勢蒸發;純量量化仍是更安全的選擇。
