ScaNN 向量查詢效能總覽

選取說明文件版本:

本頁面提供概念總覽,說明如何使用 AlloyDB AI 的可擴充最鄰近項目 (ScaNN) 索引,提升向量查詢效能。詳情請參閱「建立索引和查詢向量」。

ScaNN 索引採用以樹狀結構量化為基礎的索引編製方式,索引會一併學習搜尋樹狀結構和量化 (或雜湊) 函式。執行查詢時,搜尋樹狀結構會用於剪除搜尋空間,而量化則用於壓縮索引大小。這項修剪作業可加快查詢向量與資料庫向量之間相似度 (也就是距離) 的評分速度。

如要透過最鄰近查詢達到高每秒查詢次數 (QPS) 和高召回率,您必須以最適合資料和查詢的方式,分割 ScaNN 索引的樹狀結構。

高維度嵌入模型可以在低維度保留大量資訊。舉例來說,您只需 20% 的嵌入維度,就能保留 90% 的資訊。為加快這類資料集的處理速度,AlloyDB AI ScaNN 索引會自動對索引向量執行主成分分析 (PCA),進一步減少向量搜尋的 CPU 和記憶體用量。詳情請參閱 scann.enable_pca 的說明。

由於降維會導致索引中的召回率略有損失,因此 AlloyDB AI ScaNN 索引會先從索引中執行較多 PCA 向量候選者的排序步驟,藉此補償召回率損失。接著,ScaNN 會根據原始向量,重新排序 PCA 向量候選項目。詳情請參閱 scann.pre_reordering_num_neighbors

後續步驟