譯者 | 李睿
審校 | 重樓
向量數(shù)據(jù)庫是專門用于處理非結(jié)構(gòu)化、復(fù)雜數(shù)據(jù)(如圖像、文本或音頻)的高維向量表示的存儲和檢索的系統(tǒng)。通過將復(fù)雜數(shù)據(jù)表示為數(shù)值向量,這些系統(tǒng)理解場景和概念相似性,為查詢提供明顯相似而不是精確匹配的結(jié)果,從而實(shí)現(xiàn)高級數(shù)據(jù)分析和檢索。
隨著向量數(shù)據(jù)庫中數(shù)據(jù)量的增加,信息的存儲和檢索變得越來越具有挑戰(zhàn)性。二進(jìn)制量化將高維向量簡化為緊湊的二進(jìn)制代碼,減少了數(shù)據(jù)大小,并提高了檢索速度。這種方法提高了存儲效率,實(shí)現(xiàn)了更快的搜索,允許數(shù)據(jù)庫更有效地管理規(guī)模更大的數(shù)據(jù)集。
理解二進(jìn)制量化
在獲得初始嵌入后,然后應(yīng)用二進(jìn)制量化。二進(jìn)制量化將給定向量的每個(gè)特征簡化為二進(jìn)制數(shù)字0或1。它為正值賦值為1,為負(fù)值賦值為0,從而捕獲相應(yīng)數(shù)字的符號。
例如,如果一張圖像由四個(gè)不同的特征表示,其中每個(gè)特征都包含一個(gè)在float32存儲單元范圍內(nèi)的值,則對該向量執(zhí)行二進(jìn)制量化將把每個(gè)特征轉(zhuǎn)換為一個(gè)二進(jìn)制數(shù)字。這樣,由4個(gè)float32值組成的原始向量將被轉(zhuǎn)換成具有4個(gè)二進(jìn)制數(shù)字的向量,例如[1, 0,0, 1] 僅占用4位。
通過將存儲在每個(gè)維度上的數(shù)字從float32轉(zhuǎn)換為1位,這大幅減少了每個(gè)向量占用的空間量,減少了32倍。然而,這個(gè)過程是不可逆的——這使其成為一種有損壓縮技術(shù)。
為什么二進(jìn)制量化對高維數(shù)據(jù)很有效
當(dāng)在空間中定位向量時(shí),符號表示移動的方向,而幅度指定在選定的方向上移動的距離。
在二進(jìn)制量化中,通過保留每個(gè)向量分量的符號來簡化數(shù)據(jù)——1表示正值,0表示負(fù)值。雖然這可能看起來很極端,因?yàn)樗雎粤搜刂總€(gè)軸的移動幅度,但令人驚訝的是,它對高維向量非常有效。以下對這個(gè)看似激進(jìn)的方法如此有效的原因進(jìn)行探討。
向量數(shù)據(jù)庫中二進(jìn)制量化的優(yōu)點(diǎn)
提升性能
二進(jìn)制量化通過采用二進(jìn)制代碼(0和1)表示向量來增強(qiáng)性能,允許使用漢明距離(Hamming distance)作為相似性度量。漢明距離是使用二進(jìn)制向量之間的異或(XOR)運(yùn)算來計(jì)算的:XOR在位不同時(shí)的結(jié)果為1,在位相同時(shí)的結(jié)果為0。異或結(jié)果中的1的數(shù)量表示不同位的數(shù)量,提供了一種快速有效的相似性度量。
與更復(fù)雜的距離度量(如歐幾里得距離)相比,這種方法簡化并加快了向量比較。
提高效率
二進(jìn)制量化將向量從32位浮點(diǎn)數(shù)壓縮為1位二進(jìn)制數(shù),從而大幅減少了存儲需求,如上圖所示。這種壓縮降低了存儲成本,并加快了處理速度,對于需要存儲和管理大量數(shù)據(jù)的向量數(shù)據(jù)庫來說非常高效。
可擴(kuò)展性
增加維度減少表示中的沖突,這使得二進(jìn)制量化對高維向量來說更有效。
這種增強(qiáng)的功能允許對大量數(shù)據(jù)集進(jìn)行有效的管理和存儲,因?yàn)榫o湊的二進(jìn)制格式顯著地減少了存儲空間和計(jì)算負(fù)載。隨著維數(shù)的增加,潛在區(qū)域的指數(shù)增長確保了沖突最小化,從而保持了高性能和響應(yīng)性。這使得它成為可擴(kuò)展向量數(shù)據(jù)庫的理想選擇,能夠輕松處理不斷增長的數(shù)據(jù)量。
挑戰(zhàn)與考慮因素
準(zhǔn)確度和精確度
二進(jìn)制量化在顯著提高搜索速度的同時(shí),也影響了搜索結(jié)果的準(zhǔn)確性和精確度。具有高分辨率的數(shù)據(jù)提供的細(xì)微差別和細(xì)節(jié)可能會丟失,從而導(dǎo)致結(jié)果不太精確。此外,二進(jìn)制量化是有損壓縮,這意味著一旦數(shù)據(jù)經(jīng)過量化,原始信息將不可挽回地丟失。將二進(jìn)制量化與高級索引技術(shù)(如HNSW)相結(jié)合,可以在保留二進(jìn)制編碼速度優(yōu)勢的同時(shí)提高搜索精確度。
實(shí)施復(fù)雜性
SIMD(單指令多數(shù)據(jù))指令等專用硬件和軟件對于加速位操作至關(guān)重要,允許同時(shí)處理多個(gè)數(shù)據(jù)點(diǎn),即使在暴力計(jì)算相似性的方法中也能顯著加快計(jì)算速度。
數(shù)據(jù)預(yù)處理
二進(jìn)制量化假設(shè)數(shù)據(jù)處于正態(tài)分布。當(dāng)數(shù)據(jù)出現(xiàn)偏斜或有異常值時(shí),二進(jìn)制量化可能導(dǎo)致次優(yōu)結(jié)果,影響向量數(shù)據(jù)庫的準(zhǔn)確性和效率。
度量差異
二進(jìn)制量化器使用漢明距離來準(zhǔn)確測量基于角度的度量(如余弦相似度),但與歐幾里得距離等度量相矛盾。因此,應(yīng)該根據(jù)應(yīng)用領(lǐng)域適當(dāng)選擇它來測量位之間的距離。
未來趨勢及發(fā)展
在二進(jìn)制量化方面,可以期待一些改進(jìn),例如基于數(shù)據(jù)分布調(diào)整閾值以提高準(zhǔn)確性,并結(jié)合反饋循環(huán)以進(jìn)行持續(xù)改進(jìn)。此外,將二進(jìn)制量化與高級索引技術(shù)相結(jié)合,有望進(jìn)一步優(yōu)化搜索效率。
二進(jìn)制量化在向量數(shù)據(jù)庫中的應(yīng)用
- 圖像和視頻檢索:圖像和視頻代表具有大量存儲需求的高維數(shù)據(jù)。例如,一張高分辨率圖像可以有數(shù)百萬像素,每個(gè)像素都需要多個(gè)字節(jié)來表示顏色信息。二進(jìn)制量化將這些高維特征向量壓縮成緊湊的二值碼,顯著地減少了存儲需求,提高了檢索效率。
- 推薦系統(tǒng):二進(jìn)制量化通過將用戶和項(xiàng)目特征向量轉(zhuǎn)換為緊湊的二進(jìn)制代碼來增強(qiáng)推薦系統(tǒng),從而提高速度和效率。通過與局部敏感哈希(LSH)等近似最近鄰技術(shù)相結(jié)合,可以進(jìn)一步優(yōu)化這一點(diǎn),確保通過精細(xì)搜索提供準(zhǔn)確的推薦。
- 自然語言處理(NLP):通過減少向量數(shù)據(jù)庫中的存儲需求,二進(jìn)制量化有助于處理和分析文本數(shù)據(jù),從而實(shí)現(xiàn)高效的性能。這種NLP技術(shù)允許更快地檢索和比較文本數(shù)據(jù),使聊天機(jī)器人在處理用戶查詢時(shí)響應(yīng)更快、更有效。
結(jié)論
二進(jìn)制量化為處理向量數(shù)據(jù)庫中高維向量數(shù)據(jù)的復(fù)雜性提供了一種強(qiáng)大的解決方案。通過將高維向量轉(zhuǎn)換為緊湊的二進(jìn)制代碼,該技術(shù)大幅減少了存儲需求,并加快了檢索時(shí)間。
此外,它與先進(jìn)的索引方法相結(jié)合,進(jìn)一步提高了檢索的準(zhǔn)確性和效率,使其成為信息檢索的通用工具。用于存儲維度數(shù)據(jù)的向量數(shù)據(jù)庫可以利用快速存儲硬件來加速處理工作負(fù)載,無論是人工智能訓(xùn)練還是基于檢索增強(qiáng)生成(RAG)的應(yīng)用程序。
原文標(biāo)題:Exploring Binary Quantization in Vector Databases,作者:Martin Summer