Inside FAISS: Billion-Scale Similarity Search
Posted by tohms 5 days ago
Author here. I wrote this as a visual companion to the 2017 FAISS paper (https://arxiv.org/abs/1702.08734), focused on the parts I found hardest to grok from text alone.
The article covers a subset of what FAISS does, with the paper as the source of truth. NSG, FastScan, IMI are not covered here, they'll get their own articles. I'd be especially interested in feedback on:
- the IVFPQ / IVFADC explanation, particularly the LUT reuse argument
- whether the GPU part captures enough of the actual complexity
Happy to answer questions.
Comments
Comment by rooftopzen 4 days ago
That said, I've found FAISS great for certain use cases; wanted to say thx for surfacing - its not updated to work with most packages these days outside of faiss-cpu - curious why Meta dropped its maintenance; was it due to its slower speed or otherwise priorities?
Comment by tohms 3 days ago
yeah, my read is most production users stay on CPU and if they need heavier/faster workdloads in they might often move toward managed vector services like pinecone, mongodb atlas, or pgvector, and attention follows usage. Also FAISS came out of FAIR's team in Paris, Meta’s recent massive reorganization and layoffs which splitted FAIR's team likely have an impact in its maintenance.
Comment by runamuck 4 days ago
Comment by yeshman 4 days ago
Comment by testycool 4 days ago
Comment by hanzeweiasa 4 days ago