faiss:基于昇腾 CANN 与 AscendC 的向量检索加速项目

fork开源faiss,提供向量检索NPU加速能力。

分支1Tags0
文件最后提交记录最后更新时间
13 天前
3 个月前
5 个月前
5 个月前
6 天前
5 个月前
5 个月前
5 个月前
5 个月前
2 天前
5 个月前
5 个月前
2 个月前
5 个月前
5 个月前
5 个月前
2 天前
5 个月前
2 个月前
5 个月前
3 个月前
5 个月前
5 个月前
5 个月前
5 个月前
5 个月前
8 天前

Faiss NPU

基于 Meta Faiss 的昇腾 NPU 加速版本

Ascend License

✨ 最新消息

🔹 [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

Roadmap(2026Q3)

🔀 版本维护策略

分支 说明
main 主干开发分支
v1.13.2-26.2.0 mindsdk 版本分支

🛠️ 贡献指南

欢迎参与项目贡献,贡献流程和规范请参见贡献指南

⚖️ 相关说明

🔹 《许可证声明
🔹 《免责声明
🔹 《第三方开源软件声明

🤝 建议与交流

欢迎大家为社区做贡献。贡献前,请先签署开放项目贡献者许可协议(CLA)。

欢迎大家通过以下方式提出问题、交流讨论。

资源 说明
FAQ 常见问题解答与使用答疑
创建Issue 提交 Bug、需求或建议

🙏 致谢

感谢来自社区的每一个 PR,欢迎贡献 Faiss NPU。

项目介绍

fork开源faiss,提供向量检索NPU加速能力。

定制我的领域