Paper · arXiv 2005.11401
Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
Veröffentlicht cs.CLcs.LG arXivPDF
Zusammenfassung in drei Zeilen
- 🎯 Rein parametrische Sprachmodelle haben Schwierigkeiten beim Abrufen, Aktualisieren und Verankern von Faktenwissen, was zu Halluzinationen bei wissensintensiven Aufgaben führt.
- 🔧 Führt RAG ein, das einen Dense Passage Retriever (nicht-parametrischer Speicher über Wikipedia) mit einem BART-Generator (parametrischer Speicher) kombiniert und End-to-End über Marginalisierung latenter Dokumente feingetunt wird.
- 📈 Erzielt State-of-the-Art-Ergebnisse bei Open-Domain-QA (44,5 EM auf Natural Questions) und generiert faktischere, spezifischere und diversere Texte als rein parametrische Baselines.
Abstract
Große vortrainierte Sprachmodelle speichern faktisches Wissen in ihren Parametern und erzielen State-of-the-Art-Ergebnisse, wenn sie auf Downstream-NLP-Aufgaben feingetunt werden. Ihre Fähigkeit, auf Wissen zuzugreifen und dieses präzise zu manipulieren, ist jedoch nach wie vor begrenzt, weshalb ihre Leistung bei wissensintensiven Aufgaben hinter aufgabenspezifischen Architekturen zurückbleibt. Zudem sind die Nachvollziehbarkeit ihrer Entscheidungen und die Aktualisierung ihres Weltwissens weiterhin offene Forschungsfragen. Vortrainierte Modelle mit einem differenzierbaren Zugriffsmechanismus auf ein explizites nicht-parametrisches Gedächtnis können dieses Problem überwinden, wurden bisher jedoch nur für extraktive Downstream-Aufgaben untersucht. Wir erforschen ein universelles Fine-Tuning-Rezept für Retrieval-Augmented Generation (RAG) – Modelle, die vortrainierten parametrischen und nicht-parametrischen Speicher für die Sprachgenerierung kombinieren. Wir führen RAG-Modelle ein, bei denen der parametrische Speicher ein vortrainiertes seq2seq-Modell ist und der nicht-parametrische Speicher aus einem dichten Vektorindex von Wikipedia besteht, auf den mit einem vortrainierten neuronalen Retriever zugegriffen wird. Wir vergleichen zwei RAG-Formulierungen: Eine konditioniert über die gesamte generierte Sequenz hinweg auf denselben abgerufenen Passagen, während die andere unterschiedliche Passagen pro Token verwenden kann. Wir finetunen und evaluieren unsere Modelle auf einer Vielzahl wissensintensiver NLP-Aufgaben und setzen neue State-of-the-Art-Ergebnisse bei drei Open-Domain-QA-Aufgaben, womit wir parametrische seq2seq-Modelle und aufgabenspezifische Retrieve-and-Extract-Architekturen übertreffen. Bei Aufgaben der Sprachgenerierung stellen wir fest, dass RAG-Modelle spezifischere, diversere und faktischere Sprache generieren als eine rein parametrische State-of-the-Art-seq2seq-Baseline.
Original-Abstract (Englisch)
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.
Leseleitfaden
Problem und Motivation
Vortrainierte Sprachmodelle speichern umfangreiches Faktenwissen in ihren Parametern (parametrischer Speicher). Allerdings weisen sie erhebliche Schwächen auf: Es fällt ihnen schwer, ihr Wissen ohne erneutes Training zu erweitern oder zu aktualisieren, sie bieten kaum Nachvollziehbarkeit oder Interpretierbarkeit für ihre Ausgaben und neigen zu Halluzinationen.
Hybride parametrisch/nicht-parametrische Modelle wie REALM und ORQA kombinierten zwar differenzierbares Retrieval mit Masked Language Modeling, blieben jedoch auf extraktive Frage-Antwort-Systeme (Question Answering) beschränkt. Standardmäßige Sequence-to-Sequence-Architekturen (seq2seq) wie BART und T5 arbeiteten weitgehend nach dem Closed-Book-Prinzip. Diese Arbeit schließt die Lücke durch den Vorschlag von Retrieval-Augmented Generation (RAG), einem allgemeinen Fine-Tuning-Framework, das einen vortrainierten dichten neuronalen Retriever mit einem autoregressiven seq2seq-Generator sowohl für die Open-Domain-Generierung als auch für Klassifikationsaufgaben koppelt.
Zentrale Ideen
- Hybrider parametrischer und nicht-parametrischer Speicher: Der nicht-parametrische Speicher besteht aus einem dichten Vektorindex über 21 Millionen 100-Wort-Passagen aus Wikipedia, auf den via Maximum Inner Product Search (MIPS) zugegriffen wird. Der parametrische Speicher ist ein vortrainierter BART-Generator.
- End-to-End-Fine-Tuning: Der Query-Encoder und der Generator werden gemeinsam trainiert, indem die abgerufenen Passagen als latente Variablen behandelt werden und die negative marginale Log-Likelihood der Ziel-Token ohne explizite Retrieval-Supervision minimiert wird.
- Zwei Konditionierungs-Formulierungen:
- RAG-Sequence: Konditioniert über die gesamte generierte Sequenz hinweg auf demselben abgerufenen Dokument.
- RAG-Token: Erlaubt es jedem generierten Token, unterschiedliche abgerufene Passagen zu gewichten (attend) und über sie zu marginalisieren.
- Direkt austauschbares Weltwissen (Hot-Swappable): Der externe Index kann zur Inferenzzeit ausgetauscht werden (z. B. Ersetzen eines Wikipedia-Index von 2016 durch einen von 2018), um das Weltwissen ohne Änderung der Modellgewichte zu aktualisieren.
Methode
Gegeben einer Eingabesequenz liefert der Retriever eine Verteilung über Dokumente , und der Generator generiert Ziel-Token konditioniert auf und .
Der Retriever verwendet den Dense Passage Retriever (DPR): wobei und . Die Top--Kandidaten werden mittels FAISS MIPS abgerufen. Der Dokumentenindex und der Dokument-Encoder bleiben fixiert, während und die Parameter des BART-Generators feingetunt werden.
RAG-Sequence
Das Modell behandelt das abgerufene Dokument als eine einzelne latente Variable über die gesamte Sequenz hinweg: Das Decoding kann mittels Thorough Decoding (Ausführen eines Beam Search pro Dokument und Berechnung von Forward Passes für Kandidatenhypothesen über alle Dokumente hinweg) oder Fast Decoding (Approximation fehlender Beam-Wahrscheinlichkeiten als 0) ausgewertet werden.
RAG-Token
Das Modell marginalisiert bei jedem Token-Schritt über Dokumente, was das Mischen von Inhalten über verschiedene Quellen auf Token-Ebene ermöglicht: Dies liefert eine standardmäßige autoregressive Übergangswahrscheinlichkeit, die sich direkt in den Beam Search integrieren lässt.
Ergebnisse
- Open-Domain QA: RAG erzielt neue State-of-the-Art-Ergebnisse auf offenen Benchmarks gemessen am Exact Match (EM):
- Natural Questions: 44,5 (RAG-Seq) vs. 41,5 (DPR) und 36,6 (T5-11B+SSM).
- TriviaQA (Standard Open Split): 56,8 (RAG-Seq); auf dem TQA-Wiki-Test-Split: 68,0 (RAG-Seq) vs. 60,5 (T5-11B+SSM).
- WebQuestions: 45,5 (RAG-Token) vs. 41,1 (DPR).
- CuratedTrec: 52,2 (RAG-Seq) vs. 50,6 (DPR).
- Bemerkenswert ist, dass RAG auf Natural Questions 11,8% EM erreichte, selbst wenn die korrekte Antwort im abgerufenen Kontext vollständig fehlte (während extraktive Modelle hier 0% erzielen).
- Abstraktive Generierung: Auf Open MS-MARCO erreicht RAG-Sequence 40,8 Rouge-L und 44,2 Bleu-1 und übertrifft damit BART (38,2 Rouge-L, 41,6 Bleu-1).
- Generierung von Jeopardy-Fragen: Menschliche Annotatoren bewerteten RAG-Token in 42,7% der Fälle als faktischer als BART, während BART nur in 7,1% der Fälle überlegen war. Evaluatoren stuften RAG zudem als spezifischer ein (37,4% vs. 16,8%).
- Faktenverifikation: Auf FEVER 3-way erreicht RAG eine Label-Genauigkeit von 72,5% (innerhalb von 4,3% zu Pipeline-Systemen mit Gold-Evidence-Supervision); bei FEVER 2-way erreicht RAG 89,5% Genauigkeit.
- Wissensaktualisierung via Hot-Swapping: In einem Test mit 82 Staatsoberhäuptern (Leaders) im Zeitraum zwischen 2016 und 2018 erzielte RAG eine Genauigkeit von 70% für Politiker von 2016 mit dem 2016er-Index und 68% für Politiker von 2018 mit dem 2018er-Index; bei einer Vertauschung der Indizes brach die Leistung drastisch ein (12% und 4%).
Grenzen und offene Fragen
- Retrieval Collapse: Bei Aufgaben, die eine schwächere explizite faktische Konditionierung erfordern (wie das offene Generieren von Geschichten), kann der Retriever dazu neigen, stets dieselben, statischen Dokumente abzurufen, während der Generator lernt, diese zu ignorieren.
- Statischer Dokumentenindex: Der Dokument-Encoder wird während des Task-Fine-Tunings fixiert, da die kontinuierliche Neuindizierung von 21 Millionen Vektoren extrem rechenintensiv ist; dies begrenzt die Anpassungsfähigkeit des Retrievers.
- Quellen-Fundierung und Bias: Der nicht-parametrische Speicher bleibt anfällig für Fehlinformationen und Vorurteile, die im zugrunde liegenden Wissenskorpus (Wikipedia) enthalten sind.
- Gemeinsames Pre-Training: Retriever- und Generator-Komponenten wurden vor dem Fine-Tuning auf Downstream-Aufgaben separat vortrainiert; ein gemeinsames Pre-Training von Grund auf bleibt eine offene Fragestellung.
Schlüsselbegriffe
- Retrieval-Augmented Generation (RAG)
- Ein hybrides Framework, das einen vortrainierten neuronalen Retriever mit einem vortrainierten Sequence-to-Sequence-Modell kombiniert, um die Generierung auf abgerufene nicht-parametrische Textpassagen zu konditionieren.
- Parametric Memory
- Das implizite Faktenwissen, das in den neuronalen Netzwerkgewichten des vortrainierten seq2seq-Generators (BART) gespeichert ist.
- Non-Parametric Memory
- Eine explizite, externe Dokumentsammlung (z. B. ein dichter FAISS-Vektorindex mit 21 Millionen Wikipedia-Passagen), auf die zur Laufzeit zugegriffen wird.
- RAG-Sequence
- Eine RAG-Formulierung, die die abgerufene Passage als latente Variable behandelt, welche über die gesamte generierte Sequenz hinweg konstant gehalten wird.
- RAG-Token
- Eine RAG-Formulierung, die bei jedem generierten Token individuell über die Top-k abgerufenen Dokumente marginalisiert, was die Synthese über mehrere Quellen hinweg ermöglicht.
- Dense Passage Retriever (DPR)
- Eine Dual-BERT-Encoder-Architektur, die die Relevanz von Dokumenten für eine Anfrage mittels Maximum Inner Product Search in einem dichten Einbettungsraum berechnet.
- Maximum Inner Product Search (MIPS)
- Die mathematische Suchformulierung zur schnellen Ermittlung der Top-k-Dokumentvektoren mit der höchsten Ähnlichkeit zu einem Query-Vektor in sublinearer Zeit.
- Index Hot-Swapping
- Das Austauschen des nicht-parametrischen Dokumentenindex durch aktualisierte Informationen ohne Nachtraining oder Fine-Tuning der Modellparameter.
Fragen
Was ist der Unterschied zwischen RAG-Sequence und RAG-Token?
RAG-Sequence verwendet exakt dasselbe abgerufene Dokument zur Konditionierung jedes Tokens über die gesamte Sequenz, während RAG-Token bei jedem Generierungsschritt über die Top-Dokumente marginalisiert, sodass verschiedene Tokens durch unterschiedliche Dokumente gestützt werden können.
Werden die Dokumentrepräsentationen während des Fine-Tunings aktualisiert?
Nein. Der Dokument-Encoder und der FAISS-Index bleiben fixiert, um den hohen Rechenaufwand für die Neuindizierung von 21 Millionen Dokumenten während des Trainings zu vermeiden; lediglich der Query-Encoder und die Parameter des BART-Generators werden aktualisiert.
Kann RAG Fragen beantworten, wenn die Antwort nicht in den abgerufenen Dokumenten enthalten ist?
Ja. Da die Generierung frei erfolgt und durch das parametrische Gedächtnis von BART unterstützt wird, beantwortet RAG 11,8% der Fälle in Natural Questions korrekt, in denen keine der abgerufenen Top-Passagen die Zielzeichenkette enthält, während extraktive Modelle 0% erzielen.
Wie aktualisiert RAG sein Wissen, wenn sich reale Fakten ändern?
Da der externe Speicher modular aufgebaut ist, kann der Dokumentenindex im laufenden Betrieb („hot-swapped“) durch einen neueren Text-Dump ersetzt werden (z. B. Ersetzen eines Wikipedia-Index von 2016 durch einen von 2018), ohne dass die Modellparameter neu trainiert werden müssen.
Die Übersicht auf dieser Seite wurde von einer KI aus dem Paper erstellt und kann Fehler enthalten. Details stehen im Paper.