Heim > Artikel > Technologie-Peripheriegeräte > Meta veröffentlicht das erste „nichtparametrische“ Maskensprachenmodell NPM: übertrifft GPT-3 mit der 500-fachen Anzahl von Parametern
Obwohl die leistungsstarke Leistung großer Sprachmodelle im NLP-Bereich erstaunlich ist, sind die negativen Kosten, die sie mit sich bringen, auch gravierend, wie zum Beispiel, dass das Training zu teuer und die Aktualisierung schwierig ist. , und es ist schwierig, mit Long-Tail-Wissen umzugehen.
Und Sprachmodelle verwenden normalerweise eine Softmax-Schicht mit einem begrenzten Vokabular in der Vorhersageschicht, die grundsätzlich keine seltenen Wörter oder Phrasen ausgibt, was die Ausdrucksfähigkeit des Modells stark einschränkt.
Um das Long-Tail-Problem des Modells zu lösen, haben Wissenschaftler der University of Washington, Meta AI und des Allen Institute for Artificial Intelligence kürzlich gemeinsam das erste „NonParametric Masked Language Model“ (NonParametric) vorgeschlagen Maskiertes Sprachmodell (NPM), das die Softmax-Ausgabe ersetzt, indem es sich auf die nichtparametrische Verteilung jeder Phrase im Korpus bezieht.
Papierlink: https://arxiv.org/abs/2212.01349
Codelink: https://github .com/facebookresearch/NPM
NPM kann effektiv mit einem kontrastiven Ziel und einer stapelinternen Annäherung an den Abruf des gesamten Korpus trainiert werden.
Die Forscher führten eine Zero-Shot-Bewertung von 9 geschlossenen und 7 offenen Aufgaben durch, darunter räumlich-zeitliche Transformations- und Übersetzungsaufgaben auf Wortebene, die die Notwendigkeit betonen, neue Fakten oder seltene Phrasen vorherzusagen.
Die Ergebnisse ergaben, dass NPM unabhängig davon, ob die Abruf- und Generierungsmethoden verwendet werden, deutlich besser ist als Modelle mit größeren Parametern, wie etwa GPT-3 mit 500-mal höheren Parametern und OPT 13B mit 37-mal höherer Leistung Eine ganze Menge, und NPM ist besonders gut darin, mit seltenen Mustern (Wortbedeutungen oder Fakten) umzugehen und seltene oder kaum gesehene Wörter (wie nicht-lateinische Schriften) vorherzusagen.
Obwohl dieses Problem durch die Kombination einiger vorhandener Abruf- und Generierungsarbeiten gemildert werden kann, sind diese Modelle für den letzten Vorhersageteil noch erforderlich Softmax-Schicht zur Vorhersage von Token, was das Long-Tail-Problem nicht grundsätzlich löst.
NPM besteht aus einem Encoder und einem Referenzkorpus. Der Encoder ordnet den Text einem Vektor fester Größe zu, und dann ruft NPM eine Phrase daraus ab und füllt [MASKE] aus.
Wie Sie sehen können, wählt NPM die für die Phrasen erhaltene nichtparametrische Verteilung, anstatt ein festes Ausgabevokabular Softmax als Ausgabe zu verwenden.
Aber das Training nichtparametrischer Modelle bringt auch zwei Hauptprobleme mit sich:
1 Das Abrufen des gesamten Korpus während des Trainingsprozesses ist sehr zeitaufwändig und arbeitsintensiv Dieses Problem wurde mithilfe einer Intra-Batch-Approximation der zu lösenden Vergleichsziele für den vollständigen Korpusabruf gelöst.
Kurz gesagt, NPM entfernt den Softmax des Ausgabevokabulars vollständig und erreicht einen effektiven unbegrenzten Ausgaberaum, indem eine beliebige Anzahl von N-Gramm vorhergesagt wird.
Das resultierende Modell kann „extrem seltene“ oder sogar „völlig unsichtbare“ Wörter (wie koreanische Wörter) vorhersagen und unbegrenzte Vokabulargrößen effektiv unterstützen, während bestehende Modelle dies nicht können.
NPM-Methode
Das reine Encoder-Modell (nur Encoder) ist ein sehr wettbewerbsfähiges Darstellungsmodell, bestehende reine Codierungsmodelle können jedoch keine Vorhersagen mit einer unbekannten Anzahl von Token treffen, sodass ihre Verwendung ohne Feinabstimmung eingeschränkt ist.
NPM löst dieses Problem, indem es eine Phrase abruft, um eine beliebige Anzahl von Token in [MASK] zu füllen. Der Encoder ordnet jede einzelne Phrase im Referenzkorpus C einem dichten Vektorraum zu.
Zur Testzeit ordnet der Encoder die maskierte Abfrage demselben Vektorraum zu und ruft Phrasen aus C ab, um [MASKE] zu füllen.
Hier muss C nicht unbedingt mit dem Trainingskorpus identisch sein und kann zum Testzeitpunkt ersetzt oder erweitert werden, ohne den Encoder neu zu trainieren. In der Praxis gibt es eine große Anzahl von Phrasen im Korpus, und die Indizierung aller Phrasen ist teuer.
Wenn wir beispielsweise eine Phrase mit höchstens l Token (l≈20) betrachten, müssen wir die Anzahl l×|C| indizieren, was zeitaufwändig sein kann.
Die Forscher indizierten jeden einzelnen Token in C und reduzierten so die Größe des Index von l×|C| auf |C|, dann im Test Gleichzeitig wird die nichtparametrische Verteilung aller Phrasen angenähert, indem für den Anfang bzw. das Ende k-nächste Nachbarn gesucht werden.Zum Beispiel wird die aus 4 BPE-Token bestehende Phrase Thessaloniki durch die Verbindung von c1 und c4 dargestellt, die dem Anfang (The) bzw. dem Ende (iki) der Phrase entsprechen.
Stellen Sie dann eine Abfrage mit zwei Vektoren q_start und q_end im selben Vektorraum dar und verwenden Sie jeden Vektor, um den Anfang und das Ende einer plausiblen Phrase abzurufen, bevor Sie die Aggregation durchführen.
Die Voraussetzung dafür ist, dass die Darstellung des Anfangs und des Endes gut genug ist, das heißt, der Startpunkt von q liegt nahe genug an c1 und der Endpunkt von q liegt nahe genug an c4, und das war auch der Fall während des Ausbildungsprozesses sichergestellt.
Training
NPM wird an unbeschrifteten Textdaten trainiert, um sicherzustellen, dass der Encoder den Text in einen schönen dichten Vektorraum abbildet.
Beim Training von NPM gibt es zwei Hauptprobleme: 1) Das vollständige Abrufen des Korpus macht das Training sehr zeitaufwändig. 2) Das Füllen von [MASK] mit Phrasen beliebiger Länge anstelle von Token.
1. Maskierung Maskierung
Bei der Span-Maskierung werden fortlaufende Token maskiert, deren Längen aus einer geometrischen Verteilung abgetastet werden.
Die Forscher erweiterten dies:
1) Wenn einige Fragmente in anderen Sequenzen im Batch gleichzeitig auftreten, werden sie dann maskiert, um während des Trainings positive Ergebnisse im Batch sicherzustellen.
Zum Beispiel sind im maskierten Clip 2010 die Seattle Seahawks und alle anderen in einer anderen Sequenz gleichzeitig zu sehen.
Aber für das Bigramm-„Spiel“ können sie nicht zusammen maskiert werden. Obwohl sie auch in zwei Sequenzen auftreten, treten sie nicht gleichzeitig auf.
2) Anstatt jeden Token im Fragment durch [MASK] zu ersetzen, ersetzen Sie das gesamte Fragment durch zwei spezielle Token [MASKs][MASKe].
Im obigen Beispiel wird es beispielsweise unabhängig von der Länge des maskierten Segments durch [MASKs][MASKe] ersetzt, sodass die Start- und Endvektoren jedes Segments erhalten werden können, was die Argumentation erleichtert.
2. Trainingsziel
Unter der Annahme, dass es sich bei dem maskierten Fragment um die Seattle Seahawks handelt, sollte das Modell während des Tests die Phrase „Seattle Seahawks“ aus anderen Sequenzen im Referenzkorpus abrufen.
In der Inferenzphase erhält das Modell Vektoren von [MASKs] und [MASKe] und verwendet sie, um den Anfang und das Ende der Phrase aus dem Korpus abzurufen.
Deshalb sollte das Trainingsziel dazu führen, dass der Vektor von [MASKs] näher an dem der Seattle Seahawks und weiter von anderen Token entfernt ist, und sollte in keiner Weise derselbe sein, wie zum Beispiel der erste.
Wir tun dies, indem wir das Modell trainieren, um den gesamten Korpus an andere Sequenzen im Stapel anzunähern. Insbesondere trainieren wir das Modell, um die Start- und Endpunkte des Seattle Seahawks-Segments aus anderen Sequenzen im selben Stapel abzurufen.
Es ist zu beachten, dass diese Maskierungsstrategie sicherstellt, dass jeder maskierte Bereich ein gleichzeitig auftretendes Segment in einem Stapel hat.
Den Ergebnissen nach zu urteilen, schneidet NPM unter der Zero-Shot-Einstellung besser ab als andere Basismodelle.
Unter den parametrischen Modellen erzielte RoBERTa die beste Leistung und übertraf unerwartet Modelle wie GPT-3, wahrscheinlich weil die Bidirektionalität des reinen Encodermodells eine entscheidende Rolle spielte, was auch darauf hindeutet, dass kausale Sprachmodelle möglicherweise nicht geeignet sind Wahl für die Klassifizierung. Die
kNN-LM-Methode fügt dem parametrischen Modell nichtparametrische Komponenten hinzu und ihre Leistung ist besser als alle anderen Basislinien. Dennoch schneidet die ausschließliche Verwendung von Retrieval (kNN) in GPT-2 schlecht ab, was auf die Einschränkungen bei der Verwendung von kNN nur zur Inferenzzeit hinweist.
Sowohl NPM SINGLE als auch NPM übertrafen alle Baselines deutlich und erzielten bei allen Datensätzen eine durchweg überlegene Leistung. Dies zeigt, dass nichtparametrische Modelle auch für Aufgaben, die nicht explizit externes Wissen erfordern, sehr konkurrenzfähig sind.
Die qualitative Analyse nutzt die Vorhersageergebnisse von RoBERTa und NPM in Stimmungsanalyseaufgaben. Im ersten Beispiel bedeutet billig nicht teuer, im zweiten Beispiel bedeutet billig schlechte Qualität.
RoBERTas Vorhersagen waren für beide Beispiele positiv, während NPM die richtige Vorhersage machte, indem es Kontexte abgerufen hat, in denen „cheap“ im gleichen Kontext wie die Eingabe verwendet wurde.
Es kann auch festgestellt werden, dass die von NPM ausgegebene Darstellung zu einer besseren Begriffsklärung führen kann. RoBERTa weist beispielsweise einen hohen Ähnlichkeitswert zwischen „billig“ und „billig“ zu.
Andererseits weist NPM erfolgreich einen niedrigen Ähnlichkeitswert zwischen „billig“ und „billig“ zu, was auch zeigt, dass dieses nichtparametrische Training mit kontrastierenden Zielen effektiv ist und das Repräsentationslernen besser verbessern kann, während eine kNN-Inferenz wie ein Algorithmus ohne Training völlig unmöglich ist .
Referenz: https://arxiv.org/abs/2212.01349
Das obige ist der detaillierte Inhalt vonMeta veröffentlicht das erste „nichtparametrische“ Maskensprachenmodell NPM: übertrifft GPT-3 mit der 500-fachen Anzahl von Parametern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!