Продолжаю адаптированный перевод статьи китайских исследователей Retrieval-Augmented Generation for Large Language Models: A Survey (ссылка на первую часть — здесь, на вторую часть — здесь, третью часть — здесь). В этой, четвертой части авторы совсем скромненько, словно тренировались заполнять налоговую декларацию, разбирают технологии аугментации извлеченных данных.

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


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

Рисунок 1. Пример, где использование RAG приводит к ошибке модели Llama-2-13B. Добавление нерелевантного контекста (справа) вызывает неверный ответ, хотя модель корректно отвечает без поиска (слева)
Рисунок 1. Пример, где использование RAG приводит к ошибке модели Llama-2-13B. Добавление нерелевантного контекста (справа) вызывает неверный ответ, хотя модель корректно отвечает без поиска (слева)

Благодаря многочисленным исследованиям процесс поиска оптимизируется, и основные результаты представлены на рисунке 2.

Рисунок 2. Рис. 5. Помимо наиболее распространённого однократного поиска , система RAG также включает три типа процессов поискового усиления: (Слева) Итеративный поиск предполагает чередование этапов поиска и генерации, что на каждом шаге позволяет получать более богатый и целенаправленный контекст из базы знаний. (В центре) Рекурсивный поиск заключается в постепенном уточнении пользовательского запроса, разбиении проблемы на подзадачи и их последовательном решении через комбинацию поиска и генерации. (Справа) Адаптивный поиск позволяет автономно определять необходимость обращения к внешним источникам знаний и момент прекращения процессов поиска и генерации, часто используя для управления специальные токены, сгенерированные LLM.
Рисунок 2. Рис. 5. Помимо наиболее распространённого однократного поиска , система RAG также включает три типа процессов поискового усиления:
(Слева) Итеративный поиск предполагает чередование этапов поиска и генерации, что на каждом шаге позволяет получать более богатый и целенаправленный контекст из базы знаний.
(В центре) Рекурсивный поиск заключается в постепенном уточнении пользовательского запроса, разбиении проблемы на подзадачи и их последовательном решении через комбинацию поиска и генерации.
(Справа) Адаптивный поиск позволяет автономно определять необходимость обращения к внешним источникам знаний и момент прекращения процессов поиска и генерации, часто используя для управления специальные токены, сгенерированные LLM.

А. Итеративный поиск

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

ITER-RETGEN использует синергию двух методов: «генерации, усиленной поиском» и «поиска, усиленного генерацией» — для задач, где требуется точное воспроизведение информации. Модель берёт контент, необходимый для решения задачи, в качестве контекстной основы для извлечения релевантных знаний, что улучшает ответы в следующих итерациях. К примеру, для ответа на вопрос о нейросетях модель сначала генерирует черновик ответа, затем ищет уточняющие данные на его основе, после чего дорабатывает ответ (рис. 3).

Рисунок 3. ITER-RETGEN циклически повторяет этапы поиска и генерации. На каждой итерации система использует выходные данные модели из предыдущего цикла в качестве контекста для поиска более релевантной информации — это позволяет улучшить качество генерации (например, исправить рост персонажа Jesse Hogan). Для наглядности на диаграмме показаны только две итерации. Сплошные стрелки обозначают связь запросов с найденными знаниями, а пунктирные — этап генерации с расширением через поиск.
Рисунок 3. ITER-RETGEN циклически повторяет этапы поиска и генерации. На каждой итерации система использует выходные данные модели из предыдущего цикла в качестве контекста для поиска более релевантной информации — это позволяет улучшить качество генерации (например, исправить рост персонажа Jesse Hogan). Для наглядности на диаграмме показаны только две итерации. Сплошные стрелки обозначают связь запросов с найденными знаниями, а пунктирные — этап генерации с расширением через поиск.

Б. Рекурсивный поиск

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

Например, метод IRCoT (рисунок 4) использует цепочку рассуждений (Chain-of-Thought, CoT) для управления процессом поиска, динамически корректируя логику CoT с учетом полученных результатов.

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

А подход ToC создает дерево уточнений, которое систематически оптимизирует неоднозначные части запроса (рис. 5). Эти методы особенно эффективны в сложных сценариях:

  • когда потребности пользователя изначально неясны (например, расплывчатые формулировки в технической документации);

  • при работе с узкоспециализированными данными (медицинские исследования, юридические тексты).

