Parâmetros de ajuste
Os parâmetros de índice e as 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 clusterização K-means.
|
Criação de índice (opcional) |
num_leaves |
O número de partições a serem aplicadas a esse índice. O número de partições que você aplica 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 o recall e o desempenho da consulta. No entanto, isso tem o custo de tempos de criação de índice mais longos. Como as árvores de três níveis são criadas mais rapidamente 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 alcançar um desempenho melhor.
|
Criação de índice (obrigatório) |
quantizer |
O tipo de quantizador que você quer usar para a árvore K-means. O valor padrão é definido como SQ8, que oferece melhor desempenho de consulta com perda mínima de recall (normalmente menos de 1 a 2%).Defina como FLAT se um recall de 99% ou mais for necessário. |
Criação de índice (opcional) |
scann.enable_inline_filtering |
Ativa o suporte a filtros inline que consultam seus dados e aplicam filtros diretamente em uma operação de pesquisa de similaridade vetorial. Essas consultas de similaridade vetorial usam filtros nas mesmas tabelas de banco de dados e concluem a avaliação do filtro ao calcular a distância para a identificação do vizinho mais próximo. Essa opção é desativada por padrão. Para ativar a filtragem inline, defina esse parâmetro como true. Se você observar deterioração no desempenho, defina como false.Essa opção está disponível na versão prévia. |
Tempo de execução da consulta (opcional) |
scann.enable_pca |
Ativa a análise de componentes principais (PCA, na sigla em inglês), que é uma técnica de redução de dimensão usada para reduzir automaticamente
o tamanho da incorporação quando possível. Essa opção é ativada por padrão. Defina como false se você observar deterioração no recall. |
Criação de índice (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, o que permite fazer um trade-off 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 um recall menor, mas em um QPS maior. |
Tempo de execução da consulta (opcional) |
scann.pre_reordering_num_neighbors |
Quando definida, a flag de banco de dados especifica o número de vizinhos candidatos a serem considerados durante os estágios de reordenação depois que a pesquisa inicial identifica um conjunto de candidatos. Defina esse parâmetro como um valor maior que o número de vizinhos que você quer que a consulta retorne. Um valor maior resulta em um recall melhor, mas em um QPS menor. 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 limite 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 ScaNN ANN em aplicativos sensíveis à latência. Essa configuração não melhora a latência de consulta única se o banco de dados já estiver vinculado à CPU. O valor padrão é 2. |
Tempo de execução da consulta (opcional) |