За пределами векторных баз данных: архитектуры RAG без внедрений

За пределами векторных баз данных: архитектуры RAG без внедрений


Введение

Генерация с увеличением извлечения является фактическим методом предоставления основы информации для больших языковых моделей. Стандартный процесс RAG основан на векторных представлениях (числовых векторных представлениях текста) и векторной базе данных для семантического поиска.

Документы разбиваются на чанки, внедряются в виде векторов высокой размерности, хранятся в векторной базе данных и запрашиваются через поиск ближайших соседей для извлечения соответствующего контекста для LLM. Модели затем ищут информацию по семантическому значению.

Тем не менее, метод «векторная БД + эмбеддинги» связан со значительными затратами, сложностью и ухудшением производительности. Учитывая эти проблемы, наблюдается растущий интерес к изучению альтернатив подходам к RAG, основанным на эмбеддингах. Исследователи начали разрабатывать RAG без методов и систем эмбеддинга, избегая векторного поиска. В этой статье мы определяем, что такое RAG без эмбеддингов, исследуем причины его текущей актуальности и сравниваем его с традиционными подходами на основе векторных баз данных.

Основные выводы:

  • Традиционные системы RAG полагаются на встраивания и векторные базы данных. Документы разбиваются на части, встраиваются в многомерные векторы и индексируются в векторной базе данных для поиска ближайших соседей, чтобы обеспечить семантический контекст для больших языковых моделей.
  • Векторный поиск имеет ограничения, такие как семантические разрывы, сниженная точность извлечения и отсутствие интерпретируемости. Существуют также проблемы в областях, чувствительных к точности, где встраивания могут извлекать тематически схожие, но не содержащие ответ фрагменты.
  • Использование RAG на основе встраиваний сталкивается со сложностью инфраструктуры и высокими затратами. Генерация встраиваний, поддержание векторной базы данных и переиндексация обновленных данных требуют значительных вычислительных и ресурсных мощностей.
  • RAG без встраиваний может использовать альтернативы встраиванию и векторному поиску. Это включает в себя поиски, основанные на ключевых словах (BM25), итеративный поиск на основе больших языковых моделей (ELITE), подходы на основе графов знаний (GraphRAG) и поиск на основе подсказок (Prompt-RAG) для устранения семантических и операционных ограничений.
  • RAG без встраивания предлагает интерпретируемость, более низкую задержку, сокращенное хранение и адаптивность к доменам. Это делает его ценным в специализированных областях (здравоохранение, право, финансы) и в случаях использования, требующих прозрачности или рассуждений на основе документов.

Традиционные RAG и векторные базы данных

В традиционной архитектуре RAG векторные представления + система векторного поиска составляют основу процесса «извлечения».

На этапе офлайн-индексации исходные документы разбиваются на части, и каждая часть встраивается (с помощью модели встраивания) для получения векторного представления индекса. Каждый из этих векторов затем хранится в векторной базе данных, оптимизированной для быстрого поиска ближайших соседей.

Во время фазы онлайн-запроса входной запрос встраивается в то же векторное пространство, и система запрашивает векторное хранилище, чтобы извлечь топ-k ближайших векторных фрагментов. Извлеченные текстовые фрагменты (встраивания, наиболее «похожие» на встраивание запроса) затем предоставляются в качестве контекста в LLM вместе с запросом для помощи в генерации ответа.

Ключевое преимущество этой системы заключается в том, что векторные встраивания захватывают семантическое сходство. Она может сопоставлять вопрос с частями текста, использующими различные формулировки, но имеющими сходное значение. Векторные базы данных могут обеспечивать поиск по высоким измерениям сходства, что делает задержку при извлечении управляемой по мере масштабирования корпуса до миллионов фрагментов.

Ограничения векторов и поиска по векторным данным

Несмотря на свою популярность, векторный подход RAG имеет значительные недостатки. Давайте рассмотрим некоторые из них:

