Edit ‘vector_indexing’

This commit is contained in:
osmarks 2024-11-28 20:53:31 +00:00 committed by wikimind
parent 7e3e3cd754
commit b4b44c38b3

View File

@ -4,4 +4,6 @@
* product quantization (lossy compression) * product quantization (lossy compression)
* inverted lists (split vectors into clusters, search a subset of the clusters) * inverted lists (split vectors into clusters, search a subset of the clusters)
IVF-DAC (for some reason), which is just inverted lists combined with product quantization, was historically the most common way to search large vector datasets. However, recall is very bad in some circumstances (most notably when query/dataset vectors are drawn from significantly different distributions: see [[https://arxiv.org/abs/2305.04359]] and [[https://kay21s.github.io/RoarGraph-VLDB2024.pdf]]. The latter explains this phenomenon as resulting from the nearest neighbours being split across many more (and more widely distributed) clusters (cells) than with in-distribution queries. IVF-DAC (for some reason), which is just inverted lists combined with product quantization, was historically the most common way to search large vector datasets. However, recall is very bad in some circumstances (most notably when query/dataset vectors are drawn from significantly different distributions: see [[https://arxiv.org/abs/2305.04359]] and [[https://kay21s.github.io/RoarGraph-VLDB2024.pdf]]). The latter explains this phenomenon as resulting from the nearest neighbours being split across many more (and more widely distributed) clusters (cells) than with in-distribution queries.
Graph-based approaches aim to create graphs such that a greedy search on the graph toward closer (by the vector distance metric) points rapidly converges