Sakhanda Wire
NVDA $217.94 +0.90% MSFT $531.33 -0.24% GOOGL $320.58 +1.19% META $620.19 -1.64% AMZN $253.10 +1.61%
← Към новините

Запознайте се с LEANN: векторен индекс с отворен код, който свива RAG индекс от 60 млн. фрагмента от 201 GB до 6 GB

Лабораторията Sky Computing Lab на UC Berkeley създаде LEANN — векторен индекс с отворен код, който съхранява почти никакви embeddings. Векторният индекс LEANN преизчислява embeddings при изпълнение на заявката, вместо да ги записва на диска. Бенчмаркът в хранилището показва, че индекс на Wikipedia с 60 милиона фрагмента намалява от 201 GB на 6 GB. Научната статия спечели наградата за най-добра научна статия на MLSys 2026. Така семантичното търсене и RAG върху лични данни могат да се изпълняват на лаптоп.

Накратко

  • Размер: 6 GB за 60M фрагмента (хранилище); 4 GB в конфигурацията на статията с 76 GB Wikipedia. Embedding модел по подразбиране: Contriever (110M параметъра). Това е индекс, а не LLM, така че няма ограничение за дължината на контекста.
  • Работи на: лаптопи и работни станции. Статията тества система с RTX 4090 и 32 GB RAM, както и Mac с M1 Ultra. Съществува инсталация само за CPU под Linux, но няма публикувани данни за латентността на CPU.
  • Производителност: постига точност като HNSW при 90% recall, използвайки под 5% от хранилището на необработените данни.
  • Най-добър резултат: 25,5% точност на NQ, идентична с HNSW, при използване на 4 GB вместо 188 GB.
  • Най-слаб резултат: извличането от HotpotQA отнема 44,80 s на Mac и представлява 50,1% от общото време на конвейера.

Какво представлява LEANN?

LEANN е ANN индекс за приблизително търсене на най-близки съседи с ниски изисквания към хранилището, изграден върху FAISS. Той е насочен към един проблем: векторните индекси често са по-големи от данните, които индексират. Научната статия показва, че корпус от 76 GB изисква 173 GB embeddings плюс 15 GB HNSW граф. Това повече от удвоява необработените данни.

LEANN съхранява съкратен граф, премахва пълните вектори и ги възстановява при поискване. Кодът е с MIT лиценз и се инсталира с uv pip install leann.

Как LEANN преизчислява embeddings, без да забавя търсенето?

Графовите индекси като HNSW посещават само малък набор от възли за всяка заявка. LEANN се възползва от това. Той съхранява графа заедно с компактна таблица за продуктова квантизация (PQ). При изпълнение на заявката той генерира отново embeddings само за възлите по пътя на търсенето.

3 техники правят това практично:

  • Двустепенно търсене: евтините PQ разстояния първо подреждат съседите. Само водещите кандидати се преизчисляват точно.
  • Динамично пакетиране: кандидатите от няколко прехода се групират, например по 64 наведнъж, за по-добра ефективност на GPU.
  • Съкращаване със запазване на възлите с висока степен: повечето възли запазват малко ребра, докато водещите 2% „хъбове“ запазват повече.

При аблационните тестове двустепенното търсене осигурява средно 1,4-кратно ускорение. Добавянето на пакетиране увеличава ускорението до 1,8 пъти. Преизчисляването на embeddings все още представлява около 76% от латентността на заявката.

Как се представя LEANN в бенчмарковете?

Изследователският екип тества NQ, TriviaQA, GPQA и HotpotQA спрямо хранилище RPJ-Wiki с 60 милиона пасажа. Латентността е измерена при 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 отнема 2,48 s при NQ спрямо 0,05 s за HNSW. Генерирането отнема около 20 s, така че латентността от край до край нараства от 20,95 s на 23,34 s.

