在对近似最近邻 (ANN) 搜索进行基准测试时,高召回率值至关重要,因为它们衡量算法从数据集中检索真实最近邻匹配项的效果。召回率的计算方法是,正确识别的邻居数与数据集中真实邻居总数的比率。在推荐系统或欺诈检测等应用中,遗漏相关结果(低召回率)可能会导致糟糕的用户体验或安全风险。例如,召回率较低的搜索引擎可能无法找到最有用的文章,从而降低其效用。使用高召回率进行基准测试可确保 ANN 方法的速度优化不会牺牲结果质量,这对于维持对依赖准确相似性搜索的系统的信任至关重要。
向量数据库通过使用近似搜索过程的技术来优化速度,这本身就引入了与召回率的权衡。ANN 方法不是详尽地将查询向量与数据集中的每个向量进行比较(精确搜索),而是通过缩小搜索空间来减少计算量。例如,诸如 HNSW(分层可导航小世界)之类的算法会创建图层以快速遍历潜在邻居,但如果图未被完全探索,则可能会跳过一些真实匹配项。类似地,IVF(倒排文件索引)将数据划分为集群,并且仅搜索其中的一个子集,这会加快查询速度,但存在错过未检查集群中的邻居的风险。这些捷径允许查询在几毫秒而不是几秒内运行,但需要仔细调整以平衡速度和准确性。
开发人员通常会调整参数来管理召回率与速度之间的权衡。对于 HNSW,增加 efSearch
参数会扩大遍历期间评估的候选对象数量,从而提高召回率,但会降低查询速度。在 IVF 中,提高 nprobe
值(搜索的集群数量)会提高召回率,但会增加计算开销。诸如 PQ(乘积量化)之类的量化方法将向量压缩为更小的表示形式,从而加快距离计算速度,但会引入近似误差。例如,使用 PQ 的数据库可能以 85% 的召回率而不是 95% 的召回率实现 10 倍更快的搜索速度。通过调整这些参数,开发人员可以根据他们的用例优先考虑速度或召回率——实时应用程序的较低延迟或批量分析的较高准确性。这种灵活性是使 ANN 系统适应各种要求的关键。