高维空间中的高效最近邻(NN)搜索是许多多媒体检索系统的基础。一种常见的方法是依赖产品量化,允许在存储器中存储大型矢量数据库,并且还允许有效的距离计算。然而,使用产品量化的最近邻搜索的实现通过它们执行的许多存储器访问来限制其性能。根据这一观察结果,Andr \'e等人。建议利用特定的SIMD指令更有效地实现$ m \ times {} 4 $ productquantizers(PQ)。更快的ADC提供额外的实现,不仅限于$ m \ times {} 4 $代码,而且依赖于AVD-512,这是SIMDinstruction集的最新版本。在这样做的过程中,Quicker ADC面临着我们的挑战,即不能与计算机字节或字对齐的高效5,6和7位混洗。为此,我们引入(i)不规则产品量化器组合不同粒度的子量化器和(ii)分割表,允许查找表大于寄存器。我们使用多个索引(包括反向多索引和IVF HNSW)评估Quicker ADC,并表明它在多种配置方面优于FAISS PQ实现和优化(即Polysemous代码)。最后,我们开源源码http://github.com/technicolor-research/faiss-quickeradc包含了一个包含Quicker ADC的FAISS分支。
translated by 谷歌翻译