DiskANN configuration

更新时间:
复制 MD 格式

DiskANN is a disk-based approximate nearest neighbor (ANN) search algorithm for ultra-large-scale datasets that exceed available memory. It stores the Vamana graph index on disk and uses Product Quantization (PQ) to compress vectors in memory, enabling efficient vector search under memory-constrained conditions.

DiskANN operates in two phases:

  1. Index build phase — constructs the Vamana graph on disk. Build parameters control index quality, PQ compression ratio, and construction cost.

  2. Search phase — traverses the graph using compressed vectors to find approximate nearest neighbors. Search parameters control recall and query latency at runtime.

Index build parameters

ParameterTypeDescription
proxima.diskann.builder.pq_dimension_scaleIntThe PQ compression scale. The PQ dimension is calculated as: vector dimension / pq_dimension_scale. Default: 8, which compresses vectors to 1/8 of the original dimension. A higher value compresses more aggressively, reducing memory usage at the cost of lower index precision. A lower value preserves more precision at the cost of higher memory usage.
proxima.diskann.builder.max_degreeIntThe maximum number of neighbor edges per node in the Vamana graph. A higher value produces a more accurate graph but increases construction time and disk usage.
proxima.diskann.builder.list_sizeIntThe candidate set size for edge selection during graph construction. A higher value improves graph accuracy but increases construction time.
proxima.diskann.builder.thread_countIntThe number of threads used for index building.

Index search parameters

ParameterTypeDescription
proxima.diskann.searcher.list_sizeIntThe result candidate set size. A higher value increases recall but also increases query time.
proxima.diskann.searcher.io_limitIntThe disk I/O limit per query. The search performs at most io_limit disk read operations, which mainly affects how deeply the algorithm traverses the Vamana graph. A higher value increases recall at the cost of more I/O operations and longer query time.
proxima.diskann.searcher.beam_search_widthIntThe number of parallel disk I/O operations per query. A higher value increases disk read throughput, reducing the latency impact of a given io_limit.