Семантические пробелы

Семантические разрывы с встраиваниями/поиском по вектору являются обычным явлением. Это связано с тем, что плотное сходство векторов может отражать тематическую связь, но не обязательно релевантность ответа. Они могут возвращать семантически схожие, но нерелевантные отрывки, особенно когда важна точность ответа (точные числа/даты/отрицание). Встраивания также могут испытывать трудности с терминами, специфичными для определенной области, редкими сущностями или многопроходными вопросами, связывающими несколько документов.

Точность извлечения

Вышеуказанная проблема может привести к низкой точности извлечения в реальных развертываниях RAG. Когда модель встраивания не может зафиксировать связь между вопросом и его ответом, лучшие векторные совпадения могут не содержать ответ. Некоторые отчеты указывают на то, что пайплайны RAG часто испытывают трудности с извлечением правильного поддерживающего текста. Один практик отметил, что даже после оптимизации пайплайна ‘Деление + Встраивание + Векторный магазин’ точность извлечения правильных частей ‘обычно ниже 60%.’ Системы RAG могут предоставлять неправильные или неполные ответы из-за нерелевантного контекста.

Отсутствие интерпретируемости и контроля

С векторными встраиваниями сложно понять, почему вы пропустили ответ или нашли неправильный фрагмент, потому что мы не можем легко сказать, что «думали» векторы. Извлечение является процессом черного ящика. Настроить поведение извлечения (например, чтобы подчеркнуть определенные ключевые слова или поля данных) сложно, когда используется чисто обученное встраивание.

Сложность инфраструктуры и стоимость

Существуют оффлайн-расходы (время и вычислительные ресурсы, необходимые для генерации эмбеддингов для тысяч документов — для этого часто используются графические процессоры) и онлайн-расходы (работа службы векторной базы данных, которая может потреблять много памяти). Это может быть действительно дорого для команд без специализированной инфраструктуры. Также есть расходы на обслуживание самого индекса (пересчет новых эмбеддингов, когда ваши данные обновляются).

Традиционная векторная база данных RAG привела нас к большим достижениям, позволив семантический поиск для LLM. Однако её ограничения также вдохновили исследователей искать иные решения для дополнения поиска.

Что такое RAG без встраиваний?

RAG без векторных эмбеддингов относится к любой архитектуре RAG, которая не использует векторные эмбеддинги в качестве основного подхода для извлечения соответствующего контекста для генерации. Она опускает обычный шаг «встраивание запроса и документов, затем поиск ближайших соседей по вектору».

Как мы можем извлечь релевантную информацию без встраиваний? Существуют несколько новых подходов:

Лексикальный или основанный на ключевых словах поиск

Одной из самых «безвстраиваемых» реализаций RAG было бы вернуться к лексическому поиску по ключевым словам (или разреженной выборке).

Вместо сравнения непрерывных векторов система ищет пересекающиеся ключевые слова/токены, общие между запросом и документами (используя такие алгоритмы, как BM25). На самом деле, этот «старомодный» разреженный метод работы с ключевыми словами часто демонстрирует конкурентоспособные результаты, порой сопоставимые с (модными) векторами.

Этот классический метод ключевых слов все еще конкурентоспособен с другими подходами. Например, один бенчмарк XetHub показал, что BM25 «не намного хуже» современных эмбеддингов OpenAI. По словам того исследователя, для достижения 85% возврата релевантных документов может потребоваться 7 результатов, полученных из векторного поиска и эмбеддинга, по сравнению с 8 результатами из классического подхода с ключевыми словами. Эта небольшая разница в точности «незначительна, учитывая стоимость поддержания векторной базы данных, а также сервиса эмбеддингов.»

Иными словами, хорошо настроенный поиск по ключевым словам может помочь вам продвинуться в этом направлении, без всех затрат на запуск векторной базы данных.

