DiskANN: Fast Accurate Billion-point Nearest Neighbor Search on a Single Node
- Suhas Jayaram Subramanya ,
- Devvrit ,
- Rohan Kadekodi ,
- Ravishankar Krishnaswamy ,
- Harsha Simhadri
NeurIPS 2019 |
Current state-of-the-art approximate nearest neighbor search (ANNS) algorithms generate indices that must be stored in main memory for fast high-recall search. This makes them expensive and limits the size of the dataset. We present a new graph-based indexing and search system called DiskANN that can index, store, and search a billion point database on a single workstation with just 64GB RAM and an inexpensive solid-state drive (SSD). Contrary to current wisdom, we demonstrate that the SSD-based indices built by DiskANN can meet all three desiderata for large-scale ANNS: high-recall, low query latency and high density (points indexed per node). On the billion point SIFT1B bigann dataset, DiskANN serves > 5000 queries a second with < 3ms mean latency and 95%+ 1-recall@1 on a 16 core machine, where state-of-the-art billion-point ANNS algorithms with similar memory footprint like FAISS [18] and IVFOADC+G+P [8] plateau at around 50% 1-recall@1. Alternately, in the high recall regime, DiskANN can index and serve 5 − 10x more points per node compared to state-of-the-art graphbased methods such as HNSW [21] and NSG [13]. Finally, as part of our overall DiskANN system, we introduce Vamana, a new graph-based ANNS index that is more versatile than the existing graph indices even for in-memory indices.
Téléchargements de publications
DiskANN
août 31, 2020
This release contains the code for the DiskANN algorithm that enables scalable and efficient ANNS indices. DiskANN uses primarily uses an SSD-based index to scale to an order of magnitude more points compared to in-memory indices, while retaining high QPS and low latency. The graph that DiskANN builds can also be used for searching in-memory and comapres favorably to other in-memory algorithms.