Ringkasan performa kueri vektor ScaNN

Pilih versi dokumentasi:

Halaman ini memberikan ringkasan konseptual tentang peningkatan performa kueri vektor dengan Indeks ScaNN.

Indeks ScaNN menggunakan pengindeksan berbasis kuantisasi pohon. Dalam teknik Kuantisasi pohon, indeks 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 (yaitu, jarak) antara vektor kueri dan vektor database.

Untuk mencapai rasio 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.

Karakteristik umum model sematan berdimensi tinggi generasi saat ini adalah model tersebut masih dapat mempertahankan sebagian besar informasi pada dimensi yang jauh lebih rendah, misalnya 90% informasi dapat dipertahankan hanya dengan 20% dimensi sematan. Untuk membantu mempercepat set data tersebut, AlloyDB ScaNN akan otomatis melakukan reduksi dimensi menggunakan Analisis Komponen Utama (lihat scann.enable_pca below) pada vektor yang diindeks, yang selanjutnya mengurangi penggunaan CPU & memori untuk penelusuran vektor. Karena reduksi dimensi masih menyebabkan sedikit kehilangan recall dalam indeks, ScaNN AlloyDB mengompensasinya melalui langkah peringkat awal dengan sejumlah besar kandidat vektor yang di-PCA dari indeks, lalu memeringkat ulang kandidat tersebut berdasarkan vektor asli (lihat scann.pre_reordering_num_neighbors).

Langkah berikutnya