cuVS:GPU 上的向量搜索和聚类#

欢迎使用 cuVS,这是用于 GPU 加速向量搜索和聚类的首屈一指的库!cuVS 为构建新算法提供了几个核心构建块,同时还提供了端到端向量搜索和聚类算法,这些算法既可以独立使用,也可以通过越来越多的集成使用。

有用资源#

什么是 cuVS?#

cuVS 包含几种用于在 GPU 上运行近似和精确最近邻以及聚类的最先进算法实现。它可以直接使用,也可以通过集成了它的各种数据库和其他库来使用。cuVS 的主要目标是简化 GPU 在向量相似度搜索和聚类方面的使用。

向量搜索是一种信息检索方法,在过去几年中越来越受欢迎,部分原因在于非结构化数据创建的多媒体嵌入日益重要,以及需要对这些嵌入进行语义搜索以查找彼此在语义上相似的项目。

向量搜索还用于数据挖掘和机器学习任务,并且是许多聚类可视化算法(如 UMAPt-SNE、K-means 和 HDBSCAN)中的重要步骤。

最后,更快的向量搜索实现了密集向量与图之间的交互。将一堆密集向量转换为最近邻图,这打开了整个图分析算法的世界,例如 GraphBLAScuGraph 中提供的算法。

以下是向量搜索的一些常见用例

数据挖掘#

  • 聚类算法

  • 可视化算法

  • 采样算法

  • 类别平衡

  • 集成方法

  • k-NN 图构建

为何选择 cuVS?#

使用 cuVS 和 GPU 进行向量搜索有几个优点,包括

  1. 快速建立索引

  2. 低延迟和高吞吐量搜索

  3. 参数调优

  4. 节省成本

  5. 互操作性(在 GPU 上构建,在 CPU 上部署)

  6. 多语言支持

  7. 用于组合新算法或加速现有算法的构建块

除了上述各项,cuVS 还承担着随着新的 NVIDIA 架构和 CUDA 版本发布而更新非平凡加速代码的责任。这提供了愉快的开发体验,保证基于它构建的任何库、数据库或应用程序都将始终获得最佳性能和规模。

cuVS 技术栈#

cuVS 构建在 RAPIDS RAFT 高性能机器学习原语库之上,并提供在 GPU 上进行向量搜索和聚类所需的所有例程。

cuVS is built on top of low-level CUDA libraries and provides many important routines that enable vector search and clustering on the GPU

目录#