鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

召回场景

场景架构

图1 鲲鹏召回场景上下文对接图

向量检索算法KscaNN

KScaNN是基于倒排索引,结合鲲鹏架构深度优化索引布局、算法流程和计算流程,充分挖掘芯片潜力形成的向量检索算法。基于开源ScaNN算法鲲鹏提供5类优化:查询感知优化、PQ距离算法优化、重排算法优化、使用高效的编译器内建指令&neon指令、系统优化(包括线程数调优、预取调优、Batch Size调优等)。KScaNN实现对接Milvus向量数据库使用。

向量检索算法KBest

KBest是一种基于NSG(Navigating Spreading-out Graph)的高性能近邻搜索算法,用于多维向量近似最近邻搜索。在NSG算法的基础上,KBest进一步优化了近邻搜索的性能和精度。KBest搜索前通过预取参数优化得到当前图结构的最优预取参数,搜索过程中利用图索引预存的入口点快速逼近query,获取query的近邻,同时使用SIMD指令集加速距离计算,搜索结束时进行全/半精度重排以提高排序精度,返回K近邻。相较于开源ANNS算法,KBest可以取得可观的性能提升。KBest算法搜索原理如图2所示。KBest实现对接Milvus向量数据库使用。

图2 KBest算法搜索原理

基于鲲鹏提供5类优化:高性能上层算法、集成多种量化器,可根据实际场景选择使用、使用SIMD指令集优化各平台上的使用性能、搜索结束时进行全/半精度重排以提高排序精度、搜索前通过预取参数优化得到当前图结构的最优预取参数。

向量检索加速组件KVecturbo

KVecturbo是鲲鹏自研的向量检索加速组件,可对接openGauss向量数据库使用。KVecturbo通过将高维向量量化压缩,快速获取query的近邻,同时使用SIMD指令集加速距离计算,用于多维向量最近邻搜索。

基于鲲鹏提供3类优化:采用鲲鹏亲和的向量化指令、路径压缩、低比特量化。