Вы можете реализовать это, сгенерировав оптимизированный поисковый запрос из пользовательского запроса (возможно, с помощью LLM для извлечения важных терминов) и выполнив запрос против полнотекстового движка (Elasticsearch или полнотекстового индекса SQL и т.д.).

Затем LLM может работать с этими извлеченными текстами в качестве контекста. Это может использовать сильный сигнал точности лексических совпадений (высокая уверенность в том, что извлеченные документы содержат запрашиваемые термины или близкие синонимы), что порой может быть более актуально, чем извлечение из плотного встраивания.

Итеративный поиск на основе языковых моделей (Размышление как извлечение)

Другой подход к RAG без встраивания заключается в использовании самого LLM для выполнения извлечения через рассуждение и вывод. Вместо ранжирования оценок схожести векторов, такая система “спрашивает LLM”, где расположено ответ. Например, агент LLM может получить список заголовков документов или их резюме и быть задан вопрос о том, какой документ, вероятнее всего, содержит ответ (а затем его извлекает).

Это концепция, лежащая в основе RAG на основе агентов – агент LLM «использует» инструменты для поиска в каталоге документов по заголовку/метаданным перед детальным анализом.

Аналогично, существует исследовательская структура ELITE (Извлечение без внедрения с итеративным исследованием текста), которая предоставляет ИИ возможность итеративно сужать выбор на соответствующий текст. Она использует индивидуальную меру важности для направления поиска.

Диаграмма выше представляет собой цикл RAG без встраивания. Запрос пользователя отправляется в LLM, который генерирует подсказки для извлечения фрагмента из корпуса. Этот фрагмент затем оценивается по критерию важности, чтобы решить, на каком окне сосредоточиться дальше. Это новое, более целенаправленное внимание затем возвращается в LLM в цикле, который повторяется до тех пор, пока не будет выполнено условие остановки, и система возвращает окончательный ответ.

Этот подход «просит» модель выполнить поиск, используя ее родное понимание языка и логическое мышление. Он не «делегирует» поиск индексу эмбеддингов.

Структурированные знания и извлечение на основе графов

Вместо того чтобы добавлять базу знаний как неструктурированные фрагменты текста в векторный индекс, этот подход структурирует данные в графе знаний или другой символической структуре данных.

В графовой модели RAG сущности (такие как люди, места или концепции) представлены в виде узлов, а отношения представлены в виде рёбер, извлечённых из исходного текста или базы данных. В ответ на запрос пользователя система извлекает соответствующие узлы и следует рёбрам для сбора набора фактов или связанных данных, которые затем передаются в LLM.

Недавно Microsoft выпустила GraphRAG, который «сохраняет хорошие элементы RAG, но вставляет граф знаний между индексатором и извлекательным модулем».

В GraphRAG, вместо того чтобы просто возвращать «блоки, которые выглядят похоже» на запрос, система возвращает подграф релевантных сущностей и отношений. Это предоставляет LLM структурированный дворец памяти о том, как факты связаны.

Это особенно ценно для сложных запросов, которые требуют многошагового вывода или соединения фактов (например, recognizing that Person A who did X is related to Person B mentioned elsewhere).

Некоторые реализации GraphRAG все еще включают в себя встроения на определенных этапах процесса (например, внедрение текста контекста каждого узла для поиска сходства в окрестности). Однако суть в том, что граф накладывает символическую реляционную структуру, которой не хватает в чистом векторном поиске.

Извлечение на основе подсказок (Prompt-Based Retrieval, без использования встраиваний)

Еще одна недавняя линия исследований изучала, можем ли мы использовать способность LLM к подсказкам для выполнения текстового поиска без явных векторов. Один из таких подходов называется Prompt-RAG, предложенный в статье 2024 года в специфической области корейской медицины.

Вместо векторных индексов, Prompt-RAG создает структурированное содержание (ToC) из документов. Затем он побуждает LLM выбрать разделы (заголовки), которые имеют отношение к запросу.

