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

安装和使用说明

针对Milvus数据库的KBest优化特性以patch文件形式提供,在应用这个优化特性之前,还需要先安装鲲鹏召回算法库,保证patch文件正常通过编译。

开源Milvus源码不包括索引相关的组件Knowhere,需要在编译过程中拉取Knowhere的源码并进行对接。本次优化特性主要应用于索引查询,补丁文件主要会添加到Knowhere源码中。所以整体使用过程需要编译Milvus两次,一次编译拉取Knowhere的源码,在打入patch文件后进行第二次编译,用来使能优化特性。

  1. 下载鲲鹏召回算法库放在主目录(~)下,解压并安装。

    获取路径请参见表2的KBest获取路径,执行以下命令解压和安装。

    1
    2
    3
    cd ~
    unzip BoostKit-SRA_Recall-1.2.0.zip
    rpm -ivh boostkit-sra_recall-1.2.0-1.aarch64.rpm
    
  2. 使用git克隆Milvus并切换到2.4.5版本,放在主目录(~)下。

    获取路径请参见表2,参见《Milvus 安装指南》完成Milvus的编译安装。

  3. 获取优化特性的补丁文件,将其上传到主目录(~)下。

    获取路径请参见表2

  4. 执行以下命令,合入优化特性。没有输出则说明合入成功。
    1
    2
    3
    4
    cd ~/milvus
    git apply --whitespace=nowarn < ~/0001-milvus-add-kbest-kscann.patch
    cd ~/milvus/cmake_build/thirdparty/knowhere/knowhere-src/
    git apply --whitespace=nowarn < ~/0001-knowhere-add-kbest-kscann.patch
    
  5. 回到安装目录下,再次全量编译Milvus,以使用优化特性。

    由于最新patch文件进行了更新,里面包含了KBest和KScaNN两个算法的内容,引入KScaNN相关开源代码的头文件,需要提前下载好KScaNN相关源码,指定相关变量。具体操作参考《Milvus KScaNN优化 特性指南》。若是仅想使能旧有KBest算法,可以在gitee发布页面下载旧版patch,同时在测试工具中,删除新增的参数。

    1
    2
    cd ~/milvus
    make milvus
    
  6. 通过ann-benchmarks gist数据集进行测试,可以得到使用加速优化特性前后的性能提升效果,如图1所示。即采用鲲鹏召回算法KBest,对比hnsw算法,将Milvus查询性能(QPS)提升30%以上。详细测试步骤请参见《Milvus ann-benchmarks 测试指导》。
    图1 优化特性使能前后性能对比