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。

最差:在 Mac 上 HotpotQA 检索耗时 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 上,使用 Qwen3-4B 在 RTX 4090 上运行,LEANN 和 HNSW 均达到 25.5% 的下游准确率。LEANN 使用 4 GB 存储。HNSW 使用 188 GB。BM25 得分为 18.3%,PQ 压缩得分为 17.9%。

代价是搜索时间。LEANN 在 NQ 上的检索耗时 2.48 s,而 HNSW 为 0.05 s。生成耗时约 20 s,因此端到端延迟从 20.95 s 升至 23.34 s。

在 RTX 4090 上的各数据集中,LEANN 检索耗时从 1.12 s(GPQA)到 7.12 s(HotpotQA)不等。受 EdgeRAG 启发的基于 IVF 的重计算基线最多慢 200 倍。LEANN 相比 BM25 将精确匹配最多提升 11.8%。

GitHub 仓库报告在个人数据上也有类似的节省。40 万条聊天消息从 1.8 GB 缩减至 64 MB。3.8 万条浏览器记录从 130 MB 缩减至 6.4 MB。

LEANN 与其他向量索引对比

特性LEANNHNSW (FAISS)DiskANNIVF-Recompute(EdgeRAG 风格)PQ 压缩方法剪枝图,按需重计算图加全部向量驻留内存图与向量存于 SSD,PQ 驻留内存IVF 聚类,按需重计算压缩向量加图存储,76 GB 语料4 GB188 GB270 GB低于原始数据的 5%20 GBNQ 检索 @ 90% 召回(RTX 4090)2.48 s0.05 s0.03 s307.61 s无法达到 90%HotpotQA 检索 @ 90% 召回(RTX 4090)7.12 s0.05 s0.11 s429.46 s无法达到 90%NQ 下游准确率(Qwen3-4B)25.5%25.5%未披露未披露17.9%适配 32 GB 内存工作站是否(OOM)是是是许可证MITMITMIT未披露因实现而异

存储、延迟和准确率数据来自 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 万+ 的 ML SubReddit 并订阅我们的新闻通讯。等等!你在 Telegram 上吗?现在你也可以在 Telegram 上加入我们。

需要与我们合作推广你的 GitHub 仓库、Hugging Face 页面、产品发布或网络研讨会等?联系我们

文章《Meet LEANN: An Open-Source Vector Index that Shrinks a 60M-Chunk RAG Index from 201 GB to 6 GB》首发于 MarkTechPost。