KI-Modelle und Plattformen

GPT-3: Few-Shot-Lernen für Sprachmodelle?

mm
Unite.AI zu deinen bevorzugten Quellen auf Google hinzufügen

In den letzten Jahren hat die AI- und ML-Industrie einen enormen Aufschwung in der Entwicklung und Anwendung von NLP-Systemen erlebt, da Forscher in der Lage waren, NLP-Praktiken in sehr flexiblen und task-agnostischen Weisen für Downstream-Übertragungsaufgaben umzusetzen.

Zunächst wurden Single-Layer-Darstellungen verwendet, die Wortvektoren verwendeten und dann an die task-spezifische Architektur weitergegeben wurden. Als Nächstes kam die RNN-Architektur, die multi-layer-Darstellungen und kontextuelle Zustände verwendete, um bessere Darstellungen zu bilden. Und zuletzt haben wir die Transfer-Sprachmodelle oder vorab trainierten rekurrenten Modelle, die den Bedarf an task-spezifischen Architekturen vollständig eliminiert haben, indem sie diese Netzwerke fein abgestimmt haben.

Die Transfer-Sprachmodelle haben sich als wichtiger Wendepunkt in der NLP-Industrie erwiesen, da sie enorme Fortschritte bei anspruchsvollen Aufgaben wie Fragen beantworten, Leseverständnis oder Textblöcke, textuelle Implikation und vieles mehr erzielt haben.

Allerdings haben Transfer-Sprachmodelle trotz ihrer Vorteile eine wichtige Einschränkung, da sie task-spezifisches Feinabstimmen oder task-spezifische Datensätze erfordern, um die gewünschte Leistung bei einer Aufgabe zu erzielen. Darüber hinaus erfordern Transfer-Sprachmodelle auch, dass Entwickler die Datensätze auf Hunderttausende von Beispielen anpassen, die für eine bestimmte Aufgabe spezifisch sind.

Es ist offensichtlich, dass die Entfernung der Anforderung für task-spezifische Datensätze und task-spezifisches Feinabstimmen sehr wünschenswert und für die NLP-Industrie aus verschiedenen Gründen vorteilhaft wäre.

Probleme mit bestehenden vorab trainierten Transfer-Sprachmodellen oder rekurrenten Modellen

  • Einschränkung der Praktikabilität und Anwendbarkeit

Zunächst und vor allem beschränkt die Anforderung einer großen Datenmenge mit gelabelten Daten für jede Aufgabe die Anwendbarkeit und Praktikabilität der Sprachmodelle. Sprachmodelle finden ihre Anwendungen in einer Vielzahl von Aufgaben, von der Generierung einer kurzen Geschichte bis hin zur Korrektur von grammatischen Fehlern oder der Generierung von Beispielen für ein Konzept. Manchmal ist es eine herausfordernde Aufgabe, eine große überwachte Datenmenge mit gelabelten Daten zu sammeln, insbesondere wenn der Prozess für jede einzelne Aufgabe wiederholt werden muss.

  • Ausbeutung von spurious Korrelationen in Trainingsdaten

Einschränkungen und Enge der Trainingsverteilung, kombiniert mit der Ausdrucksstärke des Modells, können zu einem fundamentalen Wachstum des Potenzials führen, spurious Korrelationen in Trainingsdaten auszunutzen. Das Potenzial, Trainingsdaten auszunutzen, kann zu Problemen während des Feinabstimmens und des Pre-Trainings-Paradigmas führen, da die Transfer-Sprachmodelle so konzipiert sind, dass sie während des Pre-Trainings eine große Menge an Informationen aufnehmen.

Darüber hinaus hat die Arbeit an vorherigen Modellen gezeigt, dass große Modelle nicht immer zu besseren Ergebnissen außerhalb der Verteilung führen. Darüber hinaus wurde auch gezeigt, dass die Verallgemeinerung, die unter einem solchen Paradigma erreicht wird, zu schlechter Leistung führen kann, da das Modell sehr spezifisch für die Trainingsdaten ist und nicht gut auf Situationen außerhalb der Trainingsdaten performen kann.

  • Vergleich mit menschlichem Lernen

Schließlich erfordern Transfer-Sprachmodelle im Vergleich zu menschlichem Lernen eine große Trainingsdatenmenge, wenn es um das Lernen der meisten Sprachaufgaben geht. Meistens ist eine kurze Anweisung in der natürlichen Sprache einer Person oder eine kleine Demonstration der Sprachaufgabe ausreichend, damit ein Mensch die Sprachaufgabe mit einem bestimmten Grad an Wettbewerbsfähigkeit verstehen und ausführen kann.

