快讯

US 美国10-28 05:54⏱ 4 分钟

认识 LEANN:把 6000 万分块 RAG 索引从 201 GB 压缩到 6 GB 的开源向量索引

UC Berkeley 的 LEANN 向量索引只存一棵剪枝后的图,并在查询时重新计算嵌入。它在 90% 召回率下达到与 HNSW 相当的准确率,只需 4 GB 而非 188 GB,代价是秒级搜索耗时。

UC Berkeley 的 Sky Computing Lab 构建了 LEANN——一个几乎不存储任何嵌入向量的开源向量索引。LEANN 不把嵌入保存到磁盘,而是在查询时重新计算。仓库基准测试显示,一个 6000 万分块的 Wikipedia 索引从 201 GB 缩减到 6 GB。其研究论文获得了 MLSys 2026 最佳研究论文奖。也就是说,它把覆盖个人数据的语义搜索和 RAG 带到了笔记本电脑上。

LEANN 是构建在 FAISS 之上的低存储近似最近邻(ANN)索引。它瞄准一个问题:向量索引往往比被索引的数据本身还大。研究论文显示,一个 76 GB 的语料库需要 173 GB 的嵌入向量外加 15 GB 的 HNSW 图——是原始数据的两倍多。

LEANN 保留一棵剪枝后的图,丢弃完整向量,并按需重建它们。代码采用 MIT 许可,通过 uv pip install leann 安装。

HNSW 这类图索引在每次查询中只访问少量节点,LEANN 正是利用了这一点。它存储图结构外加一张紧凑的乘积量化(PQ)表。查询时,它只对搜索路径上的节点重新嵌入。

三项技术让这一切切实可行:

在消融实验中,两级搜索带来平均 1.4 倍的加速;加入批处理后提升到 1.8 倍。嵌入重算仍占查询延迟的约 76%。

研究团队在 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 论文 v2 的表 1、表 2 和第 7.2 节(自报数据)。许可证与设计条目链接到各自项目的原始出处。

该仓库自带面向文档、Apple Mail、Chrome 历史记录、微信(WeChat)、iMessage 以及 ChatGPT 或 Claude 导出记录的现成应用。MCP 读取器可从 Slack 和 Twitter 书签拉取实时数据。LEANN 还能作为面向 Claude Code 的语义搜索 MCP 服务器运行。

在 ContextBench 的 30 个 SWE-Bench Pro 任务上,团队报告初始相关代码召回率为 24.2%,BM25 为 11.4%;智能体使用的 token 还减少了 8.4%。

HNSW 是默认后端,另有 DiskANN 可换取更快搜索。生成可搭配 Ollama、Hugging Face、Anthropic 或任何 OpenAI 兼容 API。它支持 Ubuntu、Arch、WSL、macOS 和 Windows;部分应用(如 Apple Mail 搜索)仅限 macOS。

论文、GitHub 仓库和 PyPI 包请见原文链接。

本页为站内快照,仅作聚合阅读;内容来自公开网络,版权归原作者所有。