Faiss - 高维向量相似度检索和聚类库

作者: 北冥Master | 来源:发表于2019-06-17 00:39 被阅读0次

    Facebook 开源的一个高性能的高维向量相似度检索和聚类库,开源协议为 BSD license。
    github 上有 6000 多 stars。

    Faiss 主要特性:

    • 支持相似度检索和聚类;
    • 支持多种索引方式;
    • 支持CPU和GPU计算;
    • 支持Python和C++调用;

    Faiss 索引类型:

    • Exact Search for L2 #基于L2距离的确定搜索匹配
    • Exact Search for Inner Product #基于内积的确定搜索匹配
    • Hierarchical Navigable Small World graph exploration #分层索引
    • Inverted file with exact post-verification #倒排索引
    • Locality-Sensitive Hashing (binary flat index) #本地敏感hash
    • Scalar quantizer (SQ) in flat mode #标量量化索引
    • Product quantizer (PQ) in flat mode #笛卡尔乘积索引
    • IVF and scalar quantizer #倒排+标量量化索引
    • IVFADC (coarse quantizer+PQ on residuals) #倒排+笛卡尔乘积索引
    • IVFADC+R (same as IVFADC with re-ranking based on codes) # 倒排+笛卡尔乘积索引 + 基于编码器重排

    第1个和第2个索引方式是属于精确匹配。
    其他索引方式都是通过数据压缩的非精确匹配。
    损失少量精度,但减少内存占用,支持大规模数据集,比如在单机上支持10亿规模的高维向量相似度检索。

    开发资料:

    github: https://github.com/facebookresearch/faiss
    tutorial: https://github.com/facebookresearch/faiss/wiki/Getting-started

    相关文章

      网友评论

        本文标题:Faiss - 高维向量相似度检索和聚类库

        本文链接:https://www.haomeiwen.com/subject/ulwnfctx.html