Die Fähigkeit des Menschen, sich anzupassen, hat zahlreiche praktische Vorteile, da sie es ihm ermöglicht, zwischen verschiedenen Fähigkeiten zu wechseln oder sie zu kombinieren, um während eines Dialekts besser zu performen, was über die Fähigkeiten der aktuellen NLP-Systeme hinausgeht.

Bewältigung der Probleme mit Meta-Lernen und GPT-3

Eine mögliche Lösung für die oben genannten Herausforderungen ist die Verwendung von Meta-Lernen, einem Konzept in der modernen ML, das es einem Modell ermöglicht, eine breitere Palette von Fähigkeiten und die Fähigkeit zu entwickeln, Muster zu erkennen, während es trainiert, und diese gelernten Fähigkeiten dann während der Interferenz verwendet, um schnell anzupassen oder die erforderliche Aufgabe zu erkennen.

Meta-Lernen wird in der Sprachmodell-Architektur durch eine Technik namens “in-context-Lernen” umgesetzt, die den Text-Eingabe eines vorab trainierten Sprachmodells als Aufgaben-Spezifikation verwendet. Im Prozess wird das Modell auf eine natürliche Sprachanweisung konditioniert, und es kann sogar einige Demonstrationen verwenden, und das Modell wird dann erwartet, den Rest der Aufgabe zu vervollständigen, indem es die nächsten Schritte vorhersagt.

Das einzige große Problem mit Meta-Lernen ist, dass es, obwohl es positives Potenzial gezeigt hat, immer noch unterlegen ist, wenn es um den Feinabstimmungsansatz in der natürlichen Spracharchitektur geht, und es weitere Verbesserungen benötigt, um zu einer praktischen Methode für die Überwindung von Sprachaufgaben zu werden.

Darüber hinaus gibt es neben Meta-Lernen noch eine weitere Methode, die an Popularität gewinnt, nämlich die Erhöhung der Kapazität von Transformer-Sprachmodellen. In den letzten Jahren haben Transfer-Modelle eine erhebliche Erhöhung ihrer Kapazität erlebt, mit dem RNNS18-Modell mit 100 Millionen Parametern, dem DCLT18-Modell mit 300 Millionen Parametern, dem RWC19-Modell mit 1,5 Milliarden Parametern, dem SSP19-Modell mit 8 Milliarden Parametern, dem RSR19-Modell mit 11 Milliarden Parametern und dem TUR20-Modell mit 17 Milliarden Parametern.

Die Erhöhung der Kapazität des Modells oder die Erhöhung der Parameter hat historisch zu Verbesserungen bei der Textsynthese geführt, und es gibt Hinweise darauf, dass der Log-Verlust, der mit Downstream-Aufgaben korreliert, auch eine glatte Potenzfunktion als Funktion der Größe darstellt.

Das bringt uns zum GPT-3-Modell, das über 175 Milliarden Parameter verfügt und bei seiner Veröffentlichung das Transfer-Sprachmodell mit der höchsten Kapazität war. Lassen Sie uns nun über das GPT-3-Modell sprechen.

Eine Einführung in das GPT-3-Modell

Das GPT-3 ist ein autoaggressives Sprachmodell mit über 175 Milliarden Parametern, das 2020 von OpenAI veröffentlicht wurde. GPT-3 wird auch als großes Sprachmodell klassifiziert, das wie sein Vorgänger, das GPT-2-Modell, ein Decoder-Only-Tiefenlern-Transformer-Modell ist, das eine convolution-basierte Architektur verwendet, um Textdaten zu generieren.

Das GPT-3-Modell misst seine eigenen Kontext-Lernfähigkeiten und wird auf über zwei Dutzend NLP-Datensätzen und mehreren neuen Aufgaben ausgewertet. Für jede einzelne Aufgabe wird das GPT-3-Modell unter drei Bedingungen ausgewertet,

  • Few-Shot-Lernen oder In-Context-Lernen: Beim Few-Shot-Lernen ermöglicht das GPT-3-Modell so viele Verteilungen, die in das Kontextfenster des Modells passen.
  • One-Shot-Lernen: Beim One-Shot-Lernen ermöglicht das Modell nur eine Demonstration.
  • Zero-Shot-Lernen: Beim Zero-Shot-Lernen gibt es keine Demonstrationen, und es gibt nur eine natürliche Sprachanweisung, die dem Modell zugeführt wird.

