Parâmetros de aperfeiçoamento
Os seguintes parâmetros de índice e flags da base de dados são usados em conjunto para encontrar o equilíbrio certo entre a capacidade de memorização e as QPS.
Parâmetro de aperfeiçoamento | Descrição | Tipo de opção |
---|---|---|
max_num_levels |
O número máximo de níveis de centroide da árvore de clustering K-means.
|
Criação de índice (opcional) |
num_leaves |
O número de partições a aplicar a este índice. O número de partições que aplica quando cria um índice afeta o desempenho do índice. Ao aumentar as partições para um número definido de vetores, cria um índice mais detalhado, o que melhora a capacidade de memorização e o desempenho das consultas. No entanto, isto tem o custo de tempos de criação de índices mais longos. Uma vez que as árvores de três níveis são criadas mais rapidamente do que as árvores de dois níveis, pode aumentar o num_leaves_value quando cria um índice de árvore de três níveis para alcançar um melhor desempenho.
|
Criação do índice (obrigatório) |
quantizer |
O tipo de quantizador que quer usar para a árvore K-means. O valor predefinido é SQ8 , que oferece um melhor desempenho das consultas com uma perda mínima de capacidade de memorização (normalmente, inferior a 1 a 2%).Defina-o como FLAT se for necessária uma capacidade de memorização de 99% ou superior. |
Criação de índice (opcional) |
scann.enable_pca |
Ativa a análise de componentes principais (PCA), que é uma técnica de redução de dimensões usada para reduzir automaticamente
o tamanho da incorporação sempre que possível. Esta opção está ativada por predefinição. Defina como false se observar uma deterioração na capacidade de memorização. |
Criação de índice (opcional) |
scann.pct_leaves_to_search (Preview) |
Esta flag da base de dados permite-lhe [gerir automaticamente o número de folhas ou partições a pesquisar](/alloydb/omni/kubernetes/15.7.1/docs/ai/maintain-vector-indexes#manage-leave-to-search-split-partitions). Defina este valor como o número atual de partições. Por exemplo, para pesquisar 1% do número atual de partições, defina este valor como 1 . Pode definir este parâmetro para qualquer valor entre 0 e 100 . O valor predefinido é 0 , que desativa este parâmetro e usa `scann.num_leaves_to_search` para calcular o número de folhas a pesquisar. O parâmetro está desativado por predefinição. |
Tempo de execução da consulta (opcional) |
scann.num_leaves_to_search |
Esta flag da base de dados controla o número absoluto de folhas ou partições a pesquisar, o que lhe permite fazer uma troca entre a capacidade de memorização e as CPS. O valor predefinido é 1% do valor definido em num_leaves . Um valor mais elevado resulta numa melhor capacidade de memorização, mas num QPS mais baixo. Da mesma forma, um valor mais baixo resulta numa capacidade de memorização mais baixa, mas num QPS mais elevado. |
Tempo de execução da consulta (opcional) |
scann.pre_reordering_num_neighbors |
Quando definida, a flag da base de dados especifica o número de vizinhos candidatos a considerar durante as fases de reordenação após a pesquisa inicial identificar um conjunto de candidatos. Defina este parâmetro para um valor superior ao número de vizinhos que quer que a consulta devolva. Um valor mais elevado resulta numa melhor capacidade de memorização, mas num QPS mais baixo. Defina este valor como 0 para desativar a reordenação. A predefinição é 0 se a PCA não estiver ativada durante a criação do índice. Caso contrário, a predefinição é 50 x K , em que K é o limite especificado na consulta. |
Tempo de execução da consulta (opcional) |
scann.num_search_threads |
O número de threads de pesquisa para a pesquisa com várias threads. Isto pode ajudar a reduzir a latência de consulta única através da utilização de mais do que um segmento para a pesquisa de ANN do ScaNN em aplicações sensíveis à latência. Esta definição não melhora a latência de consulta única se a base de dados já estiver limitada pela CPU. O valor predefinido é 2 . |
Tempo de execução da consulta (opcional) |