本次查询:IVF-PQ
中文解释:倒排文件乘积量化索引
常见场景:海量向量数据的近似最近邻检索 / 如推荐系统召回 / 以图搜图 / 文档语义匹配
一句话解释
IVF-PQ是一种“先粗分后精算”的向量检索方法:先用聚类将向量库划分为多个单元(倒排文件),再对每个单元内的向量做乘积量化压缩,在检索时只需访问少数几个单元并计算压缩后的距离,从而大幅降低内存占用和搜索时间。
为什么会被关注
在推荐、搜索等业务中,向量化后的数据往往达到百万甚至亿级,传统穷举搜索无法满足实时性要求。IVF-PQ能在保持较高召回率的前提下,将搜索速度提升数十倍,同时将原始向量存储压缩到1/10甚至更小,显著降低内存成本。
作为Faiss等主流向量库的核心索引类型,IVF-PQ已成为工业界处理大规模向量检索的事实标准之一,其易用性与高效性让中小团队也能快速落地近似搜索功能。
核心逻辑
IVF-PQ由两个阶段构成:第一阶段用K-means聚类构造倒排索引,将原始向量空间划分为Voronoi单元,每个单元对应一个聚类中心;第二阶段对每个单元内的残差向量进行乘积量化,即把高维向量分割成若干子段,分别用码本量化,最终用码本ID组合表示原向量。
检索时,先根据查询向量找到最近的N个聚类中心对应的倒排列表,只在这些候选列表内遍历;然后对列表中的每个压缩向量,用查表法计算与查询向量的近似距离,最后返回Top-K结果。这种两级量化大幅减少了I/O和计算量。
常见场景
在短视频推荐中,每个视频被编码为特征向量,IVF-PQ可以在亿级向量池中快速找到与用户兴趣最相似的视频,支撑实时推荐召回。在以图搜图应用里,商品图片的向量索引使用IVF-PQ,能在数百毫秒内返回相似图片。
搜索场景的语义匹配也依赖IVF-PQ:将查询与文档分别映射为嵌入向量后,通过该索引快速找到候选文档,再结合精排模型完成最终排序。
容易混淆的点
IVF-PQ与单独使用倒排文件(IVF)或乘积量化(PQ)不同:IVF仅做聚类分桶,不压缩向量,内存消耗大;PQ只压缩向量但不做分桶,检索时仍需遍历全部压缩数据。IVF-PQ将二者结合,兼顾了粗筛效率与存储效率。
有人误以为IVF-PQ的精度必然低于全量搜索,但通过调整聚类数量、乘积量化的子空间位数,可以在召回率接近99%的同时保持高吞吐。此外,IVF-PQ并非唯一的ANN方案,HNSW(分层可导航小世界图)在内存充足时速度更快,但IVF-PQ在内存和检索性能之间更具性价比。
