伯克利 LEANN 向量索引:6000 万块从 201GB 压到 6GB

10 月 27 日,加州大学伯克利 Sky Computing Lab 开源向量索引 LEANN,把 6000 万文本块的 RAG 索引从 201 GB 压到 6 GB,相关论文拿到 MLSys 2026 最佳研究论文奖。

存图不算向量

标准做法要存下全部稠密向量。76 GB 英文维基快照的 6000 万段落,用 768 维 float32 嵌入要占 173 GB,加上 HNSW 图指针 15 GB,总体积落在 188 至 201 GB,比原始语料本身还大一倍。LEANN 建立在 FAISS 之上,只保留剪枝后的图拓扑和一张轻量乘积量化查找表,查询时用便宜的量化距离估计在图上导航,再把得分最高的候选段落批量丢给 GPU 实时重算嵌入。索引体积因此只跟图的边数有关,与向量维度无关。

精度对齐与延迟代价

在 RTX 4090 加 32 GB 内存的工作站上,LEANN 在 Recall@3 达到 90% 时把 Natural Questions 准确率做到 25.5%,与未压缩的 201 GB HNSW 完全一致,存储只占 4 GB,而 HNSW 要 188 GB;同场 BM25 是 18.3%,PQ 压缩是 17.9%。代价落在延迟上,NQ 检索 2.48 秒对 HNSW 的 0.05 秒,端到端从 20.95 秒涨到 23.34 秒。M1 Ultra 上 HotpotQA 检索要 44.8 秒,占整条流水线一半时间。检索质量之外的重排取舍,站内这篇 Cohere Rerank 5是另一条省钱路径。

个人数据与编码智能体

仓库给出的个人数据降幅同样醒目,40 万条聊天记录从 1.8 GB 降到 64 MB,3.8 万条浏览器历史从 130 MB 降到 6.4 MB。随包发布的应用覆盖文档、Apple 邮件、Chrome 历史、微信、iMessage,以及 ChatGPT 或 Claude 的导出记录,还有读取 Slack 与推特书签的 MCP reader,也能作为 Claude Code 的语义搜索 MCP 服务。SWE-Bench Pro 上首轮相关代码召回 24.2%,BM25 只有 11.4%,智能体还少用了 8.4% 的 token。

MIT 协议,支持 Ubuntu、Arch、WSL、macOS 与 Windows,CPU-only 安装可用,不过官方没给 CPU 延迟数据。