
阅读收获
全文概览
在人工智能和机器学习飞速发展的今天,大模型(LLM)、推荐系统、语义搜索等应用已成为我们日常生活中不可或缺的一部分。然而,这些应用的背后,一项名为近似最近邻(ANN)搜索的核心技术正面临着前所未有的挑战。您是否曾困惑于,在处理海量高维向量数据时,如何在保证搜索效率和准确性的同时,有效控制高昂的硬件成本和有限的存储容量?传统的GPU加速方案性能卓越却成本高昂,而基于磁盘的方案虽然经济实惠却又牺牲了响应速度。面对这种性能与成本的“鱼与熊掌”困境,业界究竟有没有一种创新的解决方案,能够打破僵局,实现真正的平衡?本文将深入探讨这一核心问题,并为您揭示一种颠覆性的技术路径。
👉 划线高亮 观点批注

ANN搜索及其与AI/ML应用的相关性
PPT的核心目的是强调近似最近邻(ANN)搜索是现代人工智能和机器学习应用的一项基础性、关键性技术。
它通过两个层面来阐述这一观点:

几种主流的近似最近邻(ANN)搜索算法
在多种ANN搜索算法中,基于图的索引(Graph-Based Indexing)是当前综合表现最优异的主流技术。
===
经典ANN 算法及其局限性
算法名称 | 工作原理 | 局限性 |
|---|---|---|
Naive Linear Search (朴素线性搜索) | 计算查询向量与数据集中所有点之间的距离。 | 这是“暴力”(Brute-force)搜索,速度非常慢,其时间复杂度为 (n是向量数量,d是向量维度)。这通常被用作衡量准确率的基准(ground truth),而非实用的ANN算法。 |
Space Partitioning (空间分区) | 采用递归方式将整个向量空间分割成更小的、可搜索的区域。常见的算法有KD树(k-dimensional tree)、R树等。 | 在低维度数据上表现良好,但在高维度数据时性能会急剧下降,这就是所谓的“维度灾难”(curse of dimensionality)。 |
Locality Sensitive Hashing (LSH, 局部敏感哈希) | 使用特殊的哈希函数将相似的点(向量)映射到同一个“桶”(bucket)中。查询时,通过哈希冲突来找到邻近的向量。 | 索引构建速度快,但查询速度通常比更新的方法要慢,且为了保证召回率,往往需要多个哈希表,导致内存占用较大和调优复杂。 |
ANN-图算法优势

业界顶尖的图实现方案——NVIDIA的CAGRA
CAGRA (CUDA-Accelerated Graph-based Nearest Neighbor Search) 是NVIDIA推出的一个基于GPU加速的图ANN搜索库。
===
尽管以NVIDIA CAGRA为代表的纯GPU方案是当前ANN搜索的性能标杆,但它存在一个根本性的、与成本直接相关的架构缺陷——对昂贵且有限的GPU显存的强依赖。

微软基于Flash的DiskANN 方案
微软的DiskANN方案通过创新的“内存+磁盘”混合架构,成功解决了ANN搜索的“大规模扩展性”和“成本”问题,但代价是牺牲了查询延迟。
通过前后两张PPT(NVIDIA CAGRA vs. Microsoft DiskANN),当前业界的选型路线:
=== FEATURES (特性):
WORKFLOW (工作流程):
PROVISIONS (提供/带来的好处):
LIMITATIONS (局限性):

DiskANN性能剖析与结论
通过对DiskANN的实际性能数据进行剖析,精确地定位了其两大性能瓶颈——磁盘I/O和距离计算,并由此推导出解决问题的根本方向。

SanDisk 的解决方案
SanDisk的解决方案:一款专为大规模ANN向量搜索设计的、软硬件一体的计算存储(Computational Storage)加速器。
这个方案的创新之处在于,它从根本上解决了之前讨论的行业痛点:
===
右侧:硬件架构图
这是一个计算存储设备(Computational Storage Device)的高度抽象示意图,可能是一个PCIe卡或U.2/E1.S等形态的SSD。其内部主要组件包括:
Note
计算型存储概念早就提出,Samsung 在该领域倡议的比较多,从减少数据移动、加解密增强、重删压缩等多个场景讨论过 在端侧存储设备上增强计算能力,来优化数据密集型场景的IO负担,试图在大数据和企业高性能存储场景拓宽市场。但一直没有规模化的市场推动,SanDisk 结合ANN在大容量索引场景计算型存储构想,拓宽了行业内对计算型存储的认知。

相比市场现有产品的优势
左侧区域:相比CPU方案的优势
优势 | 描述 | 解释 |
|---|---|---|
Parallelism (并行性) | “多个计算单元并发运行,与CPU的顺序执行相比,极大地提升了吞吐量。” | SanDisk的设备内置了大量并行的专用计算单元,可以同时处理多个计算任务。而CPU虽然有多核,但在处理这类负载时,其并行效率和规模远不及这种专用硬件设计,因此SanDisk方案的查询吞吐量(QPS)会高得多。 |
Specialized Hardware (专用硬件) | “数据流在计算单元中完全通过硬件路径处理,其相似度计算的速度超越了CPU。” | 向量的距离计算等核心操作是由固化的硬件电路(ASIC或FPGA)来执行的,而非在通用CPU上运行软件指令。这种硬件化的执行路径消除了软件开销,使得单次计算的速度和效率远超通用处理器。 |
Lower Power Consumption (更低功耗) | “为特定任务量身定制的硬件,在运行相同工作负载时,比通用CPU实现了更高的每瓦性能(performance-per-watt)。” | 专用硬件只做一件事,并为此进行了极致优化,因此其能源效率非常高。相比之下,通用CPU为了处理各种任务而设计得非常复杂和耗电。在向量搜索这个特定场景下,SanDisk的方案能用更少的电力完成更多的工作,这直接关系到数据中心的运营成本(电费和散热)。 |
Reduced Data Movement (减少数据移动) | “本地缓存和直接内存访问(DMA)最大限度地减少了CPU内存体系中固有的延迟和带宽瓶颈。” | 这是计算存储架构的核心优势。通过在存储设备内部进行计算,避免了数据从SSD经过PCIe总线传输到系统DRAM,再加载到CPU缓存的漫长路径。数据移动的距离被大大缩短,从而显著降低了延迟,并减少了对系统总线带宽的占用。 |
右侧区域:相比GPU方案的优势
标题 | 描述 | 解释 |
|---|---|---|
降低单次搜索的总拥有成本 | “通过将图索引存储在NAND中,我们的解决方案在不牺牲扩展性的前提下,显著降低了单次搜索的内存和计算成本。” | 这是最关键的商业价值主张。GPU方案的致命弱点是要求整个索引必须放入昂贵且容量有限的GPU显存(VRAM)中。SanDisk的方案将索引主体存放在成本极低、容量巨大的NAND闪存上。这意味着用户可以用远低于购买高端GPU的成本来部署能够支持海量数据集的向量搜索系统,从而极大地降低了总拥有成本(TCO),同时还能轻松扩展到更大的数据规模。 |

总结与展望
延伸思考
这次分享的内容就到这里了,或许以下几个问题,能够启发你更多的思考,欢迎留言,说说你的想法~
原文标题:Lowering TCO of Vector Search in Al With Flash-Driven Efficiency[1] by VISHWAS SAXENA,SENIOR TECHNOLOGIST, AABHA MISHRA,SENIOR ENGINEER
Notice:Human's prompt, Datasets by Gemini-2.5-Pro
#FMS25 #RAG和语义搜索
---【本文完】---
👇阅读原文,独立站提前更新🚀(测试中)🧪