Im Allgemeinen erreicht das GPT-3-Modell die gewünschte Leistung in Zero-Shot- und One-Shot-Einstellungen und übertrifft in der Few-Shot-Einstellung die State-of-the-Art-Transfer-Modelle most of the time. Darüber hinaus performt das GPT-3-Modell gut in One-Shot- und Zero-Shot-Einstellungen bei natürlichen Sprachaufgaben, die auf die Schnelle Vernunft oder schnelle Aufmerksamkeit wie die Verwendung neuer Wörter nach einem Satz oder das Entwirren von Wörtern oder das Ausführen arithmetischer Operationen abzielen.

GPT-3-Modell: Ansatz

Das GPT-3-Modell verwendet einen konventionellen Pre-Trainings-Ansatz, der aus Modell, Daten und Training besteht und dem Pre-Trainings-Prozess des RWC-19-Transfer-Sprachmodells ähnelt. Das GPT-3-Modell skaliert die Modellgröße, die Datengröße, die Vielfalt der Daten und die Länge der Trainingsperiode auf.

Das Modell verwendet auch einen in-context-Lernen-Ansatz, der dem RWC-19-Modell ähnelt, aber die Dinge ein bisschen anders angeht, indem es systematisch verschiedene Einstellungen für das Lernen von Mustern im Kontext der Daten erkundet.

Lassen Sie uns also damit beginnen, diese Einstellungen zu erkunden und zu bewerten, wie das GPT-3-Modell in verschiedenen Einstellungen performt.

Feinabstimmen

Das Feinabstimmen des Modells war der konventionelle Ansatz in Transfer-Sprachmodellen und beinhaltet das Aktualisieren der Gewichte eines vorab trainierten Modells, indem es auf einem überwachten Datensatz trainiert wird, der für die gewünschte Aufgabe spezifisch ist, und Hunderttausende von gelabelten Beispielen verwendet werden.

Der Feinabstimmungsansatz ist vorteilhaft, da er starke Leistungen über zahlreiche Benchmarks hinweg liefert. Andererseits ist die Hauptbeschränkung des Feinabstimmungsansatzes, dass er einen neuen und großen Datensatz für jede einzelne Aufgabe erfordert, das Potenzial hat, spurious Merkmale des Trainingsdatensatzes auszunutzen, zu einer ungerechten Vergleichbarkeit mit der menschlichen Leistung führen kann und eine schlechte Verallgemeinerung für außerhalb der Verteilung aufweist.

Der aktuelle Umfang des GPT-3-Modells umfasst den Feinabstimmungsansatz nicht, da es eine task-agnostische Leistung aufweist, obwohl die Feinabstimmung in Zukunft auf das GPT-3-Modell angewendet werden kann.

Few-Shot

Few-Shot ist ein Begriff, der die Einstellung bezeichnet, in der dem GPT-3-Modell während der Interferenz einige Demonstrationen der Aufgabe als Konditionierung zugeführt werden, aber die Gewichte des Modells nicht aktualisiert werden. In der Few-Shot-Einstellung hat das Datensatz typischerweise ein Beispiel mit einem Kontext und einer gewünschten Vervollständigung (z.B. einen französischen Satz und seine englische Übersetzung).

Die Few-Shot-Einstellung gibt dem Modell K-Beispiele von Kontext und Vervollständigung und gibt ihm dann einen finalen Kontext und erwartet, dass das Modell die Vervollständigung liefert.

Der Hauptvorteil des Few-Shot-Lernens ist, dass es den Bedarf an task-spezifischen Daten erheblich reduziert und auch das Potenzial reduziert, eine enge Verteilung aus einem großen Datensatz zu lernen, der eng fein abgestimmt ist.

One-Shot

In der One-Shot-Einstellung wird dem Modell nur eine Demonstration zugeführt, und der Rest ist ähnlich wie in der Few-Shot-Einstellung. Der Grund, warum die One-Shot-Einstellung in Transfer-Sprachmodellen relevant ist, ist, dass sie die Art und Weise, in der Aufgaben an Menschen kommuniziert werden, am besten nachahmt.

Zero-Shot

