[论文解读] FLASH: Randomized Algorithms Accelerated over CPU-GPU for Ultra-High Dimensional Similarity Search
FLASH 通过使用带蓄水池采样的随机化局部敏感哈希(LSH)、单遍最小哈希和基于计数的估计,在 CPU-GPU 系统上加速了超高维相似度搜索,实现了在 13 亿非零项的 webspam 数据集上子 10 秒内完成 k-NN 图构建——其性能比暴力搜索高出 20 多 TFLOPS,并在高维稀疏数据上的速度和可扩展性方面超越了最先进的工具 FAISS 和 HNSW。
We present FLASH ( extbf{F}ast extbf{L}SH extbf{A}lgorithm for extbf{S}imilarity search accelerated with extbf{H}PC), a similarity search system for ultra-high dimensional datasets on a single machine, that does not require similarity computations and is tailored for high-performance computing platforms. By leveraging a LSH style randomized indexing procedure and combining it with several principled techniques, such as reservoir sampling, recent advances in one-pass minwise hashing, and count based estimations, we reduce the computational and parallelization costs of similarity search, while retaining sound theoretical guarantees. We evaluate FLASH on several real, high-dimensional datasets from different domains, including text, malicious URL, click-through prediction, social networks, etc. Our experiments shed new light on the difficulties associated with datasets having several million dimensions. Current state-of-the-art implementations either fail on the presented scale or are orders of magnitude slower than FLASH. FLASH is capable of computing an approximate k-NN graph, from scratch, over the full webspam dataset (1.3 billion nonzeros) in less than 10 seconds. Computing a full k-NN graph in less than 10 seconds on the webspam dataset, using brute-force ($n^2D$), will require at least 20 teraflops. We provide CPU and GPU implementations of FLASH for replicability of our results.
研究动机与目标
- 解决在具有数百万维的超高维稀疏数据集上进行精确 k-NN 搜索的计算不可行性。
- 克服现有近似方法(如 LSH 的桶倾斜问题、内存膨胀)和乘积量化(在维度增加时扩展性差)的局限性。
- 设计一种在单机 CPU-GPU 平台上实现高性能并具备强理论保证的系统。
- 为推荐系统、点击率预测和社交网络挖掘等真实应用场景提供快速、可扩展且可复现的相似度搜索能力。
提出的方法
- 利用带符号随机投影的局部敏感哈希(LSH)将高维稀疏向量映射为紧凑的哈希码。
- 采用单遍最小哈希和 DOPH(分布式单遍哈希)高效估计 Jaccard 相似度,实现低内存占用和高并行性。
- 使用蓄水池采样平衡桶的大小,避免因高频词导致的重桶问题。
- 应用基于计数的估计方法,在无需显式计算距离的情况下加速相似度排序。
- 在 CPU-GPU 混合架构中结合这些技术,以利用数据并行性并降低索引和查询延迟。
- 集成优化的 GPU 内核,确保哈希时间快于数据加载时间,从而实现端到端 k-NN 图构建时间低于 10 秒。
实验结果
研究问题
- RQ1基于随机化 LSH 的系统是否能在像 webspam 这类具有 13 亿非零项的超高维数据集上实现子 10 秒内完成 k-NN 图构建?
- RQ2在高维稀疏数据上,FLASH 与 FAISS 和 HNSW 等最先进的系统相比,在速度和准确性方面表现如何?
- RQ3蓄水池采样是否能在不牺牲理论保证的前提下有效缓解 LSH 中的桶倾斜问题?
- RQ4单遍最小哈希和基于计数的估计在多大程度上能降低相似度搜索的计算成本?
- RQ5GPU 加速能否与 LSH 和蓄水池采样有效结合,实现在大规模数据集上的近似恒定时间索引?
主要发现
- FLASH 在 webspam 数据集(13 亿非零项)上构建完整 k-NN 图的时间少于 10 秒,而暴力精确搜索至少需要 20 TFLOPS。
- 在 RCV1 数据集上,FLASH 对高相似度邻居(相似度 ≥0.85)的召回率超过 80%,在高维下优于 FAISS,且在速度和召回率上均表现更优。
- 通过优化 GPU 内核,系统将索引时间缩短至低于数据加载时间,使哈希速度超过 I/O 速度。
- 蓄水池采样有效缓解了桶倾斜问题,提升了负载均衡性,并支持在 CPU 和 GPU 上高效并行化。
- 在高维稀疏数据集上,FLASH 相较于 FAISS 实现了 10 倍加速,相较于 HNSW 实现了 30 倍加速,且准确率具有竞争力或更优。
- DOPH 与蓄水池采样的结合在保持实际效率的同时提供了强理论保证,优于标准 LSH 和基于投影的方法。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。