The Clustering Strikes Back: Building Cost-Effective and High-Performance ANNS at Scale with Helmsman
大规模向量检索一直放在内存里跑 HNSW,因为 SSD 太慢。小红书的经验是,SSD 慢主要慢在图索引一步等一步的串行读:召回要上千个候选时,改用聚类索引,先在内存里选好要读的簇,再一次性把读请求全部发出去,多块高速 SSD 的带宽就能接近内存方案。线上约 40 台全闪存服务器接下了原来约 35,000 个 CPU 核的内存集群。代价也要看清:同一台机器上,它的吞吐只有内存 HNSW 的四分之一到七成,省钱主要靠 DRAM 用量少了一个数量级,而且前提是 top-k 大、召回率要求不极端。SSD 上的检索快不快,主要看读请求之间有没有依赖。