Содержимое под этими заголовками затем объединяется в качестве контекста. LLM используется для анализа запроса и структуры документа и принимает решение о retrieval. Векторы встраивания не требуются. Показано, что он превосходит традиционный RAG на основе встраиваний в этой конкретной области. Это предполагает, что retrieval с подсказками может быть хорошей альтернативой, когда встраивания не захватывают семантику области. RAG без встраиваний заменяет шаг векторного поиска классическими методами информационного поиска или логикой на основе LLM. Это своего рода инверсия тенденции последних нескольких лет. Мы возвращаемся к использованию символов и текста для поиска, но с улучшенными способностями к рассуждению больших LLM.

Преимущества RAG без встраивания

Почему стоит рассматривать эти альтернативы? Существуют реальные потенциальные выгоды от RAG без встраиваемых представлений. Не забывайте о нашем обзоре ограничений ранее. Многие из них можно решить с помощью этих альтернативных подходов:

Польза Что это значит
Улучшенная точность поиска Поскольку они не зависят только от векторного сходства, методы без встраивания также могут выявить информацию, которая была бы упущена векторами. Это можно сделать с помощью точного сопоставления ключевых слов или рассуждений LLM, чтобы помочь найти ответ, который сформулирован иначе, чем запрос.
Низкая задержка и накладные расходы на индексирование Исключает необходимость в вычислении/хранении больших индексов встраивания и проведении поисков схожести в высоких измерениях, что позволяет осуществлять извлечение данных для учащихся.
Снижение хранения и затрат Устраняет или минимизирует использование векторных хранилищ, уменьшая память и текущие инфраструктурные расходы; может перейти на модели оплаты по мере использования.
Лучшая интерпретируемость и адаптивность Совпадения ключевых слов, прохождения по графу знаний или выборы агентов более понятны и поддаются тонкой настройке, чем непрозрачные векторные сходства.
Специализация в области Может превосходить эмбеддинги в условиях нехватки данных или специализированных областях, используя структуру (ТОКи, онтологии, графы знаний) и доменные подсказки.

Стоит отметить, что эти преимущества не даются «просто так». Альтернативные подходы часто обмениваются одним набором проблем (такими как вычислительная стоимость множества вызовов LLM или инженерная сложность графа знаний). Однако избавление от зависимости от векторной базы данных может устранить многие проблемные точки текущих систем RAG.

Случаи использования и сравнения

Когда мы можем рассмотреть возможность использования архитектуры RAG без встраиваний вместо классического подхода с векторной базой данных? Это зависит от вашей задачи, данных, ограничений и многих других факторов. Вот некоторые примеры использования и то, как каждый подход сравнивается:

Сценарий Только векторный вызов RAG Почему отсутствие эмбеддингов/графы/агента помогает Рекомендуемая стратегия
Сложные, многослойные вопросы (например, “Что связывает X и Y?”) Извлекает куски информации о X и Y отдельно, но не знает, что они должны быть связаны; этап генерации может фантазировать эту связь. Графики могут показать явный путь (X → … → Y). Центрированный на рассуждениях поиск предоставляет ИИ фактическую цепочку для следования. GraphRAG (поиск сущностей/отношений) или агентный извлекатель, который планирует многошаговые запросы.
Строгие фактические/нормативные требования (право, финансы, здравоохранение) Семантические неудачи недопустимы; авторитетный пункт/случай может быть упущен, если формулировка отличается. Ключевые/лексикальные сигналы и юридические/клинические графики позволяют делать точные выборки и отслеживать их; легко показать, почему был получен фрагмент. Ключевое слово/BM25 фильтры → необязательная переоценка LLM; или граф домена (цитаты, законы). Гибрид перед векторами, если они вообще используются.
Специализированные области/мало данных (биомедицинские, юридические, узкоспециализированные технические документы) Обобщенные векторы сталкиваются с трудностями из-за жаргона/нотации; они могут неправильно оценивать или пропускать ключевые отрывки. Использует структуру документа (заголовки/оглавления), онтологии и графы домена; выбор разделов с помощью подсказок может превосходить векторы. Запросы с учетом подсказок (осведомленные о содержании/заголовках), онтологические/графовые запросы или лексические → переоценка LLM.
Низкий объем запросов, огромный корпус (архивы, исследовательские хранилища) Поддержка большого векторного индекса является затратной, когда запросы редки; повторная эмбеддинг при обновлениях добавляет операционные расходы. По запросу, агентный вывод избегает бездействующего инфраструктурного обслуживания; расходы возникают только при поступлении запроса. Агентный поиск по каталогам/метаданным + целенаправленное чтение; необязательный маленький лексический индекс вместо векторной базы данных.

