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

1. Реранжирование чанков выполняет двойную функцию в информационном поиске: выступает как усилитель релевантности и фильтр шума. Этот подход переупорядочивает чанки документов, выделяя наиболее значимые результаты, что сокращает общий пул обрабатываемых данных и повышает точность обработки языковыми моделями.
Методы реранжирования делятся на два типа:
а. правила на основе метрик (Diversity, Relevance, MRR),
б. модельные подходы.
Последние включают:
архитектуры типа Encoder-Decoder из семейства BERT (например, SpanBERT);
специализированные модели (Cohere rerank, bge-raranker-large);
универсальные LLM вроде GPT (см. рис. 2).

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


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


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

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

Б. Дообучение LLM
В зависимости от цели использования и характеристик данных целевое дообучение LLM позволяет добиваться более качественных результатов — и это одно из ключевых преимуществ локальных LLM. Когда общей LLM не хватает «знаний» в определённой узкой предметной области, дообучение помогает добавить эти «знания». Например, в качестве стартовой точки можно использовать предварительно размеченные наборы данных от Hugging Face.
Еще одним преимуществом дообучения является возможность настройки форматов входных и выходных данных. Например, оно позволяет LLM адаптироваться к специфическим структурам данных и генерировать ответы в заданном стиле.
Для задач поиска в структурированных данных фреймворк SANTA (Structure Aware DeNse ReTrievAl, см. рис. 9) использует трехступенчатое обучение для одновременного учета структурных и смысловых особенностей, причем в первую очередь обучается ретривер, чтобы через контрастное обучение повышать качество эмбеддингов и у промптов, и у чанков.

Согласование выводов LLM с человеческими предпочтениями или критериями ретривера через обучение с подкреплением — это перспективное направление. Например, можно вручную аннотировать сгенерированные ответы, а затем использовать эти метки для формирования обучающих сигналов.
Помимо такого согласования с человеческими предпочтениями, возможно также согласование с дообученными моделями и ретриверами. Если по каким-то причинам доступа к проприетарным LLM (например, GPT-4) или опенсорсным LLM нет, применяют дистилляцию знаний.
Дообучение LLM также может быть согласовано с дообучением ретривера: например, метод RA-DIT (см. рис. 10) использует для такого согласования дивергенцию Кульбака-Лейблера.

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