LEANN: крошечный и экономный ANN-индекс для персонального ИИ
'LEANN — хранительно-экономный ANN-индекс, который вычисляет эмбеддинги на лету и сокращает размер индекса ниже 5% без значительной потери точности.'
Почему важна экономия места в векторном поиске
Поиск на основе эмбеддингов выигрывает у ключевых методов за счёт захвата семантической близости, но требует хранить плотные векторы и структуры ANN. Многие индексы увеличивают объём хранилища в 1.5–7 раз по сравнению с исходными данными. Такое увеличение приемлемо для облачных сервисов, но делает невозможным развертывание на персональных устройствах или при больших локальных наборах данных. Опускать размер индекса ниже 5% от исходных данных критично для edge-решений, однако существующие методы сжатия часто ухудшают точность или увеличивают задержку.
Подход LEANN
LEANN сочетает компактный графовый индекс с вычислением эмбеддингов на лету только для тех узлов, которые действительно посещаются при поиске. Основные идеи:
- Двухуровневый обход графа с динамическим батчингом: это снижает задержку при рекомпутации, объединяя вычисления эмбеддингов по шагам поиска и улучшая загрузку GPU.
- Метод сильной сохранности при прореживании графа: позволяет уменьшить объём метаданных, сохранив необходимые для поиска связи.
LEANN построен на идеях HNSW и опирается на наблюдение, что для каждого запроса требуется эмбеддинги лишь для ограниченного набора узлов. Вместо хранения всех эмбеддингов они вычисляются по требованию, что позволяет существенно уменьшить объём постоянного хранения.
Результаты и сравнение
В реальных QA-бенчмарках LEANN уменьшает размер индекса до менее чем 5% от объёма исходных данных — до 50× меньше по сравнению со стандартными индексами. При этом достигается высокая точность: примерно 90% top-3 recall за время поиска менее 2 секунд. Комбинация двухуровневого поиска и динамического батчинга сокращает латентность и повышает эффективность GPU.
По сравнению с EdgeRAG (IVF-подход с рекомпутацией) LEANN показывает ускорения от ~21× до ~200× в зависимости от набора данных и железа — это результат полилогарифмической сложности рекомпутации у LEANN против роста √N у EdgeRAG. В задачах RAG LEANN улучшает качество на большинстве датасетов, за исключением случаев с рассогласованностью распределений (GPQA) или когда набор требует многопереходного вывода (некоторые настройки HotpotQA).
Ограничения и перспективы
Хотя LEANN значительно экономит постоянное хранилище, во время построения индекса пик памяти и дискового использования может оставаться высоким. Авторы предлагают предусмотреть предварительную кластеризацию или другие оптимизации для уменьшения пиков. Также остаётся пространство для дальнейшего снижения задержки и повышения отзывчивости в жёстких ресурсных условиях.
В целом LEANN показывает, что сочетание рекомпутации эмбеддингов по требованию, продуманного прореживания графа и батч-ориентированных проходов позволяет сделать ANN-поиск практичным для персональных устройств без значительной потери точности. В репозитории и статье доступны код, примеры и ноутбуки для самостоятельного тестирования.
Switch Language
Read this article in English