Статьи · arXiv 2005.11401
Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
Опубликовано cs.CLcs.LG arXivPDF
Кратко в трёх строках
- 🎯 Чисто параметрические языковые модели с трудом извлекают, обновляют и обосновывают фактологические знания, что приводит к галлюцинациям в задачах с высокой плотностью знаний.
- 🔧 Представлен подход RAG, объединяющий Dense Passage Retriever (непараметрическая память по Wikipedia) с генератором BART (параметрическая память), обучаемый сквозным методом через маргинализацию по латентным документам.
- 📈 Установлены новые SOTA-результаты в open-domain QA (44,5 EM на Natural Questions); модель генерирует более фактологичный, точный и разнообразный текст по сравнению с чисто параметрическими бейзлайнами.
Аннотация
Было показано, что большие предварительно обученные языковые модели сохраняют фактические знания в своих параметрах и достигают передовых результатов при тонкой настройке на прикладных задачах NLP. Однако их способность обращаться к знаниям и точно манипулировать ими все еще ограничена, поэтому в задачах, требующих интенсивного использования знаний, их производительность отстает от специализированных архитектур. Кроме того, подтверждение источников принимаемых решений и обновление знаний об окружающем мире остаются открытыми научными проблемами. Предварительно обученные модели с дифференцируемым механизмом доступа к явной непараметрической памяти способны преодолеть эту трудность, но до сих пор они исследовались только для экстрактивных прикладных задач. Мы исследуем универсальный метод тонкой настройки для генерации с дополненным поиском (Retrieval-Augmented Generation, RAG) — моделей, объединяющих предварительно обученную параметрическую и непараметрическую память для генерации языка. Мы представляем модели RAG, в которых параметрической памятью выступает предобученная модель seq2seq, а непараметрической памятью — плотный векторный индекс Wikipedia, доступ к которому осуществляется с помощью предварительно обученного нейросетевого ретривера. Мы сравниваем две формулировки RAG: одна опирается на одни и те же извлеченные фрагменты на протяжении всей генерируемой последовательности, а другая может использовать разные фрагменты для каждого токена. Мы проводим тонкую настройку и оцениваем наши модели на широком спектре наукоемких задач NLP и устанавливаем новый уровень SOTA на трех открытых задачах QA, превосходя параметрические модели seq2seq и специализированные архитектуры поиска и извлечения (retrieve-and-extract). В задачах генерации текста мы обнаружили, что модели RAG генерируют более конкретный, разнообразный и фактологически точный язык, чем современный базовый уровень чисто параметрических seq2seq.
Оригинальная аннотация (англ.)
Large pre-trained language models have been shown to store factual knowledge in their parameters, and achieve state-of-the-art results when fine-tuned on downstream NLP tasks. However, their ability to access and precisely manipulate knowledge is still limited, and hence on knowledge-intensive tasks, their performance lags behind task-specific architectures. Additionally, providing provenance for their decisions and updating their world knowledge remain open research problems. Pre-trained models with a differentiable access mechanism to explicit non-parametric memory can overcome this issue, but have so far been only investigated for extractive downstream tasks. We explore a general-purpose fine-tuning recipe for retrieval-augmented generation (RAG) -- models which combine pre-trained parametric and non-parametric memory for language generation. We introduce RAG models where the parametric memory is a pre-trained seq2seq model and the non-parametric memory is a dense vector index of Wikipedia, accessed with a pre-trained neural retriever. We compare two RAG formulations, one which conditions on the same retrieved passages across the whole generated sequence, the other can use different passages per token. We fine-tune and evaluate our models on a wide range of knowledge-intensive NLP tasks and set the state-of-the-art on three open domain QA tasks, outperforming parametric seq2seq models and task-specific retrieve-and-extract architectures. For language generation tasks, we find that RAG models generate more specific, diverse and factual language than a state-of-the-art parametric-only seq2seq baseline.
Разбор статьи
Проблема и мотивация
Предварительно обученные языковые модели хранят значительные объемы фактологических знаний внутри своих параметров (параметрическая память). Однако у них есть существенные недостатки: они с трудом расширяют или обновляют свои знания без повторного обучения, не могут легко предоставить источники или интерпретируемость своих выводов и склонны к галлюцинациям.
Хотя гибридные параметрические/непараметрические модели, такие как REALM и ORQA, объединяли дифференцируемый поиск с маскированным языковым моделированием, они были ограничены экстрактивным вопросно-ответным поиском. Стандартные архитектуры sequence-to-sequence (seq2seq), такие как BART и T5, оставались преимущественно «закрытыми книгами» (closed-book). Данная работа устраняет этот пробел, предлагая Retrieval-Augmented Generation (RAG) — общий фреймворк тонкой настройки, который объединяет предварительно обученный плотный нейросетевой ретривер с авторегрессионным генератором seq2seq как для генерации в открытой предметной области, так и для классификации.
Ключевые идеи
- Гибридная параметрическая и непараметрическая память: непараметрическая память состоит из плотного векторного индекса по 21 млн 100-словных фрагментов Wikipedia, доступ к которому осуществляется через Maximum Inner Product Search (MIPS). Параметрическая память представляет собой предварительно обученный генератор BART.
- Сквозная тонкая настройка (End-to-End Fine-Tuning): кодировщик запросов и генератор обучаются совместно, рассматривая извлеченные фрагменты как скрытые переменные и минимизируя отрицательное маргинальное логарифмическое правдоподобие целевых токенов без явного контроля со стороны разметки ретривера.
- Две формулировки кондиционирования:
- RAG-Sequence: обусловливает всю генерируемую последовательность одним и тем же извлеченным документом.
- RAG-Token: позволяет каждому сгенерированному токену обращать внимание и маргинализировать по различным извлеченным фрагментам.
- Горячая замена знаний о мире: внешний индекс можно заменить во время инференса (например, заменив индекс Wikipedia 2016 года на индекс 2018 года), чтобы обновить знания о мире без изменения весов модели.
Метод
Для входной последовательности ретривер формирует распределение по документам , а генератор генерирует целевые токены, обусловленные как , так и .
Ретривер использует Dense Passage Retriever (DPR): где и . Top- кандидатов извлекаются с помощью FAISS MIPS. Индекс документов и кодировщик документов остаются фиксированными, в то время как и параметры генератора BART подвергаются тонкой настройке.
RAG-Sequence
Модель рассматривает извлеченный документ как единую скрытую переменную для всей последовательности : Декодирование можно оценивать с помощью Thorough Decoding (запуск beam search для каждого документа и вычисление прямых проходов для гипотез-кандидатов по всем документам) или Fast Decoding (аппроксимация отсутствующих вероятностей луча нулем).
RAG-Token
Модель выполняет маргинализацию по документам на каждом шаге генерации токена, что позволяет смешивать контент из нескольких источников на уровне токенов: Это дает стандартную авторегрессионную вероятность перехода, которая напрямую интегрируется в beam search.
Результаты
- Open-Domain QA: RAG устанавливает новые SOTA-результаты на открытых бенчмарках по метрике точного совпадения (exact match, EM):
- Natural Questions: 44.5 (RAG-Seq) против 41.5 (DPR) и 36.6 (T5-11B+SSM).
- TriviaQA (стандартный открытый сплит): 56.8 (RAG-Seq); на тестовом сплите TQA-Wiki: 68.0 (RAG-Seq) против 60.5 (T5-11B+SSM).
- WebQuestions: 45.5 (RAG-Token) против 41.1 (DPR).
- CuratedTrec: 52.2 (RAG-Seq) против 50.6 (DPR).
- Примечательно, что на Natural Questions RAG достиг 11.8% EM в случаях, когда правильный ответ полностью отсутствовал в извлеченном контексте (где экстрактивные модели получают 0%).
- Абстрактивная генерация: на Open MS-MARCO RAG-Sequence достигает 40.8 Rouge-L и 44.2 Bleu-1, превосходя BART (38.2 Rouge-L, 41.6 Bleu-1).
- Генерация вопросов Jeopardy: эксперты-оценщики признали RAG-Token более фактологичным, чем BART, в 42.7% случаев, тогда как BART оказался лучше только в 7.1%. Эксперты также сочли RAG более специфичным (37.4% против 16.8%).
- Верификация фактов: на задаче FEVER (3 класса) RAG достигает точности меток 72.5% (с отставанием всего в 4.3% от конвейерных систем, использующих явный контроль по золотым фактам); на 2 классах RAG достигает точности 89.5%.
- Обновление знаний через горячую замену: в темпоральном тесте с 82 мировыми лидерами в период с 2016 по 2018 год RAG показал точность 70% для лидеров 2016 года с индексом 2016 года и 68% для лидеров 2018 года с индексом 2018 года, при этом результаты резко упали (до 12% и 4%) при несовпадении индексов.
Ограничения и открытые вопросы
- Коллапс поиска (Retrieval Collapse): для задач, требующих более слабого явного фактологического обусловливания (таких как генерация историй с открытым финалом), ретривер может вырождаться в выбор статичных, неизменных документов, пока генератор учится их игнорировать.
- Фиксированный индекс документов: кодировщик документов остается статичным во время тонкой настройки задачи из-за высокой вычислительной стоимости постоянной переиндексации 21 млн векторов, что ограничивает адаптацию ретривера.
- Обоснование источников и смещения: непараметрическая память остается уязвимой к дезинформации и предвзятостям, заложенным в базовом корпусе знаний (Wikipedia).
- Совместное предварительное обучение: компоненты ретривера и генератора обучались предварительно по отдельности до тонкой настройки на прикладных задачах, что оставляет их совместное предварительное обучение с нуля открытым направлением для исследований.
Ключевые термины
- Retrieval-Augmented Generation (RAG)
- Гибридный фреймворк, объединяющий предварительно обученный нейросетевой ретривер с предварительно обученной моделью sequence-to-sequence для обусловливания генерации извлеченными непараметрическими текстовыми фрагментами.
- Parametric Memory
- Неявные фактологические знания, хранящиеся в весах нейронной сети предварительно обученного генератора seq2seq (BART).
- Non-Parametric Memory
- Явная внешняя коллекция документов (например, плотный векторный индекс FAISS из 21 миллиона фрагментов Wikipedia), к которой обращаются во время выполнения запроса.
- RAG-Sequence
- Формулировка RAG, которая рассматривает извлеченный фрагмент как скрытую переменную, остающуюся неизменной для всей генерируемой последовательности.
- RAG-Token
- Формулировка RAG, которая выполняет маргинализацию по top-k извлеченных документов отдельно для каждого сгенерированного токена, что позволяет синтезировать ответ из нескольких источников.
- Dense Passage Retriever (DPR)
- Двухэнкодерная архитектура на базе BERT, оценивающая релевантность документа запросу через поиск максимального скалярного произведения в пространстве плотных эмбеддингов.
- Maximum Inner Product Search (MIPS)
- Математическая постановка задачи поиска, используемая для быстрого нахождения top-k векторов документов, наиболее близких к вектору запроса, за сублинейное время.
- Index Hot-Swapping
- Практика замены непараметрического индекса документов обновленной информацией без повторного обучения или тонкой настройки параметров модели.
Вопросы
В чем разница между RAG-Sequence и RAG-Token?
RAG-Sequence использует один и тот же извлеченный документ для обусловливания каждого токена во всей последовательности, тогда как RAG-Token выполняет маргинализацию по лучшим документам на каждом шаге, позволяя разным токенам опираться на разные документы.
Обновляются ли представления документов во время тонкой настройки?
Нет. Кодировщик документов и индекс FAISS остаются фиксированными, чтобы избежать высоких вычислительных затрат на переиндексацию 21 миллиона документов во время обучения; обновляются только параметры кодировщика запросов и генератора BART.
Может ли RAG отвечать на вопросы, если ответа нет в извлеченных документах?
Да. Поскольку генерация не ограничена рамками извлечения и поддерживается параметрической памятью BART, RAG правильно отвечает в 11,8% случаев на Natural Questions, когда ни один из лучших извлеченных фрагментов не содержит целевой строки, тогда как экстрактивные модели показывают 0%.
Как RAG обновляет свои знания при изменении фактов об окружающем мире?
Поскольку внешняя память модульная, индекс документов можно заменить «на лету» (hot-swap) более свежим дампом текста (например, заменив индекс Wikipedia 2016 года на индекс 2018 года) без переобучения параметров модели.
Обзор на этой странице написан ИИ по тексту статьи и может содержать ошибки. Подробности смотрите в самой статье.