Back Home

向量資料庫與 AI 基礎設施

Qdrant 1.19.1 Reworks the Quantized Vector Search Path with Prefetching and Batched SIMD

Qdrant 1.19.1 adds prefetching and batched SIMD to TurboQuant scoring while reducing extra allocations in HNSW search and the query plane. The release also strengthens fault recovery for shard transfers, but Qdrant has yet to publish comprehensive performance comparisons across different processors and datasets.

RI2AI · CC BY-SA 4.0 · Image source
zh-Hant

Qdrant 1.19.1 focuses not on adding new retrieval interfaces, but on rewriting the hot path of vector search. According to the official changelog, quantized scoring now prefetches data to improve memory bandwidth utilization, while the SIMD implementation for 4-bit TurboQuant has been changed to process data in batches. HNSW search now combines multiple scoring operations, skips invalid entries earlier, and eliminates some point ID resolution during result post-processing. These changes target bottlenecks common in large RAG indexes: once computation is reduced, random memory access, allocation, and branch overhead often constrain throughput before multiply-accumulate instructions do.

TurboQuant first uses a fast rotation to redistribute information across vector dimensions, then compresses the values into a low-bit representation. Qdrant 1.19 introduced the `turbo4` storage type, which stores vectors using only 4 bits per dimension—about one-eighth the size of `float32`. Version 1.19.1 primarily improves scoring efficiency in practice. This differs from the approach of retaining the original vectors and creating a quantized copy: `turbo4` saves more storage and read bandwidth, but cannot rerank candidate results using full-precision vectors. Engineering teams still need to measure recall against their own embedding distributions rather than selecting an option based solely on compression ratio.

The release also makes substantive improvements to distributed reliability. Operations that set replica state, terminate resharding, and restart transfers are now crash-safe, reducing the risk of consensus state becoming inconsistent. Shard transfers involving large payloads now transmit raw payloads, which the project says can be 1.5 times faster. The release also fixes a consistency issue in which a copy-on-write (CoW) segment was not flushed before a payload index was created, and rejects `.` and `..` as collection names. The next step is to examine end-to-end p95 latency across different AVX and ARM platforms, vector dimensions, filter ratios, and concurrency levels. The current release notes list micro-optimizations, but they are not sufficient to conclude that every deployment will see proportional speedups.

Sources

  1. Release v1.19.1 · qdrant/qdrant
  2. Quantization
  3. Vectors: Turbo4