加州大学伯克利分校的 Sky Computing Lab 已构建 LEANN,一个几乎不存储嵌入的开源向量索引。LEANN 向量索引在查询时重新计算嵌入,而不是将它们保存到磁盘。该 repo 基准测试 展示了6000万条目的Wikipedia索引从201 GB下降到6 GB。该研究 论文 获得了 MLSys 2026最佳研究论文奖。因此,它在一台笔记本电脑上实现了针对个人数据的语义搜索和 RAG。
简而言之
- 尺寸: 6 GB(针对 60M 分块(仓库); 4 GB(在 论文的 76 GB 的 Wikipedia 数据集。默认嵌入器:Contriever(110M 参数)。它是一个索引,而非大语言模型,因此不适用上下文长度限制。
- 运行环境: 笔记本电脑和工作站。论文测试了一台配备32 GB内存的RTX 4090机器和一台M1 Ultra Mac。存在仅支持CPU的Linux安装版本,但未公布CPU延迟数据。
- 性能: 在90%召回率下达到与HNSW相当的下游准确率,使用的原始数据存储量低于5%。
- 最佳情况: 25.5%的NQ准确率,与HNSW完全相同,仅使用4 GB而非188 GB。
- 最差情况: 在Mac上HotpotQA检索耗时44.80秒,占整个流程时间的50.1%。
什么是LEANN?
LEANN是一种低存储量的近似最近邻(ANN)索引,构建于 FAISS。它针对一个问题:向量索引往往比它们所索引的数据还要大。该 研究论文 显示一个 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 在基准测试中的表现如何?
研究团队在60M段落规模的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)之间。受其启发的基于IVF的重计算基线, EdgeRAG,最多慢200倍。LEANN将精确匹配的准确率较BM25提升了最多11.8%。
GitHub 仓库 报告了在个人数据上的类似节省效果。400K条聊天消息从1.8 GB缩小到64 MB。38K条浏览器条目从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 内存工作站 | 是 | 否(内存溢出) | 是 | 是 | 是 |
| 许可证 | 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 存储修剪后的图,并在查询时重新计算嵌入。
- 60M 块:在仓库基准测试中从 201 GB 降至 6 GB。
- 在 90% 召回率下匹配 HNSW 准确率(NQ 上为 25.5%)。
- 搜索耗时以秒计:在 NQ 上为 2.48 s,而 HNSW 为 0.05 s。
- 采用 MIT 许可证,并获 MLSys 2026 最佳研究论文。
欢迎查看 论文, GitHub 仓库 以及 PyPI 包。另外,欢迎在 Twitter 上关注我们,别忘了加入我们的 150k+ML SubReddit 并订阅 我们的简报等等!你在用 Telegram 吗? 现在你也可以在 Telegram 上加入我们了。
需要与我们合作推广你的 GitHub 仓库或 Hugging Face 页面或产品发布或网络研讨会等? 与我们联系
这篇文章 Meet LEANN:一个开源向量索引,可将包含60M分块的RAG索引从201 GB缩减到6 GB 首发于 MarkTechPost.