已关闭
[Performance]: 优化 NPU IVFPQ 大规模 add 性能 #23
meijiaqi创建于 7月30日关闭于 7月30日
7月30日 添加了label:performance
xiangjie10
7月30日 评论:
7月30日 评论:
👋 您好,感谢向 faiss 提交 Issue!
🎉 我们已收到您的反馈,感谢你对开源社区的支持!
📅 处理时效 维护团队将在工作日 24 小时内查看并回复您的问题。
🔍 自助排查(推荐优先查看) 在等待回复期间,您可以先查阅仓库README以及历史 Issue 中相似问题的解决方案,多数问题可快速解决。
💡 为了更快定位问题,请您确保 Issue 包含:
- 清晰的问题描述
- 可复现的操作步骤
- 相关日志、截图或环境信息
我们会尽快跟进,感谢您的理解与配合!


xiangjie10
7月30日 评论:
7月30日 评论:
/label add triaged


7月30日 添加了label:triaged
7月30日 关联了pull request:Optimize NPU IVFPQ add performance
7月30日 关闭了 issue
7月30日 添加了label:resolved
11 天前 issue状态由 TODO 改变为 DONE
提交提案之前,请先检索仓库内是否已有相同的提案,如已有请在同一提案中进行讨论。
性能优化具体描述
在 NPU IVFPQ 大规模建库场景中,add 阶段耗时较高。典型配置为 dim=128、nlist=262144、M=16、nbits=8,使用 8 张 NPU 进行多卡 add,目标数据规模为 2 亿向量。
分析发现 add 阶段主要瓶颈包括:
本优化针对上述问题进行改进:
性能劣化说明
优化前,在 dim=128、nlist=262144、M=16、nbits=8、8 卡 NPU、单批 200 万向量 add 的测试中,add 阶段耗时较高。
优化前关键耗时:
第一阶段优化 L2 批量编码后:
继续优化 L1 distance tiling 后:
整体看,单批 200 万向量 add 从约 122s 降低到约 22s,性能提升约 5 倍。按 2 亿向量建库估算,add 时间从约 2 小时降低到约 35~40 分钟。
其他相关讨论
环境信息
欢迎加入社区,感谢您对社区的贡献 🎉!