许多 AI 系统训练完毕,正式上线时的基本操作往往可以抽象为:在高维向量空间中,给定一个向量,寻找与之最相近的 k 个向量。当向量数目异常巨大时,如何快速地执行这一基本操作,便成为 AI 系统在工程应用中必须解决的问题。
Facebook 发布 faiss (Facebook AI Similarity Search) 就是专门用来解决这个问题的。
详细阐述请看 facebook 的原文:
https://code.facebook.com/posts/1373769912645926/faiss-a-library-for-efficient-similarity-search/
国内许多媒体关于 faiss 的介绍,基本都是上述文章的翻译稿。
这里我们暂且不去深究 faiss 背后的原理,只是简单记录一下 centos 7.3 上如何使用 faiss,供有需要的朋友参考。
# 安装依赖
sudo yum install -y openblas swig # 获取 faiss 源代码
git clone https://github.com/facebookresearch/faiss.git # 编译 faiss
cd faiss
cp example_makefiles/makefile.inc.Linux makefile.inc
make all # 编译 python 接口
make py # 设置优化选项
export OMP_WAIT_POLICY=PASSIVE # 运行 python 示例代码
export PYTHONPATH=.
python tutorial/python/1-Flat.py
python tutorial/python/2-IVFFlat.py
python tutorial/python/3-IVFPQ.py
【原文链接】http://www.ipaomi.com/2017/10/09/centos-7-3-编译-安装-测试-facebook-faiss/