cuVS:GPU 上的向量搜索和聚类#
欢迎使用 cuVS,这是用于 GPU 加速向量搜索和聚类的首屈一指的库!cuVS 为构建新算法提供了几个核心构建块,同时还提供了端到端向量搜索和聚类算法,这些算法既可以独立使用,也可以通过越来越多的集成使用。
有用资源#
示例 Notebook:示例 Notebook
代码示例:独立的包含完整功能的代码示例
RAPIDS 社区:获取帮助、贡献和协作。
GitHub 仓库:下载 cuVS 源代码。
Issue 追踪器:报告问题或请求功能。
什么是 cuVS?#
cuVS 包含几种用于在 GPU 上运行近似和精确最近邻以及聚类的最先进算法实现。它可以直接使用,也可以通过集成了它的各种数据库和其他库来使用。cuVS 的主要目标是简化 GPU 在向量相似度搜索和聚类方面的使用。
向量搜索是一种信息检索方法,在过去几年中越来越受欢迎,部分原因在于非结构化数据创建的多媒体嵌入日益重要,以及需要对这些嵌入进行语义搜索以查找彼此在语义上相似的项目。
向量搜索还用于数据挖掘和机器学习任务,并且是许多聚类和可视化算法(如 UMAP、t-SNE、K-means 和 HDBSCAN)中的重要步骤。
最后,更快的向量搜索实现了密集向量与图之间的交互。将一堆密集向量转换为最近邻图,这打开了整个图分析算法的世界,例如 GraphBLAS 和 cuGraph 中提供的算法。
以下是向量搜索的一些常见用例
语义搜索#
生成式 AI 与检索增强生成 (RAG)
推荐系统
计算机视觉
图像搜索
文本搜索
音频搜索
分子搜索
模型训练
数据挖掘#
聚类算法
可视化算法
采样算法
类别平衡
集成方法
k-NN 图构建
为何选择 cuVS?#
使用 cuVS 和 GPU 进行向量搜索有几个优点,包括
快速建立索引
低延迟和高吞吐量搜索
参数调优
节省成本
互操作性(在 GPU 上构建,在 CPU 上部署)
多语言支持
用于组合新算法或加速现有算法的构建块
除了上述各项,cuVS 还承担着随着新的 NVIDIA 架构和 CUDA 版本发布而更新非平凡加速代码的责任。这提供了愉快的开发体验,保证基于它构建的任何库、数据库或应用程序都将始终获得最佳性能和规模。
cuVS 技术栈#
cuVS 构建在 RAPIDS RAFT 高性能机器学习原语库之上,并提供在 GPU 上进行向量搜索和聚类所需的所有例程。
