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 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