Индекс LEANN сжимает RAG-индекс в 30 раз: 6 ГБ вместо 201 ГБ за счёт пересчёта эмбеддингов
Лаборатория Sky Computing Lab из UC Berkeley разработала LEANN — открытый векторный индекс, который почти не хранит эмбеддинги. Вместо этого он пересчитывает их на лету во время поиска. В бенчмарке на 60 миллионах чанков Wikipedia размер индекса сократился с 201 ГБ до 6 ГБ. Работа получила награду Best Research Paper на конференции MLSys 2026.
LEANN построен поверх FAISS и решает проблему, когда векторные индексы занимают больше места, чем сами данные. Например, корпус на 76 ГБ требует 173 ГБ эмбеддингов и 15 ГБ графа HNSW — более чем вдвое больше исходных данных. LEANN хранит только разреженный граф и компактную таблицу Product Quantization (PQ), а полные вектора восстанавливает по мере необходимости.
Чтобы пересчёт не тормозил поиск, используются три приёма: двухуровневый поиск (сначала дешёвые PQ-расстояния, затем точный пересчёт для лучших кандидатов), динамическая пакетная обработка (кандидаты с нескольких шагов группируются, например по 64, для эффективной работы GPU) и обрезка графа с сохранением высокой степени у «хабовых» узлов (верхние 2% узлов хранят больше связей). В итоге пересчёт эмбеддингов занимает около 76% времени запроса.
По точности LEANN сопоставим с HNSW: при 90% recall использует менее 5% памяти от сырых данных. На наборе NQ точность 25,5% — идентично HNSW, но при 4 ГБ вместо 188 ГБ. На HotpotQA на Mac время retrieval составило 44,8 секунды (50,1% всего пайплайна). Код опубликован под лицензией MIT, установка через pip install leann. Индекс работает на ноутбуках и рабочих станциях — тестировали на RTX 4090 с 32 ГБ RAM и M1 Ultra Mac.