Рисунок 5. Дерево уточнений (ToC). (1) Для неоднозначного вопроса (AQ) извлекаются релевантные отрывки из источников. (2) На основе этих отрывков с помощью few-shot промптинга рекурсивно генерируются уточнённые вопросы, которые при необходимости фильтруются. (3) Формируется развёрнутый ответ, охватывающий все уточнённые вопросы.
Рисунок 5. Дерево уточнений (ToC). (1) Для неоднозначного вопроса (AQ) извлекаются релевантные отрывки из источников. (2) На основе этих отрывков с помощью few-shot промптинга рекурсивно генерируются уточнённые вопросы, которые при необходимости фильтруются. (3) Формируется развёрнутый ответ, охватывающий все уточнённые вопросы.

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

Для решения специализированных задач обработки данных рекурсивный поиск и многоуровневый поиск применяются совместно. Рекурсивный поиск использует структурированный индекс для иерархической обработки и извлечения данных. Например, он может включать предварительное создание сводки разделов документа (скажем, объёмного PDF-файла), на основе которой выполняется первичный поиск. После чего проводится вторичный поиск внутри документа для уточнения результатов, что отражает рекурсивную природу метода. В отличие от этого, многоуровневый поиск (рис. 6) предназначен для глубокого анализа графо-структурированных данных (например, графов знаний), извлекая взаимосвязанную информацию.

Рисунок 6. Принцип работы Chain of Knowledge (CoK) — по аналогии с тем, как человек разбивает сложные вопросы на простые компоненты, LLM генерирует цепочку подвопросов, на которые легче ответить. Для решения этих подвопросов модель дополняется релевантными фактами, извлечёнными из внешней базы знаний с помощью RAG-механизмов. Наконец, LLM использует полученные знания для формулировки ответа на исходный вопрос, следуя принципам chain-of-thought prompting (пошагового рассуждения) и ITER-RETGEN
Рисунок 6. Принцип работы Chain of Knowledge (CoK) — по аналогии с тем, как человек разбивает сложные вопросы на простые компоненты, LLM генерирует цепочку подвопросов, на которые легче ответить. Для решения этих подвопросов модель дополняется релевантными фактами, извлечёнными из внешней базы знаний с помощью RAG-механизмов. Наконец, LLM использует полученные знания для формулировки ответа на исходный вопрос, следуя принципам chain-of-thought prompting (пошагового рассуждения) и ITER-RETGEN

В. Адаптивные методы поиска

Адаптивные методы поиска, такие как Flare (рис. 7) и Self-RAG (рис. 11), улучшают архитектуру RAG, позволяя LLM самостоятельно определять оптимальные моменты и содержание для поиска информации. Это повышает эффективность и релевантность извлекаемых данных.

Рисунок 7. FLARE (Forward-Looking Active Retrieval Augmented Generation) — это метод активного поиска с прогнозированием, работающий итеративно. Алгоритм начинается с пользовательского запроса x и первоначальных результатов поиска Dx. На каждом шаге LLM генерирует временное продолжение текста (выделено серым курсивом) и анализирует наличие токенов с низкой вероятностью (подчеркнуты). При их обнаружении система активирует поиск релевантных документов и перегенерирует предложение с обновленным контекстом.
Рисунок 7. FLARE (Forward-Looking Active Retrieval Augmented Generation) — это метод активного поиска с прогнозированием, работающий итеративно. Алгоритм начинается с пользовательского запроса x и первоначальных результатов поиска Dx. На каждом шаге LLM генерирует временное продолжение текста (выделено серым курсивом) и анализирует наличие токенов с низкой вероятностью (подчеркнуты). При их обнаружении система активирует поиск релевантных документов и перегенерирует предложение с обновленным контекстом.

Эти методы встроены в общий тренд, где LLM используют активное принятие решений в своей работе, как это реализовано в агентах AutoGPT (рис. 8), Toolformer (рис. 9) и Graph-Toolformer.

Рисунок 8. Auto-GPT  учитывает дополнительные мнения внешних экспертных моделей. В частности, на этапе принятия решений система выбирает Top-K наиболее релевантных мнений от экспертной модели и включает их в контекст промпта для более обоснованных решений. В качестве внешних экспертов используются готовые IL-модели (Imitation Learning). Шаблон промпта для предложения дополнительных мнений LLM выглядит так: "Вот одно (несколько) предложение(й) для команды: <действие с параметрами>. Используйте это как ориентир, но принимайте решение самостоятельно."
Рисунок 8. Auto-GPT  учитывает дополнительные мнения внешних экспертных моделей. В частности, на этапе принятия решений система выбирает Top-K наиболее релевантных мнений от экспертной модели и включает их в контекст промпта для более обоснованных решений. В качестве внешних экспертов используются готовые IL-модели (Imitation Learning). Шаблон промпта для предложения дополнительных мнений LLM выглядит так: "Вот одно (несколько) предложение(й) для команды: <действие с параметрами>. Используйте это как ориентир, но принимайте решение самостоятельно."

