Как стать автором
Обновить

Часть 3. Обзор технологий RAG для LLM: оптимизация извлеченных данных

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.6K
Автор оригинала: Yunfan Gao, Yun Xiong, Xinyu Gao, Kangxiang Jia, Jinliu Pan, Yuxi Bi, Yi Dai, Jiawei Sun, Meng Wang, Haofen Wang

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


После этапа поиска информации не рекомендуется напрямую передавать все полученные данные в LLM для генерации ответов. Оптимизацию предлагается проводить в двух направлениях: корректировка извлечённого контента и настройка самой языковой модели.

A.   Корректировка извлеченного контента

В системах RAG избыточная информация может негативно влиять на итоговую генерацию LLM (Large Language Model), а слишком длинные контексты вызывают проблему «потери в середине» (см. рис. 1). Как и люди, языковые модели склонны концентрироваться на начале и конце длинных текстов, забывая среднюю часть. Поэтому в RAG-системах полученный контент требует дополнительной обработки перед передачей модели.

Рисунок 1. Изменение положения релевантной информации (например, фрагмента с ответом на вопрос) во входном контексте языковой модели приводит к U-образной кривой производительности. Смещение на первичность (primacy bias) и смещение на недавность (recency bias) выражаются в лучшей обработке данных из начала или конца контекста, тогда как информация в середине вызывает значительное снижение качества. Это явление известно как «потеря в середине» (lost-in-the-middle phenomenon).
Рисунок 1. Изменение положения релевантной информации (например, фрагмента с ответом на вопрос) во входном контексте языковой модели приводит к U-образной кривой производительности. Смещение на первичность (primacy bias) и смещение на недавность (recency bias) выражаются в лучшей обработке данных из начала или конца контекста, тогда как информация в середине вызывает значительное снижение качества. Это явление известно как «потеря в середине» (lost-in-the-middle phenomenon).

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

Методы реранжирования делятся на два типа:
а. правила на основе метрик (Diversity, Relevance, MRR),
б.
модельные подходы.

Последние включают:

  1. архитектуры типа Encoder-Decoder из семейства BERT (например, SpanBERT);

  2. специализированные модели (Cohere rerank, bge-raranker-large);

  3. универсальные LLM вроде GPT (см. рис. 2).

Рисунок 2. Chat-Rec представляет собой систему интеграции рекомендательных сервисов с чат-интерфейсом: (1) В левой части схемы отображается диалог пользователя с ChatGPT; (2) центральный блок демонстрирует архитектурное решение связи традиционных рекомендательных систем с чат-ботом через блок-схему процессов; (3) правая часть поясняет механизм принятия решений в рамках системы.
Рисунок 2. Chat-Rec представляет собой систему интеграции рекомендательных сервисов с чат-интерфейсом: (1) В левой части схемы отображается диалог пользователя с ChatGPT; (2) центральный блок демонстрирует архитектурное решение связи традиционных рекомендательных систем с чат-ботом через блок-схему процессов; (3) правая часть поясняет механизм принятия решений в рамках системы.

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

LLMLingua (см. рис. 3) и LongLLMLingua (см. рис. 4) используют малые языковые модели (SLM) вроде GPT-2 Small или LLaMA-7B для обнаружения и удаления малозначимых токенов. Это преобразует текст в форму, сложную для человеческого восприятия, но понятную для LLM. Такой подход предлагает прямой метод сжатия промптов без необходимости дообучения LLM, сохраняя баланс между лингвистической целостностью и степенью компрессии.

Рисунок 3. Фреймворк LLMLingua
Рисунок 3. Фреймворк LLMLingua

Рисунок 4. Фреймворк LongLLMLingua. Серый курсив: процессы аналогичны применяемым в LLMLingua.
Рисунок 4. Фреймворк LongLLMLingua. Серый курсив: процессы аналогичны применяемым в LLMLingua.

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

Рисунок 5. Иллюстрация двухэтапного процесса обучения PRCA. На первом этапе контекстного извлечения модуль PRCA проходит предобучение на узкоспециализированных данных. На втором этапе с вознаграждением  происходит взаимодействие между топ-K документами и PRCA. Здесь модель уточняет исходный запрос, комбинируя его с найденными документами, чтобы сформировать оптимальный контекст. Этот контекст передаётся генератору для вычисления вознаграждения, а обратная связь используется для дальнейшей оптимизации выходных данных.
Рисунок 5. Иллюстрация двухэтапного процесса обучения PRCA. На первом этапе контекстного извлечения модуль PRCA проходит предобучение на узкоспециализированных данных. На втором этапе с вознаграждением происходит взаимодействие между топ-K документами и PRCA. Здесь модель уточняет исходный запрос, комбинируя его с найденными документами, чтобы сформировать оптимальный контекст. Этот контекст передаётся генератору для вычисления вознаграждения, а обратная связь используется для дальнейшей оптимизации выходных данных.

