References

  1. Hervé Jégou, Matthijs Douze, Cordelia Schmid. Product Quantization for Nearest Neighbor Search. IEEE TPAMI, 2011. — Introduces PQ, ADC, and the IVFADC system this book reproduces.

  2. Tiezheng Ge, Kaiming He, Qifa Ke, Jian Sun. Optimized Product Quantization. CVPR 2013. — OPQ: a learned rotation before PQ that improves recall (OPQ in FAISS).

  3. Stuart P. Lloyd. Least squares quantization in PCM. IEEE Trans. Information Theory, 1982 (work from 1957). — The k-means algorithm at the core of every codebook here.

  4. Jeff Johnson, Matthijs Douze, Hervé Jégou. Billion-scale similarity search with GPUs. IEEE Big Data, 2019. — The FAISS library and its GPU implementations.

  5. Ruiqi Guo et al. Accelerating Large-Scale Inference with Anisotropic Vector Quantization (ScaNN). ICML 2020. — Quantization tuned for maximum inner-product search.

Tools & systems

  • FAISSIndexFlat, IndexIVFFlat, IndexPQ, IndexIVFPQ, IndexScalarQuantizer, IndexHNSWFlat, and the index factory.
  • ScaNN (Google) — anisotropic quantization for MIPS.
  • Vector databases — Qdrant, Weaviate, Milvus, Pinecone (IVF/PQ/HNSW indexes).

This book's code

All depend only on NumPy and the standard library.