近日,金山办公&华为云联合打榜,华为云存储向量检索算法库HANNS在国际向量检索大赛BigANN OOD-track评测第一。
该算法库可有效应对大规模知识库场景下的规模和性能挑战,主要应用于多模态数据检索场景:
办公领域,工作人员可以从过去的海量文档中查找精确答案;
电商领域,用户可以通过上传一张图片来搜索类似商品;
医疗领域,医生可以综合检索图像和文本诊断数据来提高诊断的准确性;
搜索推广领域,搜索者可以在智能搜索引擎和内容推荐系统中快速得到更精确的答案。
BigANN Benchmark是业界权威的大规模近似最近邻搜索(ANN)任务评估向量检索算法的标准数据集和基准测试。这一基准测试主要用于衡量不同算法在面对大规模数据集时的性能,涵盖了准确性、检索速度以及内存占用等多个维度。
OOD(Out-of-Distribution)Track是BigANN基准测试中的一个重要测试分支,主要用于评估向量检索算法在面对分布外数据时的表现。实际应用中,跨模态检索就是一种分布外检索,其涉及不同模态的数据分布差异,对向量检索算法的泛化能力提出了更高要求。
在BigANN Benchmarks测试中,HANNS算法表现优秀。在OOD Track超越原榜单TOP1,相比业界知名数据库实现显著性能提升。
跨模态检索的挑战
多模态数据的出现是信息时代的必然趋势。随着互联网、社交媒体和智能设备的普及,用户每天都会产生大量的图像、文本、音频和视频等多种形式的数据。这种多模态数据反映了人类获取和表达信息的多样性,而仅依赖单一模态的数据处理和检索方式已无法满足日益复杂的需求。多模态数据检索应运而生。
多模态检索面临诸多挑战。不同模态之间的语义差异和特征表达存在较大差距,这导致在进行跨模态检索时,查询(Query)和其潜在匹配项之间的距离往往较远,从而降低了k-NN(k近邻)搜索的效率,使得剪枝操作难以有效优化搜索过程。
现有的向量检索算法主要有两类,基于聚类的算法及基于图的算法。
基于聚类的算法通过k-means聚类将相似向量放到一个聚类中,查询时只查询与Query相关的nprobe个聚类,如IVF算法;
基于图的算法通过连接相似的向量,查询时从当前距离Query最近的向量开始贪心搜索,直到达到搜索范围内的局部最优,如HNSW算法。
然而,现有向量检索算法在跨模态场景中表现不佳。IVF算法在搜索50个聚类时,模态内检索可达到97%以上的召回率,而跨模态检索时召回率急剧下降(低至0.2)。HNSW算法,在模态内检索只需要48跳即可获得93%以上的召回率,而跨模态检索需要500跳才能达到相同的召回率。
HANNS向量检索算法库
HANNS是华为云架构与技术创新部与存储服务产品部推出的ANN算法库。该算法库运用了先进的索引结构与算法,其中包括倒排文件(Inverted File)、乘积量化(Product Quantization)以及层次可导航小世界图(Hierarchical Navigable Small World,HNSW)等。
它将执行计划进行Task化处理,使算子异步化,并通过查询级优先级调度实现均匀的CPU调度,能够在大规模向量数据集中迅速找出与给定查询向量最为相似的向量。
HANNS针对内存使用和速度进行了精心优化。借助压缩向量表示等技术,有效降低了内存占用,同时确保了较高的性能表现。它支持NPU加速,在一些计算密集型任务中,能够进一步提升处理速度。尤其是在处理大规模高维向量数据时,NPU加速可带来显著的性能提升。
HANNS还提供了多种索引类型,以适应不同的应用场景和数据特点。同时,它支持自定义距离度量函数,除了常见的欧氏距离和余弦相似度之外,用户能够根据自身的业务需求定义特定的向量距离度量方式,从而满足不同领域和任务的特殊要求。
HANNS-OOD算法如何在跨模态场景中获得高精度、高性能
跨模态向量检索的难点在于达到高精度时,搜索空间非常大,性能劣化严重,因此,HANNS-OOD算法主要从以下两个方面提升搜索效率:
降低算法的搜索空间;
降低单个计算的复杂度。
针对第一点,HANNS-OOD算法采用了各项异性聚类技术及Vamana图与聚类混合检索技术。
由于OOD场景中Query与底库中的向量距离都较远,传统聚类方法剪枝效果不佳,进而影响搜索效率。通过引入各向异性聚类方法(参考Google ScaNN算法),充分考虑数据的方向性特征,在聚类过程中能够更全面地保留原始数据的本质结构,从而减少检索时需要检查的聚类数量,能够更高效地找到目标结果,显著提升检索性能。
大规模OOD场景中,聚类数较多,遍历所有聚类中心的代价极高。为了解决这一问题,我们选择了Vamana图结构来筛选与Query相关的聚类,保证了高精度和高性能。
和行业顶尖客户共创
金山办公基于华为云存储构建“智能文档库”
探索AI企业级应用落地路径
▲金山办公助理总裁 朱熠锷
戳“阅读原文”,了解华为云