ScaNN 向量查詢效能總覽

AlloyDB for PostgreSQL 的可擴充最鄰近項目 (ScaNN) 索引可加快向量相似度查詢,同時透過樹狀量化索引減少記憶體用量。在樹狀量化技術中,索引會與量化 (或雜湊) 函式一起學習搜尋樹狀結構。執行查詢時,搜尋樹會剪除搜尋空間,量化則會壓縮索引大小,加快查詢向量與資料庫向量之間的相似度評分。

如要透過最鄰近查詢,同時達到高每秒查詢次數 (QPS) 和高喚回度,您必須以最適合資料和查詢的方式,對 ScaNN 索引的樹狀結構進行分區。

目前的高維度嵌入模型有一個共同特徵,就是即使維度大幅降低,仍能保留大部分資訊。舉例來說,只要保留 20% 的嵌入維度,就能保留 90% 的資訊。為加快這類資料集的處理速度,AlloyDB AI ScaNN 會使用主成分分析 (scann.enable_pca,請參閱 ScaNN 索引參考資料),自動對索引向量執行降維,進一步減少向量搜尋的 CPU 和記憶體用量。由於降維仍會導致索引中的檢索率略微降低,AlloyDB AI ScaNN 會透過初始排名步驟進行補償,從索引中選取較多經過 PCA 降維的候選向量,然後依原始向量重新排名 (ScaNN 索引參考資料中的 scann.pre_reordering_num_neighbors)。

後續步驟