Halaman ini menyediakan materi referensi untuk Indeks ScaNN.
Parameter penyempurnaan
Parameter indeks dan tanda database berikut digunakan bersama untuk menemukan keseimbangan yang tepat antara recall dan QPS.
Parameter penyesuaian | Deskripsi | Jenis opsi |
---|---|---|
max_num_levels |
Jumlah maksimum tingkat centroid dari hierarki pengelompokan K-means.
|
Pembuatan indeks (opsional) |
num_leaves |
Jumlah partisi yang akan diterapkan ke indeks ini. Jumlah partisi yang Anda terapkan saat membuat indeks memengaruhi performa indeks. Dengan meningkatkan partisi untuk sejumlah vektor yang ditetapkan, Anda akan membuat indeks yang lebih terperinci, yang meningkatkan performa kueri dan recall. Namun, hal ini akan memperpanjang waktu pembuatan indeks. Karena hierarki tiga tingkat dibuat lebih cepat daripada hierarki dua tingkat, Anda dapat meningkatkan num_leaves_value saat membuat indeks hierarki tiga tingkat untuk mendapatkan performa yang lebih baik.
|
Pembuatan indeks (wajib) |
quantizer |
Jenis quantizer yang ingin Anda gunakan untuk hierarki K-means. Nilai default ditetapkan ke SQ8 yang memberikan performa kueri yang lebih baik dengan kehilangan recall minimal (biasanya kurang dari 1-2%).Tetapkan ke FLAT jika recall 99% atau lebih tinggi diperlukan. |
Pembuatan indeks (opsional) |
scann.enable_pca |
Mengaktifkan Analisis Komponen Utama (PCA), yang merupakan teknik pengurangan dimensi yang digunakan untuk mengurangi ukuran penyematan secara otomatis jika memungkinkan. Opsi ini diaktifkan secara default. Tetapkan ke false jika Anda mengamati penurunan dalam recall. |
Pembuatan indeks (opsional) |
scann.num_leaves_to_search |
Flag database ini mengontrol jumlah absolut daun atau partisi yang akan ditelusuri, yang memungkinkan Anda melakukan kompromi antara recall dan QPS. Nilai defaultnya adalah 1% dari nilai yang ditetapkan di num_leaves . Nilai yang lebih tinggi akan menghasilkan recall yang lebih baik, tetapi QPS yang lebih rendah. Demikian pula, nilai yang lebih rendah akan menghasilkan recall yang lebih rendah, tetapi QPS yang lebih tinggi. |
Runtime kueri (opsional) |
scann.pre_reordering_num_neighbors |
Tanda database, jika ditetapkan, menentukan jumlah kandidat tetangga yang akan dipertimbangkan selama tahap pengurutan ulang setelah penelusuran awal mengidentifikasi sekumpulan kandidat. Tetapkan parameter ini ke nilai yang lebih tinggi dari jumlah tetangga yang ingin ditampilkan kueri. Nilai yang lebih tinggi akan menghasilkan recall yang lebih baik, tetapi QPS yang lebih rendah. Tetapkan nilai ini ke 0 untuk menonaktifkan pengurutan ulang. Setelan defaultnya adalah 0 jika PCA tidak diaktifkan selama pembuatan indeks. Jika tidak, defaultnya adalah 50 x K , dengan K adalah LIMIT yang ditentukan dalam kueri. |
Runtime kueri (opsional) |
scann.num_search_threads |
Jumlah thread penelusur untuk penelusuran multi-thread. Hal ini dapat membantu mengurangi latensi kueri tunggal dengan menggunakan lebih dari satu thread untuk penelusuran ANN ScaNN dalam aplikasi yang sensitif terhadap latensi. Setelan ini tidak meningkatkan latensi kueri tunggal jika database sudah terikat CPU. Nilai defaultnya adalah 2 . |
Runtime kueri (opsional) |