FAISS-FACEBOOK
FAISS Facebook AI vector backbone OSS library.
Definition
FAISS index types selection: (1) IndexFlatL2 + IndexFlatIP: exact brute-force search, baseline 100% accuracy but slow large datasets. (2) IndexIVFFlat: Inverted File partitioning (k-means clusters), faster than Flat, approximate, ~5-10x faster. (3) IndexIVFPQ: IVF + Product Quantization compression, 10-100x faster + 8-16x memory reduction with accuracy tradeoff. (4) IndexHNSWFlat: Hierarchical Navigable Small World graph, very fast + high accuracy, more memory. (5) IndexPQ: pure Product Quantization, less common. (6) IndexLSH: Locality Sensitive Hashing, special use cases. (7) IndexOPQ: Optimized Product Quantization, better accuracy. (8) IndexBinaryFlat / BinaryHNSW: binary vectors (Hamming distance). (9) IndexIVFPQR: refined IVFPQ with re-ranking. Distance metrics: L2, Inner Product, Cosine (via normalization). GPU: faiss-gpu Python package, CUDA acceleration up to 100x speedup vs CPU. Adoption: reference library all major vector DBs underlying, Meta production Instagram + WhatsApp + Facebook search recommendations.
Origin
FAISS initial release February 2017 by Meta AI Research (Facebook Engineering Blog announcement) ; Herve Jegou + Matthijs Douze + Jeff Johnson + others authors ; ~30000+ GitHub stars 2024 ; foundational library ecosystem vector DBs.
Example in context
Instagram Reels recommendations uses FAISS internally: embed videos via custom Vision Transformer model, FAISS IVFPQ index 1B+ video embeddings, GPU-accelerated similarity search GPU clusters, returns personalised recommended Reels candidates ; latency <100ms ; serves 2B+ Instagram users.
Related terms
- Milvus — uses FAISS underlying.