Parameter penyempurnaan
Parameter indeks dan tanda database berikut digunakan bersama-sama untuk menemukan keseimbangan yang tepat antara perolehan dan QPS.
Parameter penyesuaian | Deskripsi | Jenis opsi |
---|---|---|
max_num_levels |
Jumlah maksimum tingkat sentroid 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, Anda membuat indeks yang lebih terperinci, yang meningkatkan perolehan dan performa kueri. Namun, hal ini akan menyebabkan waktu pembuatan indeks yang lebih lama. Karena pohon tiga tingkat dibuat lebih cepat daripada pohon dua tingkat, Anda dapat meningkatkan num_leaves_value saat membuat indeks pohon tiga tingkat untuk mencapai performa yang lebih baik.
|
Pembuatan indeks (wajib) |
quantizer |
Jenis penguantisasi yang ingin Anda gunakan untuk pohon K-means. Nilai default ditetapkan ke SQ8 yang memberikan performa kueri yang lebih baik dengan kehilangan perolehan kembali minimal (biasanya kurang dari 1-2%).Tetapkan ke FLAT jika perolehan kembali 99% atau lebih tinggi diperlukan. |
Pembuatan indeks (opsional) |
scann.enable_pca |
Mengaktifkan Analisis Komponen Utama (PCA), yang merupakan teknik pengurangan dimensi yang digunakan untuk secara otomatis
mengurangi ukuran embedding jika memungkinkan. Opsi ini diaktifkan secara default. Setel ke false jika Anda melihat penurunan kualitas ingatan. |
Pembuatan indeks (opsional) |
scann.pct_leaves_to_search (Preview) |
Dengan tanda database ini, Anda dapat [mengelola jumlah daun atau partisi yang akan ditelusuri secara otomatis](/alloydb/omni/kubernetes/16.3.0/docs/ai/maintain-vector-indexes#manage-leave-to-search-split-partitions). Tetapkan nilai ini ke jumlah partisi saat ini. Misalnya, untuk menelusuri 1% dari jumlah partisi saat ini, tetapkan nilai ini ke 1 . Anda dapat menetapkan parameter ini ke nilai apa pun antara 0 hingga 100 . Nilai defaultnya adalah 0 , yang menonaktifkan parameter ini dan menggunakan `scann.num_leaves_to_search` untuk menghitung jumlah leaf yang akan ditelusuri. Parameter ini dinonaktifkan secara default. |
Waktu proses kueri (opsional) |
scann.num_leaves_to_search |
Flag database ini mengontrol jumlah absolut daun atau partisi yang akan ditelusuri sehingga Anda dapat menyeimbangkan antara perolehan dan QPS. Nilai defaultnya adalah 1% dari nilai yang ditetapkan di num_leaves . Nilai yang lebih tinggi akan menghasilkan perolehan yang lebih baik, tetapi QPS yang lebih rendah. Demikian pula, nilai yang lebih rendah akan menghasilkan perolehan yang lebih rendah, tetapi QPS yang lebih tinggi. |
Waktu proses kueri (opsional) |
scann.pre_reordering_num_neighbors |
Jika disetel, tanda database menentukan jumlah tetangga kandidat yang akan dipertimbangkan selama tahap pengurutan ulang setelah penelusuran awal mengidentifikasi sekumpulan kandidat. Tetapkan parameter ini ke nilai yang lebih tinggi daripada jumlah tetangga yang ingin Anda tampilkan dalam kueri. Nilai yang lebih tinggi menghasilkan perolehan yang lebih baik, tetapi QPS yang lebih rendah. Tetapkan nilai ini ke 0 untuk menonaktifkan pengurutan ulang. Nilai 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. |
Waktu proses 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 . |
Waktu proses kueri (opsional) |