RaBitQ介绍
最新消息
- [2026.03.30]:RaBitQ优化补丁发布于Gitcode平台,实现等价索引优化和非等价索引优化。
项目介绍
RaBitQ是由NTU团队提出的面向高维向量近似最近邻搜索(ANN)的随机二值量化方法(SIGMOD 2024),能将D维向量量化为D位二进制字符串,并提供理论误差界。原始实现基于x8664 AVX2指令集。鲲鹏优化基于开源RaBitQ代码做侵入式修改,将其扩展至ARM64(AArch64)架构,引入FP16精度优化、NEON SIMD向量化、汇编级LUT加速、SOAR溢出向量分配、ML自适应nprobe等多项性能优化和功能增强。
目录结构
代码仓目录结构如下:
rabitq/
├─ docs # 文档目录
│ └── zh # 中文文档目录
│ ├── quick_start.md # 快速入门
│ ├── release_notes.md # 版本发布说明
│ ├── feature_introduction.md # 特性介绍
│ ├── user_guide.md # 用户指南
│ └── api_reference.md # API参考
├─ 0001-rabitq-optimize-neq.patch # 非等价索引优化补丁(全量优化)
├─ 0002-rabitq-optimize-eqv.patch # 等价索引优化补丁
└─ README.md # 项目介绍文件版本说明
关于RaBitQ的版本更新情况请参见《版本说明书》。
学习文档
| 学习资源名称 | 学习资源简介 |
|---|---|
| 版本说明书 | 介绍等价索引优化和非等价索引优化补丁的版本信息。 |
| 特性指南 | 详细说明等价索引优化和非等价索引优化的技术内容,包括SOAR算法、ML自适应nprobe机制及技术架构。 |
| 快速入门 | 提供概述、前置条件、补丁应用方法和基本使用指导。 |
| API参考 | 对比原始RaBitQ开源代码,详细列出Python脚本、C++命令行、IVFRN类和Shell脚本的全部接口变动。 |
| 用户指南 | 提供run.sh测试脚本的详细使用方法,包括参数说明、数据集配置、搜索参数、环境配置和使用示例。 |
免责声明
此代码仓计划参与RaBitQ开源组件,编码风格遵照原生开源软件,继承原生开源软件安全设计,不破坏原生开源软件设计及编码风格和方式,软件的任何漏洞与安全问题,均由相应的上游社区根据其漏洞和安全响应机制解决。请密切关注上游社区发布的通知和版本更新。鲲鹏计算社区对软件的漏洞及安全问题不承担任何责任。
License
贡献声明
欢迎大家为社区做贡献,如果使用过程中有任何问题/建议,或者需要反馈特性需求和bug报告,可以提交Issues联系我们,具体贡献方法可参考这里。同时也欢迎大家在讨论专区展开讨论交流。感谢您的支持。
致谢
RaBitQ由华为公司的下列部门联合贡献:
- 鲲鹏计算Boostkit开发部
感谢来自社区的每一个PR,欢迎贡献RaBitQ!