Faiss检索时间主要包括索引构建和向量搜索两个部分的时间,索引的参数也就分为构建时参数(在构建索引时必须设置的参数)和运行时参数(执行搜索前可调整的参数)。Faiss提供了自动调整运行时参数的代码模块。
可调整的参数有:
index type | Index class | runtime params | comments |
IVF*,IMI2x* | IndexIVF* | nprobe | 搜索时查找几个子空间,用于权衡速度和精确度 |
IMI2x* | IndexIVF | max_codes | IMI2x*这种索引通常倒排列表不平衡,这个参数对这个索引很有用 |
HNSW* | IndexHNSW | efSearch | 搜索时的深度 |
PQ* | In |