方案架构
鲲鹏BoostKit搜推广组件对应位置如图1所示。鲲鹏BoostKit搜推广使能套件中每个组件的加速方案和修改策略不同,一般不会修改原有基础软件的系统架构,但修改策略会按照实际需要采用不同方案。组件说明如表1所示。
算法类型 |
组件 |
说明 |
|---|---|---|
召回算法 |
KScaNN |
KScaNN(Kunpeng Scalable Nearest Neighbors)是基于倒排索引,结合鲲鹏架构深度优化索引布局、算法流程和计算流程,充分挖掘芯片潜力形成的向量检索算法。 |
KBest |
KBest(Kunpeng Blazing-fast embedding similarity search thruster)鲲鹏图检索算法,是鲲鹏自研的高效的图检索算法。通过量化、NUMA访存调度等方法优化了最近邻搜索的性能和精度,用于多维向量近似最近邻搜索。 |
|
KVecTurbo |
KVecTurbo(Kunpeng Vector Turbo)是鲲鹏自研的向量检索加速组件,可对接openGauss向量数据库使用。KVecTurbo通过将高维向量量化压缩,快速获取query的近邻,同时使用SIMD指令集加速距离计算,用于多维向量最近邻搜索。 |
|
KRL |
KRL(Kunpeng Retrieval Library )鲲鹏检索算子库是基于鲲鹏平台优化的用于加速向量检索的算子库。KRL可通过替换算子的形式对Faiss原生的HNSW、PQFS、IVFPQ和IVFPQFS等算法进行加速。 |
|
KNewPfordelta |
KNewPfordelta (Kunpeng New PForDelta )鲲鹏New PForDelta算法,是鲲鹏构建的高效的召回倒排解压缩算法,通过向量指令等方法优化了倒排解压缩的性能。 |
|
hnswlib |
基于开源hnswlib算法库,针对鲲鹏平台进行了深度优化:通过向量化技术实现FP16高效支持,并应用预取与指令重排等优化策略。 |
|
Faiss |
对开源Faiss算法库进行了深度优化,通过向量化、维度交织查表累加及向量过滤压缩等关键技术,显著提升了IVFFlat、IVFPQ、HNSW、PQFS及IVFPQFS多种索引的相似性搜索与聚类效率。 |
|
排序AI推理算子库 |
KDNN |
KDNN(Deep Neural Network Library)深度神经网络算子库,结合鲲鹏处理器微架构特性与软优化手段,优化AI算子性能。该算子库以插件形式集成至开源软件oneDNN。 |
KDNN_EXT |
KDNN_EXT(Deep Neural Network Extension Library)深度神经网络算子扩展库,深度优化softmax、random_choice等算子,封装为Python语言接口提供给用户调用。 |
|
KTFOP |
KTFOP(Kunpeng TensorFlow Operator)鲲鹏TensorFlow算子库,是鲲鹏自研的高效的TensorFlow算子库。通过SIMD(Single Instruction Multiple Data)指令、多核调度等方法,提高CPU侧算子性能,减少CPU侧计算资源的占用,从而提高在线推理端到端整体的吞吐量。 |
|
ANNC |
TensorFlow图编译优化特性通过使能加速神经网络计算编译器ANNC(Accelerated Neural Network Compiler),实现推荐推理性能加速。ANNC提供了计算图优化,高性能融合算子生成与对接等优化技术。 |
