- Nova extensão de busca vetorial para PostgreSQL, criada para gerenciar vetores em larga escala com eficiência de custo
- Para 100 milhões de vetores de 768 dimensões, é possível alcançar QPS 131 e precisão de 0,95 em consultas top 10
- Pode ser executado em uma única máquina por US$ 250/mês
- É possível armazenar 400.000 vetores por US$ 1:
- 6 vezes mais barato que o Pinecone (instância otimizada para armazenamento)
- 26 vezes mais barato que o pgvector
Problemas dos bancos de dados vetoriais baseados em HNSW(Hierarchical Navigable Small Worlds)
- Tempo longo de criação de índice: mais de 2 horas para 5 milhões de registros
- Alta exigência de memória: até 40 GB para armazenar 10 milhões de vetores
A solução inovadora do VectorChord: IVF+RaBitQ amigável a disco
- Uso de quantização com IVF(arquivo invertido) e RaBitQ
- Converte vetores de 32 bits em representações compactadas em bits, reduzindo o custo computacional
- A maior parte das comparações usa vetores compactados, e um cálculo em precisão total é feito apenas para uma pequena parte dos vetores para garantir a exatidão
- Busca mais rápida e eficiente que HNSW:
- O RaBitQ comprime vetores em 1 bit, aumentando a velocidade de cálculo em 100 vezes
- É possível otimizar a velocidade mantendo alta precisão
Principais resultados de benchmark
Dataset GIST (1M, 960 dimensões)
- O VectorChord tem QPS 2 vezes maior que o pgvector
- Usa uma abordagem em que o clustering KMeans é executado em uma GPU externa e depois importado para o PostgreSQL
- Tempo para indexar 700 mil vetores em uma instância AWS
i4i.large (2 vCPUs, 16 GB RAM): 186 segundos
- 16 vezes mais rápido que o pgvector
- A velocidade de inserção também é 14 vezes maior
Dataset LAION 5M
- Testes em uma máquina r6a.xlarge (4 vCPUs, 32 GB RAM, 200 GB EBS):
- Mantém resposta rápida mesmo com alta precisão
- Entrega desempenho semelhante por US$ 165,56/mês, com melhor custo-benefício que as plataformas concorrentes
Dataset LAION 100M
- Instância AWS
i4i.xlarge (4 vCPUs, 32 GB RAM, 937 GB SSD):
- QPS 16,2 @ recall 0,95 (com base nos 10 principais resultados)
- Em ambiente multithread, foi observado aumento linear de QPS conforme as requisições aumentam
Principais vantagens do VectorChord
- Compatível com replicação física do PostgreSQL e outros recursos
- Suporte à criação de índices externa:
- Crie o índice em uma máquina mais potente e depois importe-o para uma máquina menor para executar as consultas
- Suporta bilhões de vetores em uma única máquina
- Baixo custo e alto desempenho: reduz significativamente o custo mensal em comparação com plataformas concorrentes
Resumo e informações adicionais
- O VectorChord oferece busca vetorial eficiente no ambiente PostgreSQL
- Com quantização IVF e RaBitQ, otimiza velocidade e uso de memória, sendo adequado para datasets de grande escala
- Serviço gerenciado em nuvem: PGVecto.rs Cloud
- Implantação e escalabilidade simplificadas
1 comentários
Vector é o novo JSON do PostgreSQL
A
pgvectorcitada no texto acima e apgvecto.rs, antecessora do VectorChord, são extensões diferentes.pgvector vs. pgvecto.rs in 2024: A Comprehensive Comparison for Vector Search in PostgreSQL
A equipe que criou o
pgvecto.rstambém criou o VectorChord e está mantendo os dois em paralelo; ainda nem todas as funcionalidades foram migradas para o VectorChord. Eles dizem que por volta do ano que vem vão encerrar o suporte aopgvecto.rse migrar para o VectorChord.Quem armazena vetores no Postgres pode levar isso em consideração.