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

Selecione uma versão da documentação:

Nesta página, apresentamos uma visão geral conceitual de como melhorar a performance de consultas de vetor usando o índice de vizinho mais próximo escalonável (ScaNN) da IA do AlloyDB. Para mais informações, consulte Criar índices e consultar vetores.

O índice ScaNN usa indexação baseada em quantização de árvore, em que 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, 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 seu í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