论文

GPUSparse:具有并行倒排索引的 GPU 加速学习稀疏检索

GPUSparse: GPU-Accelerated Learned Sparse Retrieval with Parallel Inverted Indices

AI 基础设施向量数据库

摘要

学习的稀疏检索模型(例如 SPLADE)实现了与密集模型竞争的检索质量,同时保留了稀疏表示的可解释性和精确匹配优势。然而,推理时间评分仍然依赖于 CPU 限制的倒排索引遍历算法(WAND、Block-Max WAND),这为大规模实时服务造成了根本瓶颈。我们提出了 GPUSparse,一个用于 GPU 加速的精确学习稀疏检索的系统,它引入了:(1)具有块对齐、扭曲合并的倒排列表的 GPU 并行倒排索引; (2) 批量分散相加评分算法,可同时处理数百个查询; (3)融合Triton内核并分析工作效率和硬件利用率之间的权衡。在具有真实 SPLADE 嵌入的 MS MARCO 段落排名(8.8M 段落)上,GPUSparse 将 CPU 精确得分匹配到小数点后三位(MRR@10=0.383,等于此精度下的 Pyserini SPLADE;Recall@1000>=0.999 与密集 matmul,浮点平局决胜的残差),同时在处理 880 万个文档时比 Pyserini CPU 提供 235 倍的加速(每个查询 1.27 毫秒 vs. 298 毫秒)。与 Seismic(最快的 CPU 稀疏检索系统)相比,Seismic 以 25% 的召回率换取速度(R@1000=0.738 vs. 0.983 精确度),GPUSparse 在完整的 880 万集合上以 787 QPS 吞吐量(批次 500)实现精确评分,每个查询 1.3 毫秒。我们的文档并行内核达到了 H100 峰值 HBM 带宽的 62.6%,揭示了 GPU 稀疏检索中基本工作效率与带宽效率的权衡。稀疏评分重新表述为倒排索引上的分散相加,与 SPARe 的迭代模式共享;我们的贡献是它的融合内核实现,我们测量它比忠实的 SPARe 迭代重新实现快 23-270 倍。