NVIDIA cuVS
NVIDIA cuVS 是一个用于 GPU 加速向量搜索和数据聚类的开源库,可加快向量搜索和索引构建速度。
它支持可扩展的数据分析,提高语义搜索效率,并帮助开发者加速现有系统或从头开始构建新系统。cuVS 与关键库和数据库集成,随着新的 NVIDIA 架构和 NVIDIA® CUDA® 版本的发布,还可以管理复杂的代码更新,从而确保峰值性能和无缝可扩展性。
NVIDIA cuVS 的工作原理
NVIDIA cuVS 旨在加速和优化现有数据库和向量搜索库的向量索引构建和向量搜索。它使开发者能够增强数据挖掘和语义搜索工作负载,例如推荐系统和检索增强生成( RAG) 。基于 NVIDIA CUDA 软件栈它包含许多用于合成向量搜索系统的构建块,并为 C、C++、Rust、Java、Python 和 Go 提供易于使用的 API。
简介
了解如何使用 cuVS 加速向量搜索、热门应用,以及 GPU 加速向量搜索索引与 CPU 的性能比较。
入门指南
了解向量搜索索引与成熟的向量数据库之间的区别。
笔记本电脑
构建 IVF-PQ 索引,并使用它来搜索近似最近邻点 (ANN) ,或者学习如何使用 cuVS IVF-Flat 算法。
示例
获取插入示例,使用 cuVS 构建新应用,或在现有项目中使用该应用。查看 cuVS 安装文档。
主要特性
GPU 加速的索引算法
优化的 GPU 索引可实现高质量的索引构建和低延迟搜索。cuVS 提供用于索引向量嵌入的高级算法,包括精确索引、基于树的索引和基于图形的索引。
大语言模型 (LLM) 的实时更新
cuVS 通过动态集成新的嵌入和数据来实现索引搜索的实时更新,而无需重建整个索引。通过将 cuVS 与 LLM 集成,搜索结果将保持最新且相关。
高效索引
与仅使用 CPU 的工作流程相比,GPU 索引可降低成本,同时大规模保持质量。此外,通过在核外构建大型索引,可以更灵活地选择 GPU,并最终降低每 GB 成本。
可扩展索引构建
对于实时应用和大规模部署,cuVS 支持纵向扩展和横向扩展索引创建和搜索,所需时间仅为 CPU 所需时间的一小部分,且不会影响质量。
GPU 加速的搜索算法
cuVS 通过集成基于 CUDA 的优化算法来实现近似最近邻点和聚类,从而转变向量搜索,是大规模、时间敏感型工作负载的理想选择。
cuVS 通过动态集成新的嵌入和数据来实现索引搜索的实时更新,而无需重建整个索引。通过将 cuVS 与 LLM 集成,搜索结果将保持最新且相关。大语言模型 (LLM) 的实时更新
低延迟性能
cuVS 可为速度和准确性至关重要的语义搜索等应用提供超快的响应时间。此外,对二进制、8、16 和 32 位类型的支持意味着内存使用针对高吞吐量应用程序进行了优化。
GPU 每秒可处理数十万次查询,这使 cuVS 成为机器学习、数据挖掘和实时分析等要求严苛的用例的理想之选。高吞吐量处理
开始使用
选择正确的路径以开始使用 cuVS。将其集成到现有的向量搜索系统、流程或应用中,并加速生产中数据挖掘用例的语义搜索。
评估
开始使用 cuVS 作为基准测试工具,通过优化索引配置和分析不同硬件环境中的性能,专为 ANN 搜索实现 (尤其是 GPU 和 CPU 之间的搜索实现) 的可复制比较而设计。
性能 – 领先的向量搜索
NVIDIA cuVS 利用 NVIDIA GPU 的并行架构,可轻松部署热门的性能关键型算法。GPU 加速的向量相似性搜索为大规模高性能解决方案设定了基准测试记录。
索引速度提高 21 倍
越低越好。
与云端 (AWS) 中的 CPU (Intel Ice Lake) 相比,在 GPU (8x A10g) 上构建索引所需的时间从几小时缩短到几分钟。
成本降低 12.5 倍
越低越好。
在云端 (AWS) 中使用 GPU (8x A10g) 和 CPU (Intel Ice Lake) 构建索引的成本。
吞吐量提高 29 倍
越高越好。
在 GPU (H100) 上每秒可查询的向量数量与 CPU (英特尔至强 Platinum 8470Q) 上每秒可查询的向量数量 (每次提交 10000 个) 。
延迟降低 11 倍
越低越好。
每次提交一个查询时,使用 GPU (H100) 与使用 CPU (英特尔至强 Platinum 8470Q) 处理每个查询的平均时间。
适用于 NVIDIA cuVS 的入门套件
通过访问教程、Notebook、论坛、版本说明和全面的文档,开始使用 cuVS 加速您的库、数据库和应用。
用于库开发
cuVS 提供易于使用的 Python API,可直接集成到数据挖掘和分析库中。cuVS 还集成到热门的 FAISS 库中,以实现 CPU 和 GPU 的互操作性。
用于数据库开发
cuVS 构建块使用 C++ 构建,并采用 C、Python、Rust、Java 和 Go 等热门语言封装,因此可轻松集成到现有数据库和向量索引工具中。
用于应用程序开发
cuVS 可直接使用,也可通过多个数据库和库集成来使用,从而通过 GPU 加速为您的应用程序和工作流提供强效助力。