Совет: Многие команды переходят на гибридные методы — сначала выполняют быстрые лексические фильтры, затем векторный поиск, а затем повторный ранжир LLM; для сложных/многошаговых или регулируемых запросов следует использовать графовый/агентский поиск.

Будущее архитектур RAG

Переведут ли эти методы, не использующие векторы, в будущем векторные базы данных в RAG? Мы полагаем, что более вероятный сценарий — это сосуществование и комплементарность. Вот некоторые тренды и прогнозы того, что может принести будущее:

Тренд Ключевые идеи Где оно сияет против того, где сияют векторы
Гибридные и адаптивные пайплайны Будущие системы не будут использовать только один метод. Они будут комбинировать различные подходы: сначала быстрый векторный поиск для распространенных запросов, затем возвращаться к графовому/агентскому извлечению, если требуется рассуждение. Проекты, такие как AutoGen от Microsoft, координируют работу нескольких извлечение. Без встраивания идеально подходит, когда нужны выводы или многошаговые запросы. Векторы отлично подходят для быстрой семантической схожести в больших масштабах.
Граф знаний RAG Работа GraphRAG и Neo4j показывает обнадеживающие результаты: преобразование неструктурированного текста в графы. Графы могут использоваться для создания встраиваний или существовать независимо. Появляются гибридные графовые и векторные хранилища. Безвекторные методы превосходят в структурированных, реляционных областях (биомед, разведка, финансы). Векторы подходят для широкого охвата, когда явной структуры не существует.
Более крупные контекстные окна Более крупные контекстные модели (более 100 тысяч токенов) перепроектируют извлечение информации: могут загружать целые документы без разбиения на части. Итеративные стратегии чтения (такие как ELITE) становятся более мощными. Спекуляция: LLM могут выполнять извлечение в контексте внутренне. Безвекторные модели хорошо работают, когда модели могут непосредственно «читать и рассуждать» внутри длинных контекстов. Векторы по-прежнему выделяются за счет снижения затрат на контекст и эффективного сужения фокуса.
Оценки и показатели Появляется все больше сравнительных тестов: ELITE, Prompt-RAG, RAPTOR показывают приросты эффективности. Задачи оценки: долгосрочные вопросы и ответы, многослойные вопросы, вопрос о специфике домена. Объяснимость (графовые пути, ссылки) может повысить доверие пользователей. Безвекторные методы эффективны, когда ценятся интерпретируемость и эффективность. Векторы лучше, когда бенчмарки требуют скорости и охвата огромных корпусов.

Векторные базы данных сильны в масштабируемой семантической схожести. Безвекторные модели лучше справляются с рассуждениями, структурой и интерпретируемостью. Будущее за гибридными адаптивными системами, которые используют то и другое в зависимости от ситуации.

РАЗДЕЛ ЧАСТО ЗАДАВАЕМЫХ ВОПРОСОВ

Почему традиционный RAG полагается на встраивания и векторные базы данных?

