Retrieval Augmented Language Model Pre-Training (REALM)
Schlüsselwörter : Sprachmodellierung, Beantwortung von Fragen, Abrufen von Passagen, interpretierbares Modell, interpretierbares Wissen, T5, Retriever für neuronales Wissen
In diesem Beitrag werden wir den Artikel REALM: Retrieval-Augmented Language Model Pre-Training von Google Research durchgehen
TL;DR
- Durch das Vortraining zum Sprachmodell wird ein gutes Maß an Weltwissen für NLP-Aufgaben wie das Beantworten von Fragen erfasst. Dieses Wissen wird jedoch in Parametern des neuronalen Netzwerks gespeichert. Um mehr Wissen zu speichern, muss man sich für ein noch größeres Netzwerk, also noch mehr Parameter, entscheiden.
- Hauptbeitrag dieses Papiers: Eine Lösung für das oben genannte Problem. Der in diesem Artikel beschriebene Ansatz ermöglicht es uns, neuronale Modelle mit relativ weniger Parametern zu erstellen, die bei nachgelagerten Aufgaben wie der Frage-Antwort-Funktion eine bessere Leistung als SOTA erbringen.
- Um das Wissen auf modulare und interpretierbare Weise zu erfassen, wird das Vortraining des Sprachmodells durch einen Knowledge Retriever ergänzt, der es dem Modell ermöglicht, die Dokumente aus einem großen Korpus wie Wikipedia, der während des Vortrainings verwendet wird, abzurufen und zu verwalten. Feinabstimmung und Schlussfolgerung.
- Die Kernidee von REALM besteht darin, den Retriever mithilfe eines leistungsbasierten Signals aus unbeaufsichtigtem Text zu trainieren: Ein Retrieval, das die Verwirrung des Sprachmodells verbessert, ist hilfreich und sollte belohnt werden, während ein nicht informativer Retrieval bestraft werden sollte.
Hintergrund und Experimentaufbau
Das Vortraining des Sprachmodells wurde verwendet, um nützliche Sprachdarstellungen aus unbeschriftetem Text zu lernen. Das vorab trainierte Modell wird dann feinabgestimmt, um die nachgelagerte Aufgabe auszuführen. Die Modellparameter werden in dieser Feinabstimmungsphase im Wesentlichen auf der Grundlage der gelernten Darstellungen in der Phase vor dem Training aktualisiert. In diesem Artikel wird das Masked-Language-Model (MLM) als Vortrainingsvariante verwendet. Ein wesentlicher Unterschied oder eine wesentliche Erweiterung in diesem Artikel besteht darin, dass die Autoren unterschiedliche Maskierungsvarianten verwenden, beispielsweise die Salient-Span-Maskierung, die wir weiter besprechen werden.
Ich glaube, dass die Leser mit der Aufgabe der Open-Domain-Fragenbeantwortung vertraut sind. Die Autoren haben diese Aufgabe gewählt, um zu sehen, welches Wissen in die Modellparameter eingeflossen ist. Die typische Architektur von Frage-Antwort-Systemen nutzt einen zweistufigen Ansatz: relevante Dokumente abrufen und eine Antwort aus dem Dokument extrahieren. Die Schlüsselidee in diesem Artikel erweitert diesen zweistufigen Ansatz um das Vortraining des Sprachmodells.
Wichtige Beiträge
- Ein neuer Ansatz, der das Vortraining des Sprachmodells um einen Text-Wissens-Retriever erweitert. Außerdem geht es darum, wie man einen solchen Wissensabrufer unbeaufsichtigt trainieren kann, indem man das Masked-Language-Model als Lernsignal verwendet und durch einen Abrufschritt, der Millionen von Dokumenten berücksichtigt, zurückpropagiert. Im Wesentlichen sollte ein Abruf, der die Verwirrung des Sprachmodells verbessert, belohnt und der nicht informative Abruf bestraft werden.
- Die Wirksamkeit des REALM-Vortrainings wird durch die Feinabstimmung der Open-Domain-Fragenbeantwortung und den Vergleich mit modernsten Modellen anhand von drei Frage-Antwort-Benchmarks demonstriert. Der REALM-Ansatz übertrifft alle Methoden hinsichtlich der absoluten Genauigkeit um 4–16 %.
- Die Integration eines groß angelegten neuronalen Retrieval-Moduls während des Vortrainings stellt eine erhebliche Rechenherausforderung dar, da der Retriever Millionen von Dokumenten für jeden Vortrainingsschritt berücksichtigen und durch Backpropagation lernen muss.
- Lösung: Strukturieren Sie den Retriever so, dass die für jedes Dokument durchgeführten Berechnungen zwischengespeichert und asynchron aktualisiert werden können und die Auswahl der besten Dokumente als MIPS formuliert werden kann.
- Frühere Arbeiten verwendeten diskrete Retrieval-Schritte für neuronale Netze ( Danqi Chens DrQA ), galten jedoch nicht für das LM-Vortraining und verwendeten nicht erlernte Retriever
- kNN-LMs (Khandelwal et al.) verwendet nur Beispiele, die für die Zielaufgabe gekennzeichnet sind, und nicht für nachgelagerte Aufgaben fein abgestimmt sind. Außerdem kommt bei diesem Ansatz kein Vortraining zum Einsatz, sondern es erfolgt ein einziger Datendurchlauf, um den Trainingskontext und das Ziel des Schlüsselwertspeichers zu erstellen.
- Der REALM-Ansatz ist vorab trainiert und dann auf Open-Domain-Frage-Antworten abgestimmt und wird anhand von drei Benchmark-Datensätzen bewertet: NaturalQuestion-open, WebQuestions, CuratedTrec.
- Im Vergleich zu SOTA Open-Domain-Frage-Antwort-Modellen wie T5
- Bei der Auswertung wird die Metrik „Exakte Übereinstimmung“ verwendet.
- Sowohl beim Vortraining als auch bei der Feinabstimmung lernt REALM eine Wahrscheinlichkeitsverteilung P(y|x) für die Eingabe x über die möglichen Ausgaben y. Für das Vortraining ist x ein Satz aus dem Vortrainingskorpus X mit maskierten Token oder maskierten hervorstehenden Spannen. Für eine Feinabstimmungsaufgabe ist x eine Frage und y die Antwort.
- REALM zerlegt p(y|x) in zwei Schritte: Abrufen und Vorhersagen. Für die Eingabe x werden relevante Dokumente z aus einem Wissenskorpus Z abgerufen. Anschließend wird die Eingabe sowie das abgerufene Dokument konditioniert, um die Ausgabe y zu generieren. Hier wird z als latente Variable behandelt und die Gesamtwahrscheinlichkeit der Generierung von y wird berechnet, indem über alle möglichen Dokumente z marginalisiert wird:
Die Modellarchitektur wird in Form von zwei Komponenten dargestellt: einem Neural Knowledge Retriever , der p(z|x) modelliert, und dem Knowledge Augmented Encoder , der p(y|z,x) modelliert.
Neural Knowledge Retriever
Der Retriever wird mithilfe eines dichten inneren Produktmodells definiert:
Der Relevanzwert f(x,z) zwischen x und z ist als inneres Produkt der Vektoreinbettungen definiert. Die Abrufverteilung ist der Softmax über alle Relevanzwerte. Das detaillierte Diagramm zur Funktionsweise von Knowledge Retriever ist unten dargestellt:
Wissenserweiterter Encoder
Bei einer Eingabe x und einem abgerufenen Dokument z definiert Knowledge Augmented Encoder p(y|z,x). Eingabe x und abgerufenes Dokument z werden zu einer einzigen Sequenz zusammengefügt und in ein anderes BERT-Modell eingespeist, und die [CLS]-Token-Darstellung wird als gepoolte Darstellung der Sequenz verwendet. Ihre Kernidee besteht darin, eine gegenseitige Aufmerksamkeit zwischen Eingabe x und Dokument z zu ermöglichen, bevor y vorhergesagt wird.
Zur Aktualisierung zeigt die folgende Abbildung, was Queraufmerksamkeit bewirkt. In der Encoder-Decoder-Einstellung wird auf der Decoderseite für jeden bisher dekodierten Zeitschritt die Darstellung für jedes Token mithilfe der Queraufmerksamkeit neu berechnet. Das heißt, indem jedes bis dahin dekodierte Token als Abfrage verwendet wird und die Darstellung der letzten Ebene des Encoders als Schlüsselwert verwendet wird, wird die Aufmerksamkeit berechnet und jede Token-Repräsentation auf der Decoderseite wird neu berechnet.
Für die Vortrainingsaufgabe „Masked-Language-Model“ muss das Modell den ursprünglichen Wert des maskierten Tokens in der Eingabe x vorhersagen. Es wird das gleiche MLM-Ziel verwendet wie im BERT-Papier dargestellt.
Für die Feinabstimmungsaufgabe zur Beantwortung offener Fragen möchten wir, dass das Modell die Antwort y liefert. Die Annahme, dass die Antwort y als zusammenhängende Folge von Token in einem Dokument z zu finden ist. Sei S(z, y) die Menge der Spannen, die zu y in z passen. Dann kann p(y|z,x) definiert werden als:
Einführung induktiver Vorurteile in das Vortraining
Die Autoren haben einige Strategien vorgestellt, die das Modell weiter zu aussagekräftigeren Abrufen führten:
Maskierung ausgeprägter Spannen
Damit das Modell bei der Vorhersage des fehlenden Tokens im MLM etwas über das Weltwissen lernen kann, haben die Autoren hervorstechende Bereiche im Zusammenhang mit benannten Entitäten ausgeblendet. Sie verwendeten einen BERT-basierten Named-Entity-Tagger und maskierten Spans, die als Entitäten getaggt waren, und fragten das Modell im REALM-Vortraining ab, um maskierte Entitäten vorherzusagen.
Nulldokument
Stellen Sie sich den Fall vor, dass kein Dokument abgerufen werden muss, um die maskierten Token vorherzusagen. Dies wird modelliert, indem den Top-k-abgerufenen Dokumenten ein leeres Nulldokument hinzugefügt wird.
Verbot trivialer Abrufe
Hier haben die Autoren versucht, das Problem anzugehen, wenn der Pre-Training-Korpus und der Wissenskorpus identisch sind. Wenn der maskierte Satz x aus Dokument z stammt, kann der Wissensencoder y trivial vorhersagen, indem er sich die unmaskierte Version von x in Dokument z ansieht. Dies führt zu einem großen positiven Gradienten. Wenn dies zu häufig vorkommt, lernt der Wissensabrufer schließlich, nach exakten Zeichenfolgenübereinstimmungen zwischen der Eingabe x und dem Dokument z zu suchen. Daher sind solche Kandidaten während der Vorausbildung ausgeschlossen.
Initialisierung – Warmstart-Einbettungen
Wenn der Retriever zu Beginn des Trainings keine guten Einbettungen für die Eingabe x und die Dokumente z hat, werden die abgerufenen Dokumente z wahrscheinlich keinen Bezug zur Eingabe x haben. Dadurch lernt der Wissensencoder, die abgerufenen Dokumente zu ignorieren. Sobald dies geschieht, erhält der Wissensabrufer nie einen sinnvollen Gradienten und kann sich daher nicht verbessern, wodurch ein Teufelskreis entsteht. Um dieses Kaltstartproblem zu vermeiden, führen Autoren einen Warmstart für diese Einbettungen durch, indem sie BERT nutzen, das mit einem einfachen Trainingsziel trainiert wurde – Inverse Cloze Task (ICT), bei dem das Modell bei gegebenem Satz darauf trainiert wird, den Kontext/das Dokument vorherzusagen, aus dem es stammt.
Ausbildung
Das Trainingsziel für das Vortraining und die Feinabstimmung besteht darin, die Log-Likelihood log p(y|x) der korrekten Ausgabe y zu maximieren. Da Neural Knowledge Retriever (θ) und Knowledge Augmented Encoder (ϕ) differenzierbare neuronale Netze sind, können wir Gradienten berechnen, die Fehler rückwärts ausbreiten und die Modellparameter mithilfe des stochastischen Gradientenabstiegs aktualisieren.
Die größte Herausforderung besteht darin, dass die Grenzwahrscheinlichkeitsberechnung p(y|x) die Summierung aller Dokumente z im Wissenskorpus Z beinhaltet. Die Autoren haben dies angenähert, indem sie stattdessen die Top-k-Dokumente mit der höchsten Wahrscheinlichkeit summiert haben. Autoren nutzen MIPS-Algorithmen (Maximum Inner Product Search) , um die ungefähren Top-k-Dokumente mithilfe der Relevanzbewertung f(x,z) zu finden – dem inneren Produkt zwischen Abfrage und Dokumenteinbettungen.
Um MIPS einzusetzen, wird ein Suchindex unter Verwendung der Dokumenteinbettungen erstellt, wie in der Abbildung oben für Neural Knowledge Retriever(θ) gezeigt . Ein Problem hierbei besteht darin, dass der Suchindex jedes Mal veraltet, wenn die Modellparameter nach jedem Schritt aktualisiert werden .
Behebung des Problems mit veralteten MIPS-Suchindizes durch asynchrone Aktualisierung
Asynchrone erneute Einbettung und Neuindizierung
Eine Lösung, die Autoren verwenden, besteht darin, den Suchindex zu aktualisieren, indem sie nach einigen hundert Schritten alle Dokumente mit den neuesten Modellparametern asynchron neu einbetten und neu indizieren. Selbst mit dieser Lösung ist der Index zwischen den Aktualisierungen etwas veraltet. Die Autoren zeigen jedoch empirisch, dass dieses Verfahren zu einer stabilen Optimierung führt, sofern die Indexaktualisierung ausreichend häufig erfolgt.
Zwei Jobs: Trainer und Indexersteller
Die Abbildung unten zeigt das REALM-Vortraining mit asynchronen MIPS-Aktualisierungen. Zu jedem Zeitpunkt werden zwei Jobs ausgeführt: der primäre Trainer-Job, der Verlaufsaktualisierungen der Parameter durchführt, und der sekundäre Index-Builder-Job, der die Dokumente einbettet und indiziert. Wie aus der Abbildung hervorgeht, sendet der Trainer dem Index-Builder einen Snapshot seiner Parameter. Der Trainer trainiert dann weiter, während der Index-Builder den aktuellsten Parameter-Snapshot verwendet, um im Hintergrund einen neuen Index zu erstellen. Sobald ein neuer Index erstellt ist, wird er an den Trainer gesendet.
Auswahl beim Aktualisieren
Die Autoren haben die asynchrone Aktualisierung nur für Vortrainingszwecke verwendet, während sie sowohl für Vortrainings- als auch für Feinabstimmungsaufgaben hätte verwendet werden können. Die Autoren verwendeten den MIPS-Index, der einmal erstellt und zur Feinabstimmung verwendet wurde, und aktualisierten keine Dokumenteinbettungen.
Ein interessantes Experiment wäre herauszufinden, wie die Aktualisierungsrate des MIPS-Index die Modellleistung verbessert. Auch die Auswirkungen der Verwendung mehrerer Quellen für Knowledge Corpus.
Was ist Neural Knowledge Retriever-Lernen?
Die Autoren haben klar erklärt, wie das Trainingsziel sinnvolle Abrufe fördert – indem relevante Abrufe belohnt und irrelevante Abrufe bestraft werden.
Für eine gegebene Abfrage x und ein gegebenes Dokument z wird der Relevanzwert f(x,z) vom Retriever dem Dokument z zugewiesen. Es wird demonstriert, wie ein einzelner Schritt des Gradientenabstiegs während des REALM-Vortrainings diesen Wert verändert, indem der Gradient in Bezug auf die Parameter von Neural Knowledge Retriever (θ) betrachtet wird:
- Für jedes Dokument z ermutigt der Gradient den Retriever, die Punktzahl f(x,z) um r(z) zu ändern -> steigend, wenn r(z) positiv ist, und sinkend, wenn r(z) negativ ist.
- r(z) ist positiv, wenn p(y|z,x) > p(y|x) -> Wahrscheinlichkeit der Vorhersage der korrekten Ausgabe, wenn das Dokument z größer ist als die Wahrscheinlichkeit der korrekten Ausgabe, wenn ein Dokument zufällig aus p(z| ausgewählt wird X). Daher erhält Dokument z ein positives Update, wenn die Leistung besser ist als erwartet. Die detaillierte Ableitung des Gradienten finden Sie im Anhang der Arbeit
Die Autoren präsentieren einen Vergleich des REALM-Ansatzes mit Retrieval-basierten Open-QA- und Generation-basierten Open-QA-Systemen. Abrufbasierte offene QA-Systeme rufen zunächst relevante Dokumente ab und ein Leseverständnissystem extrahiert die Antworten aus den Dokumenten. Generativ basierte offene QA-Systeme modellieren dies als Sequenzvorhersageaufgabe – kodieren Sie die Frage und dekodieren Sie dann die Antwort Token für Token basierend auf der Kodierung.
Die Autoren haben alle Hyperparameter aus dem Artikel wiederverwendet: Lee et al. (2019) . Aktuelle Details zu Schulungsdetails auf Infrastrukturebene, z. B. wie viele TPUs verwendet werden, Chargengröße usw., finden Sie in der Veröffentlichung.
- Tabelle 1 zeigt die Genauigkeit verschiedener Ansätze für drei Open-QA-Datensätze. Die Tabelle zeigt auch die Anzahl der Parameter für jedes Modell.
- Wie aus der Tabelle hervorgeht, sind generative offene QA-Systeme auf Basis von T5 leistungsstark und ihre Leistung verbessert sich mit der Modellgröße. Im Gegensatz dazu übertrifft REALM(39.2, 40.4) das T5–11B(34.5)-Modell, ist aber 30-mal kleiner .
- Der direkteste Vergleich von REALM erfolgt mit ORQA, wo die Feinabstimmung, Hyperparameter und Trainingsdaten identisch sind. Die bei REALM gegenüber ORQA beobachtete Verbesserung ist auf bessere Methoden vor dem Training zurückzuführen. Die Tabelle zeigt auch, dass der REALM-Ansatz sowohl auf die Einzelkorpus-Einstellung als auch auf die separate Korpus-Einstellung angewendet werden kann.
- Die Autoren haben kritische Komponenten von REALM entfernt und die Auswirkungen vorgestellt. Um zu verstehen, ob die REALM-Vortrainings-MLM-Aufgabe den Retriever oder Encoder verbessert, haben die Autoren die Parameter von Retriever oder Encoder vor dem Vortraining auf ihre Grundeinstellungen (wie im ORQA-Papier dargestellt) zurückgesetzt und diese in die Feinabstimmung eingespeist.
- Durch das Zurücksetzen von Retriever und Encoder wird das System auf den ORQA-Ausgangswert reduziert. Die Schlussfolgerung aus der Ablationsstudie ist, dass beide Komponenten vom REALM-Ansatz profitieren, die beste Leistung jedoch erzielt wird, wenn beide mit REALM vorab trainiert und beide verwendet werden .
Ein explizites Retrieval-System ermöglicht es Autoren, sich einfach durch Modifizierung der Korpusdokumente an neues Weltwissen anzupassen. Um dies zu demonstrieren, ersetzten die Autoren nach Abschluss des Vortrainings den Wissenskorpus durch eine neuere Version des Wikipedia-Korpus. Wenn es bei der Eingabeabfrage um eine Tatsache geht, bei der die beiden Korpora nicht übereinstimmen, kann REALM die Vorhersage ändern, um die aktualisierten Informationen widerzuspiegeln. Selbst mit einem expliziten Wissensabrufmechanismus merkt sich der wissenserweiterte Encoder jedoch letztendlich etwas Weltwissen, sodass die Vorhersage einiger Eingabesätze nicht mit dem neuen Korpus aktualisiert wird.

![Was ist überhaupt eine verknüpfte Liste? [Teil 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