При различните набори от данни и RTX 4090 извличането с LEANN варира от 1,12 s (GPQA) до 7,12 s (HotpotQA). Базовият метод за преизчисляване, базиран на IVF и вдъхновен от EdgeRAG, е до 200 пъти по-бавен. LEANN подобрява exact match с до 11,8% спрямо BM25.

Хранилището в GitHub отчита сходни икономии при лични данни. 400K чат съобщения намаляват от 1,8 GB на 64 MB. 38K записи от браузър намаляват от 130 MB на 6,4 MB.

LEANN спрямо други векторни индекси

ХарактеристикаLEANNHNSW (FAISS)DiskANNIVF-Recompute (в стил EdgeRAG)PQ компресия
ПодходСъкратен граф, преизчисляване при поискванеГраф плюс всички вектори в RAMГраф и вектори на SSD, PQ в RAMIVF клъстери, преизчисляване при поискванеКомпресирани вектори плюс граф
Хранилище, корпус от 76 GB4 GB188 GB270 GBПод 5% от необработените данни20 GB
Извличане от NQ при 90% recall (RTX 4090)2,48 s0,05 s0,03 s307,61 sНе достига 90%
Извличане от HotpotQA при 90% recall (RTX 4090)7,12 s0,05 s0,11 s429,46 sНе достига 90%
Точност надолу по веригата при NQ (Qwen3-4B)25,5%25,5%Не е разкритаНе е разкрита17,9%
Побира се в работна станция с 32 GB RAMДаНе (OOM)ДаДаДа
ЛицензMITMITMITНе е разкритВарира според реализацията

Данните за хранилището, латентността и точността са взети от статията за LEANN, версия 2, таблици 1 и 2 и раздел 7.2 (самостоятелно докладвани). Редовете за лиценза и дизайна водят към собствените източници на всеки проект.

Къде разработчиците могат да използват LEANN?

Хранилището включва готови приложения за документи, Apple Mail, историята в Chrome, WeChat, iMessage и експорти от ChatGPT или Claude. MCP четците извличат актуални данни от отметки в Slack и Twitter. LEANN работи и като MCP сървър за семантично търсене за Claude Code.

При 30 задачи от SWE-Bench Pro в ContextBench екипът отчита 24,2% първоначален recall на релевантния код спрямо 11,4% за BM25. Агентът е използвал и с 8,4% по-малко токени.

HNSW е бекендът по подразбиране, а DiskANN се използва за по-бързо търсене. Генерирането работи с Ollama, Hugging Face, Anthropic или всеки API, съвместим с OpenAI. Поддържа Ubuntu, Arch, WSL, macOS и Windows. Някои приложения, като търсенето в Apple Mail, са достъпни само за macOS.

Основни изводи

  • LEANN съхранява съкратен граф и преизчислява embeddings при изпълнение на заявката.
  • 60M фрагмента: от 201 GB до 6 GB в бенчмарка на хранилището.
  • Постига точност като HNSW (25,5% при NQ) при 90% recall.
  • Търсенето отнема секунди: 2,48 s спрямо 0,05 s за HNSW при NQ.
  • MIT лиценз и награда за най-добра научна статия на MLSys 2026.

Разгледайте статията, хранилището в GitHub и пакета в PyPI. Също така, можете да ни последвате в Twitter и не забравяйте да се присъедините към нашия ML SubReddit с над 150k членове и да се абонирате за нашия бюлетин. Чакайте! В Telegram ли сте? Вече можете да се присъедините към нас и в Telegram.

Имате нужда от партньор за популяризиране на вашето GitHub хранилище ИЛИ страница в Hugging Face ИЛИ представяне на продукт ИЛИ уебинар и т.н.? Свържете се с нас

Преведено автоматично от английски. Оригиналната статия е на връзката по-долу.

Първоначално публикувано от MarkTechPost на

Прочетете оригинала в MarkTechPost ↗

Текстът и изображенията са собственост на MarkTechPost и са възпроизведени тук с посочване на авторството и връзка към оригиналната публикация.

← Към новините

Още новини

Всички последни новини