Pq

Product Quantization (PQ)

Overview
Product Quantization (PQ) is a compression technique used in Vector Databases to reduce the memory footprint of high-dimensional vectors (often by 90-95%) and speed up distance calculations.

The Problem
A standard 1536-dimensional vector (OpenAI) takes ~6KB of RAM.
1 Million vectors = 6GB RAM.
1 Billion vectors = 6TB RAM (Too expensive!).

How PQ Works
1. Split: Break the long vector into $M$ smaller sub-vectors (e.g., 8 chunks).
2. Quantize: For each chunk, find the nearest "codebook" centroid (like clustering).
3. Encode: Replace the vector floats with the *ID* of the centroid.
- 32-bit floats -> 8-bit integers.

Result
- Compression: 32x or 64x memory reduction. 6TB becomes ~100GB.
- Speed: Distance calculations use small lookup tables instead of heavy math (SIMD).

Trade-off
PQ is "lossy". The vectors are approximations.
- A "Rescoring" step is often used: Use PQ to find the top 100 candidates quickly, then fetch the full vectors from disk to find the exact top 10.

PQ is the secret sauce behind billion-scale vector search systems.

Take pq further

Ask the copilot about this term, or have our engineers assess it against your process.