fork开源faiss,提供向量检索NPU加速能力。
当前项目代码仓暂无内容
Faiss NPU
✨ 最新消息
🔹 [2026.5.20]:🚀 基于 Meta Faiss 提供 NPU 加速能力,算法持续实现中
ℹ️ 简介
Faiss NPU 是在 Meta 开源 Faiss(Facebook AI Similarity Search)v1.13.2 基础上深度适配的昇腾 NPU 加速版本,为大规模向量检索提供高性能的硬件加速能力。项目完整保留 Meta Faiss 的功能和 API 接口,并通过 AscendC 自定义算子针对昇腾 NPU 的硬件特性进行优化。更多详情可查看简介。
⚙️ 功能介绍
NPU 加速功能
本项目通过自定义算子加速向量检索的核心计算。算子清单及构建、部署、测试说明详见 NPU 自定义算子模块。
NPU 索引/向量变换 API 文档:
| 类型 | 功能描述 | 文档链接 |
|---|---|---|
| Flat | 暴力检索(IndexFlat),支持 FP16/FP32/INT8 与 L2/IP,单卡及多卡分片 | 详细文档 |
| IVFPQ | 倒排文件 + 乘积量化索引,结合 IVF 粗量化和 PQ 细量化,支持单卡推理、多卡分片、多卡副本等多种部署模式,可在 NPU 上完成训练与推理 | 详细文档 |
| OPQ | 优化乘积量化预处理,通过训练旋转矩阵减小各子空间方差相关性,提升 IVFPQ 检索精度,旋转矩阵训练与数据变换均在 NPU 上完成,可作为 IndexIVFPQ 的前置变换 | 详细文档 |
🚀 快速入门
Faiss NPU 提供了一个简单样例,帮助用户快速体验通过 Faiss NPU 进行检索的流程。详情可参考快速入门。
📦 安装指南
Faiss NPU 依赖 NPU 驱动、固件和 CANN 环境,支持通过源码编译并安装部署。详细安装步骤请参考安装指南。
📘 使用指南
文档入口
| 文档 | 说明 |
|---|---|
| 简介 | 了解 Faiss NPU 的项目背景、特点和架构 |
| 快速入门 | 通过样例快速体验 Faiss NPU 检索流程 |
| 安装指南 | 查看环境准备、编译安装和部署说明 |
| FAQ | 常见问题解答与使用答疑 |
| Flat API | 查看 NPU Flat 索引接口说明 |
| IVFPQ API | 查看 NPU IVFPQ 索引接口说明 |
| OPQ API | 查看 NPU OPQ 接口说明 |
🗺️ Roadmap
🔀 版本维护策略
| 分支 | 说明 |
|---|---|
| main | 主干开发分支 |
| v1.13.2-26.2.0 | mindsdk 版本分支 |
🛠️ 贡献指南
欢迎参与项目贡献,贡献流程和规范请参见贡献指南。
⚖️ 相关说明
🔹 《许可证声明》
🔹 《免责声明》
🔹 《第三方开源软件声明》
🤝 建议与交流
欢迎大家为社区做贡献。贡献前,请先签署开放项目贡献者许可协议(CLA)。
欢迎大家通过以下方式提出问题、交流讨论。
| 资源 | 说明 |
|---|---|
| FAQ | 常见问题解答与使用答疑 |
| 创建Issue | 提交 Bug、需求或建议 |
🙏 致谢
感谢来自社区的每一个 PR,欢迎贡献 Faiss NPU。