Contents
Faiss
Faiss是一个高效的相似度搜索和密集向量聚类的工具。它包含了可以在任意大小 甚至超过可用RAM大小的向量集上进行搜索的算法。它自身也带了一些支持性的代码用于评测和调参。Faiss是C++写的,它支持完整的python包装(包括python2和python3)。部分最有用的算法也有GPU上的实现。
Faiss的研究基础
-
倒排索引 Video google: A text retrieval approach to object matching in videos. 是非穷举搜索的关键
-
乘积量化 Product quantization for nearest neighbor search 可以看做是一种对高维向量的在保证距离关系相对准确前提下的有损压缩。
-
三级乘积量化 The three-level quantization (IVFADC-R aka IndexIVFPQR) Searching in one billion vectors: re-rank with source coding
-
Polysemous codes 在计算量化距离前执行一次二进制过滤