UC Berkeley 开源向量索引 LEANN,将 60M chunk 的 RAG 索引从 201 GB 压缩到 6 GB
UC Berkeley 开源向量索引 LEANN 将 60M chunk 的 RAG 索引从 201 GB 压缩到 6 GB
UC Berkeley Sky Computing Lab 开源向量索引 LEANN,在查询时重算嵌入而不存储向量,仓库基准显示 60M chunk 的 Wikipedia 索引从 201 GB 降到 6 GB。
MarkTechPost· Asif Razzaq·2026-10-28 05:54· 3 小时前AI 评分75
认识 LEANN:一个开源向量索引,将 6000 万块的 RAG 索引从 201 GB 缩小到 6 GB
AI 导读
UC Berkeley Sky Computing Lab 开源了向量索引 LEANN,通过在查询时重算嵌入而非存储向量,把 60M chunk 的 Wikipedia 索引从 201 GB 压缩到 6 GB。
正文 · 原文
UC Berkeley 的 Sky Computing Lab 构建了 LEANN,一个几乎不存储嵌入的开源向量索引。LEANN 向量索引在查询时重新计算嵌入,而不是将它们保存到磁盘。仓库基准测试显示,一个 6000 万块的 Wikipedia 索引从 201 GB 降至 6 GB。该研究论文获得了 MLSys 2026 最佳研究论文奖。因此,它让语义搜索和 RAG 能够在笔记本电脑上处理个人数据。
TL;DR
- 大小:6000 万块为 6 GB(仓库);在论文的 76 GB Wikipedia 设置中为 4 GB。默认嵌入器:Contriever(1.1 亿参数)。它是一个索引,不是 LLM,因此不适用上下文长度。
- 运行于:笔记本电脑和工作站。论文测试了一台配备 32 GB RAM 的 RTX 4090 机器和一台 M1 Ultra Mac。存在仅 CPU 的 Linux 安装,但没有公布 CPU 延迟。
- 性能:在 90% 召回率下,下游准确率与 HNSW 相当,使用的存储不到原始数据的 5%。
- 最佳:NQ 准确率 25.5%,与 HNSW 相同,使用 4 GB 而非 188 GB。
- 最差:HotpotQA 检索在 Mac 上耗时 44.80 秒,占整个流水线时间的 50.1%。
什么是 LEANN?
LEANN 是构建在 FAISS 之上的低存储近似最近邻(ANN)索引。它针对一个问题:向量索引通常比它们索引的数据更大。研究论文显示,一个 76 GB 的语料库需要 173 GB 的嵌入加上 15 GB 的 HNSW 图。这使原始数据增加了一倍多。
LEANN 保留一个剪枝后的图,丢弃完整向量,并按需重建它们。代码采用 MIT 许可证,可通过 uv pip install leann 安装。
LEANN 如何在不阻塞搜索的情况下重新计算嵌入?
像 HNSW 这样的图索引每次查询只访问一小部分节点。LEANN 利用了这一点。它存储图加上一个紧凑的乘积量化(PQ)表。在查询时,它只重新嵌入搜索路径上的节点。
3 项技术使其保持实用:
- 两级搜索:先用廉价的 PQ 距离对邻居进行排序。只有排名靠前的候选者才会进行精确重算。
- 动态批处理:来自多跳的候选者被分组,例如一次 64 个,以提高 GPU 效率。
- 高度保持剪枝:大多数节点保留少量边,而前 2% 的“枢纽”节点保留更多边。
在消融实验中,两级搜索平均带来 1.4 倍加速。加入批处理后提升至 1.8 倍。嵌入重算仍占查询延迟的约 76%。
LEANN 在基准测试中的表现如何?
研究团队针对 6000 万段落的 RPJ-Wiki 数据存储测试了 NQ、TriviaQA、GPQA 和 HotpotQA。延迟在 90% Recall@3 下测量。以下所有数据均为研究论文中的自报数据。
在 NQ 上,使用 RTX 4090 上的 Qwen3-4B,LEANN 和 HNSW 均达到 25.5% 的下游准确率。LEANN 使用 4 GB 存储。HNSW 使用 188 GB。BM25 得分为 18.3%,PQ 压缩得分为 17.9%。
代价是搜索时间。LEANN 检索在 NQ 上耗时 2.48 秒,而 HNSW 为 0.05 秒。生成约需 20 秒,因此端到端延迟从 20.95 秒升至 23.34 秒。
在 RTX 4090 上的各数据集中,LEANN 检索耗时从 1.12 秒(GPQA)到 7.12 秒(HotpotQA)不等。受 EdgeRAG 启发的基于 IVF 的重计算基线最多慢 200 倍。LEANN 相比 BM25 将精确匹配率最高提升 11.8%。
GitHub 仓库报告在个人数据上也有类似的节省。40 万条聊天消息从 1.8 GB 缩减至 64 MB。3.8 万条浏览器记录从 130 MB 缩减至 6.4 MB。
LEANN 与其他向量索引对比
| 特性 | LEANN | HNSW (FAISS) | DiskANN | IVF-Recompute(EdgeRAG 风格) | PQ 压缩 |
|---|---|---|---|---|---|
| 方法 | 剪枝图,按需重计算 | 图加全部向量驻留内存 | 图与向量存于 SSD,PQ 存于内存 | IVF 聚类,按需重计算 | 压缩向量加图 |
| 存储,76 GB 语料库 | 4 GB | 188 GB | 270 GB | 低于原始数据的 5% | 20 GB |
| NQ 检索,90% 召回率(RTX 4090) | 2.48 秒 | 0.05 秒 | 0.03 秒 | 307.61 秒 | 无法达到 90% |
| HotpotQA 检索,90% 召回率(RTX 4090) | 7.12 秒 | 0.05 秒 | 0.11 秒 | 429.46 秒 | 无法达到 90% |
| NQ 下游准确率(Qwen3-4B) | 25.5% | 25.5% | 未披露 | 未披露 | 17.9% |
| 可运行于 32 GB 内存工作站 | 是 | 否(OOM) | 是 | 是 | 是 |
| 许可证 | MIT | MIT | MIT | 未披露 | 因实现而异 |
存储、延迟与准确率数据来自 LEANN 论文 v2 的表 1、表 2 及第 7.2 节(自报数据)。许可证与设计行链接至各项目自身来源。
开发者可以在哪里使用 LEANN?
该仓库提供了面向文档、Apple Mail、Chrome 历史记录、微信、iMessage 以及 ChatGPT 或 Claude 导出内容的现成应用。MCP 读取器可从 Slack 和 Twitter 书签拉取实时数据。LEANN 还可作为 Claude Code 的语义搜索 MCP 服务器运行。
在 ContextBench 的 30 个 SWE-Bench Pro 任务上,团队报告初始相关代码召回率为 24.2%,而 BM25 为 11.4%。该智能体还少用了 8.4% 的 token。
HNSW 是默认后端,DiskANN 用于更快的搜索。生成支持 Ollama、Hugging Face、Anthropic 或任何兼容 OpenAI 的 API。它支持 Ubuntu、Arch、WSL、macOS 和 Windows。部分应用(如 Apple Mail 搜索)仅限 macOS。
要点总结
- LEANN 存储剪枝图,并在查询时重计算嵌入。
- 6000 万块:在仓库基准测试中从 201 GB 降至 6 GB。
- 在 90% 召回率下达到与 HNSW 相当的准确率(NQ 上 25.5%)。
- 搜索需数秒:NQ 上为 2.48 秒,而 HNSW 为 0.05 秒。
- MIT 许可,并获 MLSys 2026 最佳研究论文。
查看 论文、GitHub 仓库和 PyPI 包。另外,欢迎在 Twitter 上关注我们,别忘了加入我们的 15 万+ 机器学习 SubReddit 并订阅 我们的新闻简报。等等!你在 Telegram 上吗?现在你也可以在 Telegram 上加入我们了。
需要与我们合作推广你的 GitHub 仓库、Hugging Face 页面、产品发布或网络研讨会等?联系我们
文章 Meet LEANN:一个将 6000 万块 RAG 索引从 201 GB 缩减至 6 GB 的开源向量索引 首发于 MarkTechPost。
来源:MarkTechPost · marktechpost.com
来源:RadarAI · aihot.news