金山办公 & 华为云,第一!

科技   2024-12-02 18:36   广东  


近日,金山办公&华为云联合打榜,华为云存储向量检索算法库HANNS在国际向量检索大赛BigANN OOD-track评测第一


该算法库可有效应对大规模知识库场景下的规模和性能挑战,主要应用于多模态数据检索场景:



公领域,工作人员可以从过去的海量文档中查找精确答案;


电商领域,用户可以通过上传一张图片来搜索类似商品;



医疗领域,医生可以综合检索图像和文本诊断数据来提高诊断的准确性;


搜索推广领域,搜索者可以在智能搜索引擎和内容推荐系统中快速得到更精确的答案


▲国际向量检索大赛BigANN OOD-track榜单
来源:https://github.com/harsha-simhadri/big-ann-benchmarks/blob/main/neurips23/ongoing_leaderboard/leaderboard.md


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相关的聚类,保证了高精度和高性能。



针对第二点,HANNS-OOD算法采用了向量化指令计算友好布局和检索技术。

随着多媒体处理、机器学习和大规模数据运算的兴起,处理器引入了专门的向量化寄存器,如SIMD(单指令多数据)寄存器。这些寄存器可以并行处理多个数据项,大大提升了数据密集型应用的计算效率。

现代处理器中,SIMD扩展广泛应用,寄存器位宽达到了256位甚至512位,专为并行运算设计,显著提高了处理器的吞吐量。HANNS算法充分利用了向量化寄存器的处理能力,采用4-bit量化,一次可处理多个子空间中32个邻居的距离计算,提高了计算效率。在构建阶段,该算法完成了向量的压缩与重排,使得在执行检索操作时,处理器能够将质心表直接加载到寄存器中进行快速查询,避免频繁的内存访问。这种优化显著加快了查询速度,同时提升了处理效率,充分发挥了量化技术在资源节约与性能提升方面的优势。



和行业顶尖客户共创

金山办公基于华为云存储构建“智能文档库”

探索AI企业级应用落地路径


在AI大模型加快渗透的背景下,办公模式的迭代升级也在不断提速。对行业客户而言,如何借助AI技术管理海量的文档和数据,最大限度挖掘其潜在价值,是实现业务跃迁的重大挑战。

▲金山办公助理总裁 朱熠锷


金山办公助理总裁朱熠锷认为,构建企业智能文档库是解决难题的有效路径,但在实践过程中也面临不少阻碍。其中,最突出的问题是——数亿用户、千亿文档、万亿向量形成的超大规模数据,怎样通过知识化手段与当前的对象存储进行结合,并在提升系统运行效率的同时保护私域数据安全。

传统向量数据库通常规模较小,无法独立应对金山办公海量文档数据知识化的需求。华为云携手金山办公另辟蹊径,以最普适的智能文档库为突破口,结合OBS对象存储进行大规模知识湖存储的创新,保障金山办公AI Docs千亿文档、万亿向量存得下,亿级请求找得快,文档内容检索找得准。

尤值一提的是,华为云存储的“ANN算法、向量分区、相似重删”等技术,有效提升向量查询性能、减少向量查询节点数、降低向量转换的成本,帮助金山办公显著提升RAG海量数据知识化的性价比,为应对大规模场景挑战闯出一条崭新的道路。此外,华为云存储还在存储安全、数据可信、混合检索等方面具备关键能力,为客户长远发展保驾护航。

金山办公与华为云这对“黄金搭档”持续联合创新和共创业务价值,行业客户无疑是最大的受益者。


戳“阅读原文”,了解华为云






华为云
一切皆服务,共建智能世界云底座
 最新文章