Parâmetros de ajuste
Os parâmetros de índice e flags de banco de dados a seguir são usados juntos para encontrar o equilíbrio certo de recall e QPS.
Parâmetro de ajuste | 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 serem aplicadas a este índice. O número de partições aplicadas ao criar um índice afeta o desempenho dele. Ao aumentar as partições para um determinado número de vetores, você cria um índice mais refinado, o que melhora a recuperação e o desempenho da consulta. No entanto, isso aumenta o tempo de criação do índice. Como as árvores de três níveis são criadas mais rápido do que as de dois níveis, é possível aumentar o num_leaves_value ao criar um índice de árvore de três níveis para melhorar o desempenho.
|
Criação de índice (obrigatório) |
quantizer |
O tipo de quantizador que você quer usar para a árvore K-means. O valor padrão é SQ8 , que oferece melhor desempenho de consulta com perda mínima de recall (normalmente menos de 1 a 2%).Defina como FLAT se for necessário um recall de 99% ou mais. |
Criação de índice (opcional) |
scann.enable_pca |
Ativa a análise de componentes principais (PCA), uma técnica de redução de dimensão usada para reduzir automaticamente o tamanho do encadeamento quando possível. Essa opção é ativada por padrão. Defina como false se você notar uma deterioração na capacidade de recall. |
Criação de índice (opcional) |
scann.pct_leaves_to_search (Preview) |
Com essa flag de banco de dados, é possível [gerenciar automaticamente o número de folhas ou partições a serem pesquisadas](/alloydb/omni/kubernetes/16.3.0/docs/ai/maintain-vector-indexes#manage-leave-to-search-split-partitions). Defina esse valor como o número atual de partições. Por exemplo, para pesquisar 1% do número atual de partições, defina esse valor como 1 . É possível definir esse parâmetro com qualquer valor entre 0 e 100 . O valor padrão é 0 , que desativa esse parâmetro e usa `scann.num_leaves_to_search` para calcular o número de folhas a serem pesquisadas. O parâmetro fica desativado por padrão. |
Tempo de execução da consulta (opcional) |
scann.num_leaves_to_search |
Essa flag de banco de dados controla o número absoluto de folhas ou partições a serem pesquisadas, permitindo que você faça uma troca entre recall e QPS. O valor padrão é 1% do valor definido em num_leaves . Um valor maior resulta em um recall melhor, mas em um QPS menor. Da mesma forma, um valor menor resulta em recall menor, mas QPS maior. |
Tempo de execução da consulta (opcional) |
scann.pre_reordering_num_neighbors |
Quando definida, a flag do banco de dados especifica o número de vizinhos candidatos a serem considerados durante as etapas de reordenação depois que a pesquisa inicial identifica um conjunto de candidatos. Defina esse parâmetro com um valor maior do que o número de vizinhos que você quer que a consulta retorne. Um valor mais alto resulta em um recall melhor, mas em um QPS mais baixo. Defina esse valor como 0 para desativar a reordenação. O padrão é 0 se a PCA não estiver ativada durante a criação do índice. Caso contrário, o padrão é 50 x K , em que K é o LIMIT especificado na consulta. |
Tempo de execução da consulta (opcional) |
scann.num_search_threads |
O número de linhas de execução de pesquisa para pesquisa multithread. Isso pode ajudar a reduzir a latência de consulta única usando mais de uma linha de execução para a pesquisa de rede neural aproximada (ANN) do ScaNN em aplicativos sensíveis à latência. Essa configuração não melhora a latência de uma única consulta se o banco de dados já estiver vinculado à CPU. O valor padrão é 2 . |
Tempo de execução da consulta (opcional) |