In der Zero-Shot-Einstellung gibt es keine Demonstrationen, und das Modell wird mit einer natürlichen Sprachanweisung gefüttert, die die Aufgabe beschreibt. Die Zero-Shot-Methode ist diejenige, die den größten Komfort bietet, robust ist und spurious Korrelationen vermeidet, aber auch die herausforderndste aller drei Einstellungen ist.

Trotzdem ist die Zero-Shot-Einstellung für einige Aufgaben diejenige, die am nächsten an der Art und Weise kommt, wie Menschen natürliche Sprachaufgaben ausführen.

Das obige Bild vergleicht die Few-Shot-, One-Shot- und Zero-Shot-Einstellungen bei der Ausführung einer natürlichen Sprachaufgabe, bei der ein englischer Satz in Französisch übersetzt wird.

GPT-3: Modellarchitektur

Das GPT-3-Modell verwendet die gleiche Architektur wie das GPT-2-Modell und umfasst Pre-Normalisierung, modifizierte Initialisierung und reversible Tokenisierungstechniken, wie sie im GPT-Modell verwendet wurden, mit der Ausnahme, dass eine alternative Strategie für lokale, bandede Sparse-Aufmerksamkeitsmuster und alternierende dichte Schichten in den Transformer-Schichten verwendet wird, ähnlich wie im Sparse-Transformer.

Um die Abhängigkeit der Modellleistung von der Modellgröße zu untersuchen, haben die Entwickler 8 verschiedene Modellgrößen trainiert, die über drei verschiedene Größenordnungen reichen, von 125 Millionen bis über 175 Milliarden Parameter, wobei das letzte das GPT-3-Modell ist.

Das obige Bild vergleicht die Größe und Architektur der 8 verschiedenen Modelle, die für die Entwicklung des GPT-3-Modells verwendet wurden.

Darüber hinaus wurde das Modell so partitioniert, dass es über die GPUs hinweg entlang der Tiefe und Breite der Dimensionen verteilt wird, um den Datentransfer zwischen den Knoten zu minimieren.

Trainingsdaten

Typischerweise verwenden große Sprachmodelle Datensätze, die sich erheblich erweitert haben, und sie kulminieren im Common-Crawl-Datensatz, der über eine Billion verschiedene Wörter umfasst.

Um das Problem der durchschnittlichen Qualität des Datensatzes zu bewältigen, haben die Entwickler 3 Schritte unternommen, um die Qualität des Datensatzes zu verbessern.

  1. Die Entwickler haben eine Version des Common-Crawl-Datensatzes heruntergeladen und gefiltert, die auf einer Reihe ähnlich wie hochwertige Referenzkorpora basiert.
  2. Die Entwickler haben eine fuzzy-Duplizierung auf Dokumentenebene im gesamten Datensatz durchgeführt, um die Integrität des gehaltenen Validierungssets als wirksame Messung von Overfitting zu bewahren und um Redundanz zu vermeiden.
  3. Die Entwickler haben auch hochwertige Referenzkorpora zum Trainingsdatensatz hinzugefügt, um die Vielfalt des Datensatzes zu erhöhen.

Das folgende Bild zeigt die endgültige Proportion oder Mischung der Datensätze, die zum Trainieren des GPT-3-Modells verwendet wurden.

Eine erhebliche Besorgnis bei großen Sprachmodellen, die auf einer großen Menge an Internet-Daten vorab trainiert werden und die Fähigkeit haben, eine große Menge an Inhalten zu memorisieren und zu lernen, ist das Potenzial für eine Kontamination von Downstream-Aufgaben durch die Sichtbarkeit ihrer Entwicklung- oder Testsets während des Pre-Trainings.

Das obige Bild zeigt den gesamten Compute, der während des Trainings des GPT-3-Modells verwendet wurde.

Auswertung

Für das Few-Shot-Lernen bewertet das Modell jedes Beispiel im Auswertungsdatensatz, indem es K-Beispiele zufällig aus dem Trainingsdatensatz der Aufgabe zieht und es durch 1 oder 2 neue Zeilen trennt, je nach Aufgabe.

K kann jeden Wert zwischen 0 und der maximalen Anzahl an Beispielen annehmen, die vom Kontextfenster des Modells zulässig sind, das next = 2048 für alle Modelle ist und normalerweise etwa 10 bis 100 Beispiele passt.

Größere Werte von K führen oft zu besseren Ergebnissen, aber nicht immer, was der Grund ist, warum das Modell, wenn es einen Test- und einen separaten Entwicklungsdatensatz hat, auf dem Entwicklungsdatensatz einige Werte von K ausprobiert und basierend auf den Ergebnissen den besten Wert auf dem Testdatensatz ausführt.

