EraRAG: Революционная система поиска для динамичных и растущих данных на основе многоуровневых графов
EraRAG представляет масштабируемую систему поиска, оптимизированную для динамично растущих данных, выполняя эффективные локализованные обновления на многоуровневом графе, что значительно улучшает производительность и точность поиска.
Ограничения больших языковых моделей
Большие языковые модели (LLM) изменили область обработки естественного языка, но испытывают трудности с актуальными фактами, специализированной информацией и сложным многошаговым рассуждением. Подходы Retrieval-Augmented Generation (RAG) помогают решить эти проблемы, позволяя моделям получать информацию из внешних источников. Однако большинство графовых систем RAG заточены под статичные корпуса и плохо справляются с эффективностью и масштабируемостью при постоянно растущих данных, таких как новостные ленты или исследовательские архивы.
EraRAG: эффективные обновления для развивающихся корпусов
EraRAG — новая RAG-система, разработанная исследователями из Huawei, Гонконгского университета науки и технологий и WeBank, специально для динамичных и постоянно расширяющихся данных. Вместо перестройки всей структуры поиска при добавлении новых данных EraRAG обновляет только затронутые части графа.
Ключевые особенности EraRAG
Хэширование с локальной чувствительностью на основе гиперплоскостей (LSH)
Корпус разбивается на небольшие текстовые фрагменты, которые преобразуются в векторные представления. Эти векторы проецируются на случайно выбранные гиперплоскости, формируя бинарные хэш-коды. Это позволяет группировать семантически близкие фрагменты в одни и те же «корзины», сохраняя семантику и обеспечивая эффективную группировку.
Иерархическое многоуровневое построение графа
EraRAG строит многоуровневый граф, где на каждом уровне сегменты текста суммируются с помощью языковой модели. Слишком большие сегменты разбиваются, а слишком маленькие объединяются, что обеспечивает семантическую целостность и сбалансированную детализацию. Представления на верхних уровнях позволяют эффективно обрабатывать как детальные, так и абстрактные запросы.
Пошаговые локализованные обновления
Новые данные хэшируются теми же гиперплоскостями, что и исходные, для сохранения согласованности. Обновляются только корзины, затронутые новыми данными, которые могут быть перераспределены, объединены, разделены или пересуммированы. Обновления распространяются по иерархии, но остаются локальными, что значительно экономит вычислительные ресурсы и количество токенов.
Воспроизводимость и детерминированность
EraRAG сохраняет используемые гиперплоскости, что делает распределение корзин детерминированным и воспроизводимым. Это важно для стабильных и эффективных обновлений с течением времени.
Результаты и влияние
Эксперименты на различных задачах вопрос-ответ показывают:
- Сокращение времени реконструкции графа и использования токенов до 95% по сравнению с ведущими методами GraphRAG, RAPTOR и HippoRAG.
- Высокую точность и полноту результатов на статичных, растущих и абстрактных задачах.
- Универсальность — эффективный поиск как по деталям, так и по высоким семантическим уровням.
Практическое значение
EraRAG подходит для реальных условий с постоянно добавляющимися данными, таких как новости в реальном времени, научные архивы или пользовательские платформы. Система сочетает эффективность и адаптивность, что повышает достоверность и отзывчивость приложений на базе LLM в быстро меняющейся среде.
Подробнее можно узнать в статье и на GitHub.
Switch Language
Read this article in English