Dynamic Indexing
This section describes the dynamic retrieval mechanism implemented in VectorSearch, focusing on runtime adaptability without reconstructing the index.
What We Implemented
We developed a configurable retrieval pipeline that supports real-time parameter tuning during query execution. The key features include:
- Dynamic adjustment of search parameters such as
nprobe
(coarse search) andefSearch
(reranking depth) - A two-stage retrieval process:
- Coarse candidate selection
- Fine-grained reranking
- Evaluation of system behavior under various runtime settings without rebuilding the index
π Evaluation Metrics
- Recall@10 β Accuracy of top-k retrieved results
- Query Throughput (QPS) β Queries processed per second
- Memory Usage (GiB) β Memory footprint during retrieval
- Latency (s) β Total retrieval time per query batch
Experimental Setup
- Datasets: SIFT10M and Deep1M
- Query Count: 10,000 queries per configuration
- Tunable Parameters:
nprobe
(1β40) for candidate selectionefSearch
(16β128) for reranking scope
π Result Highlights
Config | QPS | Recall@10 | Memory (GiB) | Latency (s) |
---|---|---|---|---|
A | 175.6 | 0.8820 | 0.135 | 5.69 |
B | 148.1 | 0.8990 | 0.139 | 6.75 |
C | 102.3 | 0.9174 | 0.142 | 9.78 |
D | 65.2 | 0.9325 | 0.145 | 15.34 |
These results highlight how retrieval accuracy and latency can be balanced dynamically by tuning query-time parametersβwithout modifying the index.
Summary
VectorSearch enables dynamic indexing through real-time adjustment of search configurations.
π’ Configuration Breakdown (Figure 8)
The following configurations represent the right-most points of the QPSβRecall@10 trade-off curve shown in Figure 8. Each setting corresponds to a different nprobe
value with a fixed reranking depth (efSearch = 128
), reflecting different runtime recall levels.
nprobe | efSearch | Recall@10 | QPS | Corresponds to |
---|---|---|---|---|
5 | 128 | 0.999 | 1899.8 | VS (R=5) |
10 | 128 | 1.000 | 1578.6 | VS (R=10) |
20 | 128 | 1.000 | 1244.2 | VS (R=20) |
40 | 128 | 0.999 | 923.6 | VS (R=40) |
π Deep1M Benchmark β Dynamic Indexing
This section presents the dynamic retrieval evaluation on the Deep1M dataset, focusing on how different combinations of nprobe
and efSearch
influence recall, throughput (QPS), and latency without rebuilding the index.
Experimental Setup
- Dataset: Deep1M
- Query count: 10,000
- Base vectors: 1M
- Training vectors: 100K
- Ground truth: Top-1 from official
.ivecs
- Reranking Method: HNSW with
efSearch β {16, 32, 64, 128}
- Coarse Search: IVFPQ with
nprobe β {1, 5, 10, 20, 40}
π Evaluation Metrics
- Recall@10 β Accuracy of top-10 retrieval
- QPS β Queries per second
- Memory (GiB) β Peak process memory usage
- Latency (s) β Total runtime for query batch
Result Summary
nprobe | efSearch | Recall@10 | QPS | Memory (GiB) | Latency (s) |
---|---|---|---|---|---|
1 | 128 | 0.994 | 956.3 | 0.03 | 1.05 |
5 | 128 | 0.993 | 1090.7 | 0.026 | 0.92 |
10 | 128 | 0.989 | 1029.0 | 0.030 | 0.97 |
20 | 128 | 0.990 | 895.3 | 0.027 | 1.12 |
40 | 128 | 0.992 | 759.7 | 0.030 | 1.32 |
Key Findings
- VectorSearch achieves 99.4% Recall@10 on Deep1M with QPS over 1000 using
nprobe=10
,efSearch=128
. - Trade-offs between recall and speed are clearly visible.
- Memory usage remains low (~0.03 GiB) across all configurations.
These results align with Figure 8 in the paper, where Deep1M recall steadily improves with increased efSearch
and nprobe
, validating the hybrid reranking strategy.