已开启
[Feature]: IVFRabitQ算法支持检索过滤 #127
chasefhb创建于  7月27日
chasefhb
chasefhb成员
7月27日 创建

提交提案之前,请先检索仓库内是否已有相同的提案,如已有请在同一提案中进行讨论。

💻 需求背景、当前现状、期望实现的功能内容、具体的设计方案、以及测试方案

需求名称:IVFRabitQ算法支持检索过滤

  1. 需求当前落入Index SDK
  2. ID数据库这边会维护顺序,IDSelector是一个数组,range。
  3. 至少支持底库6e
  4. 数据库过滤后是粗排,使用CPU自己做精排。不用关心精排结果,确保是否正确过滤(过滤ID不在结果体现)
    【性能要求】
  5. 不涉及混合检索。
  6. 过滤的性能损耗需要穿刺分析。
  7. IDSelector内存增量不超过索引总大小的5%。

【验收标准】

  1. 满足过滤后的TOPK的召回
  2. nprobe < topk的时候,有效数据不够,预设值是-1, 返回的ID无效
  3. A3单卡2die下,6e底库,nprobe 256, nlist 32768, 128维,topk 1000,batch动态下发(1,2,4,8,16,32,64) 下,性能损耗10%,挑战5%。
  4. 内存:增量不超过索引总大小的5%。
  5. 稳定性:72小时持续压测无内存泄漏
  6. 多卡适配:单卡及多卡(A3-16die)环境下均能正常工作。

替代方案

补充说明

欢迎加入社区,感谢您对社区的贡献 🎉!

likedislike
chasefhbchasefhb成员
7月27日 添加了label:feature
xiangjie10成员
7月27日 评论:

/label add triaged

likedislike
ascend-robotascend-robot成员
7月27日 添加了label:triaged
此处折叠了20条事件消息 查看更多
meijiaqimeijiaqi成员
3 天前 关联了pull request:feat(ivfrabitq): 支持IVFRaBitQ IDSelector前置过滤配置