Рисунок 6. Метод RECOMP  демонстрирует подход, где полученные документы сжимаются в текстовое резюме  перед подачей в языковую модель. Это позволяет: (1) направить генерацию модели в направлении корректного ответа через сфокусированный контекст; (2) сократить вычислительные затраты на обработку длинных документов за счёт устранения избыточности.
Рисунок 6. Метод RECOMP демонстрирует подход, где полученные документы сжимаются в текстовое резюме перед подачей в языковую модель. Это позволяет: (1) направить генерацию модели в направлении корректного ответа через сфокусированный контекст; (2) сократить вычислительные затраты на обработку длинных документов за счёт устранения избыточности.

Помимо сжатия контекста, сокращение количества документов также повышает точность ответов модели. В одном исследовании авторы предложили парадигму Filter-Reranker (см. рис. 7), которая позволяет эффективно комбинировать вычислительную эффективность SLM с семантическими возможностями LLM.

Рисунок 7. Парадигма Filter-Reranker. На примере используемых промптов: зелёные, синие и чёрные секции в верхних блоках обозначают соответственно инструкцию, демонстрацию и тестовое предложение. Красным цветом выделены выходные данные LLM.
Рисунок 7. Парадигма Filter-Reranker. На примере используемых промптов: зелёные, синие и чёрные секции в верхних блоках обозначают соответственно инструкцию, демонстрацию и тестовое предложение. Красным цветом выделены выходные данные LLM.

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

Другой эффективный подход предполагает оценку моделью LLM извлечённого контента перед генерацией окончательного ответа. Это позволяет модели отфильтровывать документы с низкой релевантностью через механизм критики LLM (LLM critique: механизм внутренней оценки качества информации на основе семантического анализа). Например, в системе Chatlaw LLM получает инструкцию для самодиагностики при анализе юридических положений, что улучшает оценку их соответствия запросу (см. рис.8).

Рисунок 8. Фреймворк ChatLaw (прим. пер.: перевод с китайского)
Рисунок 8. Фреймворк ChatLaw (прим. пер.: перевод с китайского)

Б. Дообучение LLM

В зависимости от цели использования и характеристик данных целевое дообучение LLM позволяет добиваться более качественных результатов — и это одно из ключевых преимуществ локальных LLM. Когда общей LLM не хватает «знаний» в определённой узкой предметной области, дообучение помогает добавить эти «знания». Например, в качестве стартовой точки можно использовать предварительно размеченные наборы данных от Hugging Face.

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

Для задач поиска в структурированных данных фреймворк SANTA (Structure Aware DeNse ReTrievAl, см. рис. 9) использует трехступенчатое обучение для одновременного учета структурных и смысловых особенностей, причем в первую очередь обучается ретривер, чтобы через контрастное обучение повышать качество эмбеддингов и у промптов, и у чанков.

Рисунок 9. Уплотнение эмбеддингов промпта в пайплайне фреймворка SANTA
Рисунок 9. Уплотнение эмбеддингов промпта в пайплайне фреймворка SANTA

Согласование выводов LLM с человеческими предпочтениями или критериями ретривера через обучение с подкреплением — это перспективное направление. Например, можно вручную аннотировать сгенерированные ответы, а затем использовать эти метки для формирования обучающих сигналов.

Помимо такого согласования с человеческими предпочтениями, возможно также согласование с дообученными моделями и ретриверами. Если по каким-то причинам доступа к проприетарным LLM (например, GPT-4) или опенсорсным LLM нет, применяют дистилляцию знаний.

Дообучение LLM также может быть согласовано с дообучением ретривера: например, метод RA-DIT (см. рис. 10) использует для такого согласования дивергенцию Кульбака-Лейблера.

Рисунок 10. RA-DIT — метод раздельного дообучения LLM и ретривера в 2 этапа: (1) модель адаптируется для работы с извлечёнными данными, (2) синхронизируется система поиска с предпочтениями модели. Здесь: компонент LM-ft дообучает LLM, чтобы повысить вероятность корректного ответа. Компонент R-ft снижает KL-дивергенцию, чтобы синхронизировать "понимание" и у ретривера, и у LLM.
Рисунок 10. RA-DIT — метод раздельного дообучения LLM и ретривера в 2 этапа: (1) модель адаптируется для работы с извлечёнными данными, (2) синхронизируется система поиска с предпочтениями модели. Здесь: компонент LM-ft дообучает LLM, чтобы повысить вероятность корректного ответа. Компонент R-ft снижает KL-дивергенцию, чтобы синхронизировать "понимание" и у ретривера, и у LLM.

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

Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
+1
Комментарии3

Публикации

Ближайшие события