Например, Graph-Toolformer разделяет процесс поиска на этапы: LLM активно задействуют ретриверы, применяют технику Self-Ask и few-shot промпты для формирования поисковых запросов. Такой активный подход позволяет моделям решать, когда искать информацию, аналогично тому, как инструменты используются автономными агентами.

Рисунок 9. Примеры предсказаний Toolformer. Модель самостоятельно принимает решение о вызове различных API (сверху вниз: система ответов на вопросы, калькулятор, система машинного перевода и поисковая система Wikipedia) для получения информации, полезной при завершении фрагмента текста.
Рисунок 9. Примеры предсказаний Toolformer. Модель самостоятельно принимает решение о вызове различных API (сверху вниз: система ответов на вопросы, калькулятор, система машинного перевода и поисковая система Wikipedia) для получения информации, полезной при завершении фрагмента текста.

WebGPT внедрил фреймворк обучения с подкреплением для тренировки модели GPT-3 в автономном использовании поисковых систем во время генерации текста (рис. 10). Процесс управляется специальными токенами, которые активируют действия: поисковые запросы, анализ результатов и цитирование источников. Это расширяет возможности GPT-3 за счёт интеграции внешних поисковых инструментов.

Рисунок 10. WebGPT — текстовая веб-среда, представленная демонстраторам-людям (слева) и LLM (справа). Позволяет улучшить поиск и синтез данных в сквозном режиме, используя методы обучения с подкреплением и имитационного обучения, а также объективность ответов (приводятся с цитированием из веб-страниц во время навигации)
Рисунок 10. WebGPT — текстовая веб-среда, представленная демонстраторам-людям (слева) и LLM (справа). Позволяет улучшить поиск и синтез данных в сквозном режиме, используя методы обучения с подкреплением и имитационного обучения, а также объективность ответов (приводятся с цитированием из веб-страниц во время навигации)

Flare автоматизирует поиск по времени, отслеживая уверенность модели в процессе генерации через вероятность сгенерированных токенов. Если вероятность падает ниже заданного порога, система активирует модуль поиска для сбора релевантной информации, оптимизируя цикл извлечения данных (рис. 7).

Self-RAG (рис. 11) использует токены рефлексии (retrieve и critic), которые позволяют модели анализировать свои выходные данные. Когда активировать поиск, решает либо сама модель, либо это происходит при достижении порогового значения.

Рисунок 11. Токены рефлексии в SELF-RAG делятся на retrieve (определяют необходимость поиска) и critic (оценивают качество генерации). Алгоритм работает так: (Этап 1) При получении промпта и предыдущих генераций система сначала проверяет, нужны ли дополнительные данные из внешних источников. Если да — активирует ретривер через специальный токен. (Этап 2) Затем параллельно обрабатывает найденные чанки, оценивает их релевантность и генерирует ответы. (Этап 3) После этого создаёт токены critic для самопроверки: выбирает оптимальный вариант по точности и качеству. В отличие от классического RAG, который всегда извлекает фиксированное число документов (даже когда это избыточно, как в примере без фактологической нагрузки), SELF-RAG адаптирует поиск под конкретный сценарий.
Рисунок 11. Токены рефлексии в SELF-RAG делятся на retrieve (определяют необходимость поиска) и critic (оценивают качество генерации). Алгоритм работает так:
(Этап 1) При получении промпта и предыдущих генераций система сначала проверяет, нужны ли дополнительные данные из внешних источников. Если да — активирует ретривер через специальный токен.
(Этап 2) Затем параллельно обрабатывает найденные чанки, оценивает их релевантность и генерирует ответы.
(Этап 3) После этого создаёт токены critic для самопроверки: выбирает оптимальный вариант по точности и качеству.
В отличие от классического RAG, который всегда извлекает фиксированное число документов (даже когда это избыточно, как в примере без фактологической нагрузки), SELF-RAG адаптирует поиск под конкретный сценарий.

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

Рисунок 12. Одна из реализаций Beam Search – SentBS. SentBS (Sentence-Level Beam Search) генерирует каждое предложение поэтапно: cначала создаёт несколько вариантов предложений, затем оценивает и выбирает наилучший вариант.
Рисунок 12. Одна из реализаций Beam Search – SentBS. SentBS (Sentence-Level Beam Search) генерирует каждое предложение поэтапно: cначала создаёт несколько вариантов предложений, затем оценивает и выбирает наилучший вариант.

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


Продолжение следует. В следующей, 5-й части мы поговорим о техниках оценки качества систем RAG.

Комментарии (0)