Esta página fornece material de referência para o índice ScaNN.
Parâmetros de ajuste
Os parâmetros de índice e as flags do banco de dados a seguir são usados juntos para encontrar o equilíbrio certo de recuperação 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 este índice. O número de partições em que você aplica ao criar um índice afeta a performance do índice. Ao aumentar as partições para um número definido de vetores, você cria um índice mais refinado, o que melhora a recuperação e a performance da consulta. No entanto, isso tem o custo de tempos mais longos de criação de índices. 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 ter 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 , o que oferece melhor desempenho de consulta com perda mínima de recuperação (normalmente menos de 1 a 2%).Defina como FLAT se uma recuperação de 99% ou mais for necessária. |
Criação de índice (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ê notar uma deterioração na recuperação. |
Criação de índice (opcional) |
scann.num_leaves_to_search |
Essa flag do banco de dados controla o número absoluto de folhas ou partições a serem pesquisadas, o que permite trocar a recuperação e a QPS. O valor padrão é 1% do valor definido em num_leaves . Um valor mais alto resulta em um recall melhor, mas em um QPS menor. Da mesma forma, um valor mais baixo resulta em um recall menor, mas em um QPS maior. |
Consultar o tempo de execução (opcional) |
scann.pre_reordering_num_neighbors |
A flag do banco de dados, quando definida, especifica o número de vizinhos candidatos a serem considerados durante as fases de reordenação depois que a pesquisa inicial identifica um conjunto de candidatos. Defina esse parâmetro como 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 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. |
Consultar o tempo de execução (opcional) |
scann.num_search_threads |
O número de linhas de execução de pesquisa para pesquisa com várias linhas de execução. Isso pode ajudar a reduzir a latência de uma única consulta usando mais de uma linha de execução para a pesquisa de rede neural artificial 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 limitado à CPU. O valor padrão é 2 . |
Consultar o tempo de execução (opcional) |