Indeks ScaNN menggunakan pengindeksan berbasis kuantisasi pohon, yang indeksnya mempelajari pohon penelusuran bersama dengan fungsi kuantisasi (atau hashing). Saat Anda menjalankan kueri, pohon penelusuran digunakan untuk memangkas ruang penelusuran, sedangkan kuantisasi digunakan untuk mengompresi ukuran indeks. Pemangkasan ini mempercepat pemberian skor kesamaan—dengan kata lain, jarak—antara vektor kueri dan vektor database.
Untuk mencapai kecepatan kueri per detik (QPS) yang tinggi dan perolehan yang tinggi dengan kueri nearest neighbor, Anda harus mempartisi hierarki indeks ScaNN dengan cara yang paling sesuai untuk data dan kueri Anda.
Model sematan berdimensi tinggi dapat mempertahankan sebagian besar informasi pada dimensi yang jauh lebih rendah. Misalnya, Anda dapat mempertahankan 90% informasi hanya dengan 20% dimensi sematan. Untuk membantu mempercepat set data tersebut, indeks ScaNN AI AlloyDB secara otomatis melakukan reduksi dimensi menggunakan Analisis Komponen Utama (PCA) pada vektor yang diindeks, yang selanjutnya mengurangi penggunaan CPU dan memori untuk penelusuran vektor. Untuk informasi selengkapnya, lihat scann.enable_pca
.
Karena reduksi dimensi menyebabkan sedikit kehilangan perolehan dalam indeks, indeks ScaNN AI AlloyDB mengompensasi kehilangan perolehan dengan terlebih dahulu melakukan langkah perankingan dengan sejumlah besar kandidat vektor PCA dari indeks. Kemudian,
ScaNN mengurutkan ulang kandidat vektor PCA berdasarkan vektor aslinya.
Untuk informasi selengkapnya, lihat scann.pre_reordering_num_neighbors
.
Langkah berikutnya
- Pelajari praktik terbaik untuk menyesuaikan indeks ScaNN.
- Mulai menggunakan embedding vektor dengan AlloyDB AI.
- Pelajari lebih lanjut indeks ScaNN AI AlloyDB.