Традиционный RAG работает так: сначала текстовые фрагменты встраиваются в векторное пространство, а затем эти встраивания хранятся в векторной базе данных. Когда модель отвечает на запрос, она встраивает пользовательский запрос в то же векторное пространство и выполняет поиск ближайших соседей. Затем она использует встраивания из найденных отрывков в качестве контекста для ответа на запрос. Таким образом, RAG может извлекать отрывки, смысл которых соответствует запросу, даже если формулировка отличается.

Каковы основные ограничения встраиваний и векторного поиска в системах RAG?

Хотя векторные представления и векторный поиск чрезвычайно полезны, у них все еще есть несколько ограничений. Они страдают от семантических разрывов. Только небольшая часть извлеченных фрагментов может содержать ответ, в то время как многие из них тематически похожи. Это снижает точность поиска, особенно в областях, чувствительных к качеству (право, здравоохранение и т.д.). Поиск по векторам также является черным ящиком, из которого трудно понять, почему был извлечен тот или иной фрагмент. Хранение и обслуживание векторных представлений и баз данных требует значительных инфраструктурных затрат и усложняет процесс (например, необходимо переиндексировать каждый раз, когда изменяется какой-либо документ).

Как работает RAG без внедрений и какие преимущества он предлагает?

RAG без методов встраивания использует какие-то методы, отличные от поискового вектора для извлечения данных. Это включает в себя извлечение на основе ключевых слов, итеративный поиск с помощью LLM и извлечение на основе графов или запросов. Они могут улучшить точность извлечения, снизить накладные расходы на индексацию. Они также могут снизить вычислительные затраты и повысить интерпретируемость. RAG без встраиваний особенно многообещающ в специализированных или малоданных областях (здравоохранение, финансы, право), где встраивания, как правило, не способны уловить специфическую семантику области.

Заключение

Безвекторный RAG становится значительной альтернативой классическим методам векторных баз данных. Во многих случаях встраивания и векторный поиск являются оптимальным выбором для семантического извлечения на огромном масштабе. Однако они приносят сложности, затраты и проблемы с точностью.

С другой стороны, поисковые запросы по ключевым словам, графы знаний и рассуждения и интерпретации на основе LLM являются популярными техниками RAG без встраивания. Они проще, быстрее и более понятны.

Векторные базы данных выполняют быструю семантическую схожесть запроса, но испытывают трудности с задачами, требующими глубокого рассуждения и специализированной области, где свободный от встраивания RAG показывает лучшие результаты. Гибридные системы могут комбинировать преимущества обоих подходов, создавая адаптивные конвейеры, которые обеспечивают более высокую точность, меньшую задержку и больший уровень доверия.

Многие из описанных нами концепций (таких как итеративный поиск ELITE или GraphRAG) предоставляют открытые реализации или доступны как услуга. Возможно запускать эти системы на ваших собственных данных, чтобы оценить, как они соотносятся с базовым векторным поиском.

Вы должны убедиться, что у вас есть доступные вычислительные ресурсы. Например, чтобы запустить модели с 70 миллиардами параметров для ресурсоемкого извлечения, вам понадобятся экземпляры GPU с большим объемом памяти. К счастью, такие сервисы, как GPU Droplets от DigitalOcean’s Gradient™, позволяют быстро создать экземпляры на базе GPU для предоставления таких вычислительных окружений.

Ссылки и ресурсы

  • ELITE: Извлечение без встраивания с итеративным исследованием текста
  • Агентно-ориентированный RAG (A-RAG) без векторного хранилища
  • GraphRag: Когда ваш Rag нуждается в Дворце Памяти
  • MiniRAG: К направлению крайне простого генерирования с использованием извлечения
  • Prompt-RAG: Пионерное использование генерации с дополнением с увеличением извлечения без векторного встраивания в нишевых областях, на примере корейской медицины.
  • RAPTOR: Рекурсивная абстрактивная обработка для деревоорганизованного извлечения

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *