Informações gerais sobre a performance da consulta de vetor ScaNN

Selecione uma versão da documentação:

Esta página oferece uma visão geral conceitual de como melhorar o desempenho das consultas vetoriais com o índice ScaNN.

O índice ScaNN usa indexação baseada em quantização de árvore. Nas técnicas de quantização de árvore, os índices aprendem uma árvore de pesquisa junto com uma função de quantização (ou hash). Quando você executa uma consulta, a árvore de pesquisa é usada para reduzir o espaço de pesquisa, e a quantização é usada para compactar o tamanho do índice. Essa remoção acelera a pontuação da similaridade (ou seja, distância) entre o vetor de consulta e os vetores do banco de dados.

Para alcançar uma alta taxa de consultas por segundo (QPS) e um recall alto com suas consultas de vizinho mais próximo, particione a árvore do seu índice ScaNN da maneira mais adequada aos seus dados e consultas.

Uma característica comum da geração atual de modelos de incorporação de alta dimensão é que eles ainda podem reter grande parte das informações em uma dimensionalidade muito menor. Por exemplo, 90% das informações podem ser retidas com apenas 20% das dimensões da incorporação. Para ajudar a acelerar esses conjuntos de dados, o ScaNN do AlloyDB realiza automaticamente a redução de dimensão usando a análise de componentes principais (consulte scann.enable_pca below) nos vetores indexados, o que reduz ainda mais o uso de CPU e memória para a pesquisa vetorial. Como a redução de dimensionalidade ainda causa uma pequena perda de recall no índice, o ScaNN do AlloyDB compensa isso com uma etapa inicial de classificação com um número maior de candidatos a vetores PCA do índice, que são reclassificados pelos vetores originais (consulte scann.pre_reordering_num_neighbors).

A seguir