把向量检索从纯内存搬到全闪存上,还要吞下同等量级的吞吐——这话若放在两年前,绝大多数做搜索和推荐架构的人会觉得你在讲笑话。但小红书引擎架构团队不仅干了,还把结果写进了 OSDI 2026。他们搞出来的 HELMSMAN 系统,用大约 40 台全闪存服务器,担起了以前需约 35,000 CPU Core 和约 350 TB DRAM 才能扛住的 近似最近邻搜索 负载,硬件成本直接砍掉九成以上。这不是一次算法小修小补,而是对整个检索基建的成本结构动了刀子。
DRAM 堆砌的玩法,终于有人不耐烦了
天价内存集群,有多烫手
向量检索早就不是新鲜事。推荐、搜索、多模态匹配,底层十有八九都在跑 ANN。而业界主流做法极度粗暴:把全量向量塞进内存,用 CPU 或 GPU 暴力算。索引大了?加机器。内存不够?再加。于是一个中等规模业务动辄几百 TB 的 DRAM 集群,成千上万 CPU 核心在那空转着等数据喂。这账算起来肉疼——DRAM 贵,功耗高,机架密度被内存槽限制得死死的。小红书遇到的更是一记闷棍:业务向量规模膨胀速度远超预算增速,老路子根本走不下去。
把全闪存拉上牌桌,跨过的不止是延迟
那怎么办?磁盘便宜,但 HDD 的随机读延迟直接判死刑。NVMe 全闪存呢?顺序带宽漂亮,可随机小 I/O 遇上暴力扫描一样的 ANN 查询,照样被虐得灰头土脸。所以过去大家都默认:全闪存服务器 做向量检索,只能是离线批处理或者冷数据归档。HELMSMAN 偏不信邪。它没去赌硬件奇迹,而是从索引结构、存储栈到查询策略,整套系统为闪存重新长了一遍。延迟敏感?那就让每次查询碰尽可能少的数据块。带宽浪费?那就让闪存按自己最舒服的方式被读写。
HELMSMAN 的三把手术刀,刀刀冲着成本去
聚类索引不再只图快,还图省
传统图索引或者 IVF 类结构,内存吃紧,落到盘上就原形毕露——乱序读取能把 NVMe 的 IOPS 榨干,延迟却飙升。HELMSMAN 用的 聚类式索引 精打细算:先把向量空间切分成紧凑的簇,每个簇内部数据高度局部化。这样查询一来,只需触碰极少量簇的数据块,而不是满盘乱找。更重要的是,簇的元数据极小,常驻内存绰绰有余,大批量向量本体则老老实实躺在闪存里,随用随取。这步一改,随机读的数量断崖式下降。
定制存储栈,说白就是别让闪存瞎忙
光有索引还不够。通用文件系统和块层那一套缓存预读、日志写放大,对闪存全是拖油瓶。HELMSMAN 直接端掉中间商,自己搞了一个面向向量数据的 定制化存储栈。读写全部走 direct I/O,对齐闪存页大小,调度完全由系统自身的查询节奏控制。它甚至根据查询访问模式动态调整数据布局,把热点簇往闪存通道上散开,防止局部磨损和带宽争抢。这番工程脏活累活做下来,单台全闪存服务器的有效吞吐才真正逼近了线缆上限。
分层学习式剪枝,搜得更聪明而不是更累
暴力扫描之所以吃资源,是因为它假设每个向量都有可能成为答案。但实际查询里,大量计算都浪费在明显不相关的候选上。HELMSMAN 嵌入了一套 分层学习式剪枝 模型:轻量级的第一层筛子用极低成本过滤掉绝大多数无关簇,只有高置信度的候选才进入下一层更精细的重排序。这层学习的不是死规则,而是从历史查询日志里学到了“什么样的簇在什么条件下值得深挖”。效果很直接——计算量陡降,闪存读取量跟着大缩,整套系统开始喘得过气。
给再漂亮的实验数据泼盆冷水:生产环境才是终局
40 台机器真吞下了旧集群,但魔鬼在细节里
论文数据确实硬气。原本需要数百台高内存机型的集群,被压缩到 40 台上下全闪存机器,DRAM 总量从 350 TB 级别缩至几十 TB,CPU 核心数也被一并解放。吞吐量没垮,延迟 p99 在可接受范围。但你我都知道,实验室压测跟线上洪峰是两码事。小红书的实践细节透露了关键:他们花了大量精力在预热策略、突发负载下的流量整形,以及索引动态增量构建上。全闪存最怕写入放大和读延迟抖动,而这些只有在真实推荐流和搜索场景里磨上好几个月才能驯服。没有这层生产淬炼,再好的设计也不过是漂亮的白板。
延迟到底行不行?话得分两头说
有人会揪住延迟不放:内存查一次几十微秒,闪存动辄几百微秒甚至毫秒级,怎么比?HELMSMAN 的解法不是硬碰硬。它在业务允许的 SLO 内做文章——推荐场景多数查询并不需要极致的个位数毫秒延迟,而是要求高吞吐、高召回率。系统用并行预取和异步调度把等待时间藏进计算流水线里,让后端延迟的统计分布而非绝对值成为可控指标。换句话说,它把“足够好”的延迟压到了极致便宜。这不是妥协,是工程上清醒的成本收益算账。
成本打一折,格局可能被掀翻
云账单要重写,硬件选型也得换剧本
HELMSMAN 的出现,等于给所有烧钱养 DRAM 集群的团队递了把钥匙。以前选型时,内存向量库和磁盘方案中间横着一条鸿沟,现在全闪存把界线踩模糊了。云上实例的成本模型同样会被冲击——高内存、多核心的贵价机型不再是必选项,存储密集型实例加上薄薄一层内存缓存,就能撑起原先的检索规模。小红书内部算过,这波操作后硬件和云成本降幅超过 90%,对于搜索推荐这类资源吞噬兽而言,释放出的预算足以重构整个技术路线图。
开源露出冰山一角,但争的不是代码
HELMSMAN 的代码已经公开,这步走得聪明。向量检索的开源生态不缺算法库,缺的是把算法和硬件特性焊死在一定的系统工程范本。它给出的不仅是代码,更是一种“全闪存优先”的架构思路。后续社区跟进和模仿几乎可以预见。不过这背后真正的门槛并不在代码本身,而在对自身存储栈、索引结构和剪枝策略的耦合打磨。照搬一个系统容易,照搬一套面对线上乱流依然稳得住的工程经验,几乎不可能。于是小红书的先发优势,还会多停留一阵。
从 DRAM 迷信到全闪存落地,HELMSMAN 证明了一件事:思维惯性才是最大的沉没成本。当所有人都在往算法层卷的时候,有人退一步把硬件和存储栈重新焊了一遍,结果卷出了十倍的性价比。这或许是 OSDI 2026 这篇论文带给行业最狠的一个信号。

