O índice ScaNN usa indexação baseada em quantização de árvore, em que os índices aprendem uma árvore de pesquisa 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, a 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 alto recall com suas consultas de vizinho mais próximo, particione a árvore do índice ScaNN da maneira mais adequada aos seus dados e consultas.
Os modelos de incorporação de alta dimensão podem reter grande parte das informações em uma dimensão muito menor. Por exemplo, é possível reter 90% das informações com apenas 20% das dimensões do encadeamento. Para ajudar a acelerar esses conjuntos de dados, o índice ScaNN da IA do AlloyDB realiza automaticamente a redução de dimensão usando a análise de componentes principais (PCA) nos vetores indexados, o que reduz ainda mais o uso de CPU e memória para a pesquisa vetorial. Para mais informações, consulte scann.enable_pca.
Como a redução de dimensionalidade causa uma pequena perda de recall no índice, o índice ScaNN da IA do AlloyDB compensa essa perda realizando primeiro uma etapa de classificação com um número maior de candidatos a vetores PCA do índice. Em seguida, o ScaNN reclassifica os candidatos a vetores PCAed pelos vetores originais.
Para ver mais informações, consulte scann.pre_reordering_num_neighbors.
A seguir
- Conheça as práticas recomendadas para ajustar os índices do ScaNN.
- Comece a usar embeddings vetoriais com a IA do AlloyDB.
- Saiba mais sobre o índice ScaNN da IA do AlloyDB.