HyperAIHyperAI

Command Palette

Search for a command to run...

NVIDIA cuVS赋能Faiss:显著提升GPU加速向量搜索性能

随着企业积累的非结构化数据激增,以及大语言模型(LLM)应用的普及,对高效、可扩展的信息检索系统需求日益迫切。传统方法在处理海量数据(如TB或PB级)时,检索增强生成(RAG)等应用可能耗时数小时甚至数天。而在线搜索系统,如广告推荐,若依赖CPU,难以实现实时响应,需数千台CPU才能满足性能要求,带来高昂的基础设施成本。 为解决这一问题,NVIDIA推出cuVS(CUDA Vector Search)与Meta的Faiss库深度集成,通过GPU加速显著提升向量相似性搜索与聚类的效率。该方案在保持CPU与GPU无缝协同的同时,大幅降低延迟、提升吞吐量,实现更快速、低成本、高效率的向量搜索。 cuVS为Faiss带来多项关键优势: - GPU加速:自Faiss 1.10.0版本起,支持IVF-PQ、IVF-Flat、Flat(暴力搜索)和CAGRA等索引类型在GPU上运行。其中CAGRA是专为GPU设计的图结构索引,性能远超传统CPU方案。 - CPU-GPU互操作性:用户可在GPU上快速构建索引,再将结果转换为HNSW格式,部署到CPU进行搜索。例如,HNSW索引在CPU上构建耗时数小时,而CAGRA可在GPU上实现最高12倍的加速,且最终可无缝用于CPU查询。 - 性能提升显著:在Deep100M(10000万×96维)和OpenAI文本嵌入(500万×1536维)数据集上的测试显示,cuVS在索引构建时间、单次查询延迟和批量处理吞吐量方面均表现优异。CAGRA在GPU上构建索引比CPU HNSW快4.7倍,批量查询吞吐量达数百万次/秒。 使用cuVS的Faiss支持以下功能: - 无需修改代码即可自动启用GPU加速(如IVF-PQ) - 支持RMM内存池管理,提升GPU内存使用效率 - 可将CAGRA图结构自动转换为HNSW,实现“GPU建索引+CPU搜索”的混合部署模式 开发者可通过Conda或Nightly包快速安装faiss-gpu-cuvs,并使用Python示例代码创建和查询索引。该集成适用于需要处理大规模多模态嵌入、高并发查询或快速实验新模型的场景。 总之,Faiss与NVIDIA cuVS的结合,为向量数据库、AI搜索系统和RAG应用提供了强大引擎,让企业能以更少资源、更快速度应对日益增长的向量搜索挑战。

相关链接