摘要
本篇文章分享了《Automating Nearest Neighbor Search Configuration with Constrained Optimization》这一篇关于自动化最近邻搜索配置的研究论文,主要探讨了如何使用约束优化技术来自动配置基于量化的最近邻搜索算法。
一、研究背景
能否解决billion-scale的问题是ANNS算法从理论到工程落地的一个重要衡量标准。在面对billion-scale的问题时,单一的索引结构已经显得“力不从心”,因此向量索引开始展示出了由单一结构向多层结构、融合索引过渡的趋势。可以类比深度学习技术,从逻辑回归到多层感知机再到现在风靡的大模型,数据量剧增势必需要更复杂的数据结构来构建高效索引。如下图,文中给出了一个多层量化索引的例子,在billion-scale的数据集上比较了层数更多更复杂的索引结构(Original)与其两个简化版本(Shallow-Small、Shallow-Large)的检索效果。可以明显看出,结构更复杂的索引在召回率和吞吐量两个角度都表现出了明显的优势。
随着索引结构的复杂化,其参数量也随之成倍增长,不同参数配置带来的效果变化更是成几何倍数增加。目前主流的参数配置手段有:
网格搜索:遍历所有参数配置可能,虽然能得到最优解,但是计算开销庞大,不切实际;
人工调参:以工程师丰富的经验来配置参数,这种方法会花费大量人力,且受工程师的经验所限,效果参差;
黑盒优化:利用优化器来探索参数配置,这种方法同样需要大量计算,且经常只能得到次优解,差强人意。