升级Faiss后,IVFSQ算法train和add接口性能下降
2024/06/18
151
问题信息
问题来源 | 产品大类 | 产品子类 | 关键字 |
---|---|---|---|
官方 | 模型推理 | 应用开发MindSDK | Index SDK、Faiss、IVFSQ算法、性能下降 |
问题现象描述
从Faiss 1.7.1版本升级到Faiss 1.7.4版本后,IVFSQ算法在设置useKmeansPP为false的情况下,train和add接口性能下降。
原因分析
在设置useKmeansPP为false的情况下,IVFSQ算法使用IndexFlat来进行CPU聚类。IndexFlat在Faiss 1.7.1版本中,使用了HeapResultHandler::add_results接口;在Faiss 1.7.4版本中,使用了新增的SingleBestResultHandler::add_results接口。前者使用了omp做性能加速,因而性能更好。
解决措施
在Faiss源码的SingleBestResultHandler::add_results接口中添加omp并重新编译安装,进行性能加速。
本页内容