DeepAI AI Chat
Log In Sign Up

Quicker ADC : Unlocking the hidden potential of Product Quantization with SIMD

by   Fabien André, et al.

Efficient Nearest Neighbor (NN) search in high-dimensional spaces is a foundation of many multimedia retrieval systems. A common approach is to rely on Product Quantization that allows storing large vector databases in memory and also allows efficient distance computations. Yet, implementations of nearest neighbor search with Product Quantization have their performance limited by the many memory accesses they perform. Following this observation, André et al. proposed more efficient implementations of m×4 product quantizers (PQ) leveraging specific SIMD instructions. Quicker ADC contributes additional implementations not limited to m×4 codes and relying on AVX-512, the latest revision of SIMD instruction set. In doing so, Quicker ADC faces the challenge of using efficiently 5,6 and 7-bit shuffles that do not align to computer bytes or words. To this end, we introduce (i) irregular product quantizers combining sub-quantizers of different granularity and (ii) split tables allowing lookup tables larger than registers. We evaluate Quicker ADC with multiple indexes including Inverted Multi-Indexes and IVF HNSW and show that it outperforms FAISS PQ implementation and optimization (i.e., Polysemous codes) for numerous configurations. Finally, we open-source at a fork of FAISS that includes Quicker ADC.


page 1

page 2

page 3

page 4


Accelerated Nearest Neighbor Search with Quick ADC

Efficient Nearest Neighbor (NN) search in high-dimensional spaces is a f...

Exploiting Modern Hardware for High-Dimensional Nearest Neighbor Search

Many multimedia information retrieval or machine learning problems requi...

Derived Codebooks for High-Accuracy Nearest Neighbor Search

High-dimensional Nearest Neighbor (NN) search is central in multimedia s...

Low-Precision Quantization for Efficient Nearest Neighbor Search

Fast k-Nearest Neighbor search over real-valued vector spaces (KNN) is a...

Optimized Cartesian K-Means

Product quantization-based approaches are effective to encode high-dimen...

Projective Clustering Product Quantization

This paper suggests the use of projective clustering based product quant...

ARM 4-BIT PQ: SIMD-based Acceleration for Approximate Nearest Neighbor Search on ARM

We accelerate the 4-bit product quantization (PQ) on the ARM architectur...