Darüber hinaus wird bei Aufgaben, die das Auswählen einer richtigen Vervollständigung aus mehreren Optionen erfordern, das Modell mit K-Beispielen von Korrektur plus Kontext-Vervollständigung gefüttert und dann mit einem Beispiel von Kontext nur gefüttert, und die Aufgaben werden dann auf der Grundlage der LM-Wahrscheinlichkeit jeder Vervollständigung verglichen.

Ergebnisse

Das obige Bild zeigt die Trainingskurven für die 8 Modelle, die in der GPT-3-Modellarchitektur verwendet werden, wie in den vorherigen Abschnitten beschrieben.

Bevor die 8 verschiedenen Modelle auf eine breite Palette von Trainingsdaten ausgewertet werden, werden die Datensätze in 8 verschiedene Kategorien gruppiert, die ähnliche Aufgaben darstellen.

  1. Auswertung auf traditionellen Sprachmodellierungsaufgaben und Aufgaben, die der Sprachmodellierung ähneln, wie z.B. Cloze-Aufgaben oder Satz-/Absatz-Vervollständigungsaufgaben.
  2. Auswertung auf “geschlossene Buch”-Frage-Antwort-Aufgaben.
  3. Auswertung der Fähigkeit des Modells, zwischen Sprachen zu übersetzen (insbesondere One-Shot und Few-Shot).
  4. Auswertung der Leistung des Modells auf Winograd-Schema-ähnlichen Aufgaben.
  5. Auswertung auf Datensätzen, die Alltagsverständnis oder Frage-Antwort-Aufgaben beinhalten.
  6. Auswertung auf Leseverständnis-Aufgaben.
  7. Auswertung auf dem SuperGLUE-Benchmark-Suite.
  8. Erforschung von NLI.

Sprachmodellierung, Vervollständigung und Cloze-Aufgaben

In diesem Abschnitt wird die Leistung des GPT-3-Modells auf traditionellen Sprachmodellierungsaufgaben und Aufgaben ausgewertet, die die Vorhersage eines einzelnen Wortes von Interesse oder die Vervollständigung eines Satzes oder eines Absatzes oder die Vervollständigung eines Textstücks erfordern.

Sprachmodellierung

Das GPT-3-Modell berechnet die Zero-Shot-Perplexität auf dem PTB- oder Penn-Tree-Bank-Datensatz.

LAMBADA

Das LAMBADA-Datensatz wird verwendet, um die Modellierung des Modells auf langfristige Abhängigkeiten in Absätzen oder Texten zu testen.

Das GPT-3-Modell erreicht 76% Genauigkeit auf LAMBADA und hat einen Gewinn von über 8% gegenüber den vorherigen besten Modellen.

Darüber hinaus zeigt das LAMBADA-Modell die Flexibilität des Few-Shot-Lernens, da es das Problem auf eine klassische Weise angegangen ist, die mit dem Datensatz übereinstimmt.

Geschlossene Buch-Frage-Antwort

Geschlossene Buch-Frage-Antwort ist ein Versuch, die Fähigkeit des GPT-3-Modells zu messen, Fragen auf der Grundlage von breitem faktischem Wissen zu beantworten.

Das obige Bild vergleicht das Ergebnis für das GPT-3-Modell im Vergleich zu verschiedenen Modellen und läuft auf verschiedenen Datensätzen.

Es ist offensichtlich, dass das GPT-3-Modell im Zero-Shot-Setting das fein abgestimmte T5-11B-Modell um über 14% übertrifft.

Das obige Bild zeigt, dass die Leistung des GPT-3-Modells gleichmäßig mit der Erhöhung der Modellgröße ansteigt.

Endgültige Gedanken

Es wäre sicherlich richtig zu sagen, dass GPT-3 eine revolutionäre Phase in der LLM-Industrie war, da GPT-3 half, die Grenzen dessen, was ein Sprachmodell tun kann, zu erweitern.

Ein Ingenieur von Beruf, ein Schriftsteller von Herzen. Kunal ist ein technischer Schriftsteller mit einer tiefen Liebe und einem tiefen Verständnis für KI und ML, der sich der Aufgabe widmet, komplexe Konzepte in diesen Bereichen durch seine ansprechenden und informativen Dokumentationen zu vereinfachen.