Künstliche Intelligenz
GPT-3 : Few Shot Learning für Sprachmodelle?

In den letzten Jahren hat die KI- und ML-Branche einen rasanten Aufschwung in der Entwicklung und Anwendung von NLP-Systemen erlebt, da Forscher in der Lage waren, NLP-Praktiken auf hochflexible und task-agnostische Weise für Downstream-Übertragungsaufgaben umzusetzen.
Zunächst wurden einzelne Schichten verwendet, die Wortvektoren verwendeten und dann an die task-spezifische Architektur weitergegeben wurden. Als Nächstes kam die RNN-Architektur, die multi-layer-Repräsentationen und Kontextzustand verwendete, um bessere Repräsentationen zu bilden. Und zuletzt haben wir die Transfer-Sprachmodelle oder vorgefertigten rekurrenten Modelle, die den Bedarf an task-spezifischen Architekturen vollständig beseitigt haben, indem sie diese Netzwerke feinabgestimmt haben.
Die Transfer-Sprachmodelle haben sich als wichtiger Wendepunkt in der NLP-Branche erwiesen, da sie zu enormen Fortschritten bei anspruchsvollen Aufgaben wie Fragen beantworten, Textverständnis oder Textblöcken, textuelle Implikation und vielem mehr geführt haben.
Allerdings haben Transfer-Sprachmodelle trotz ihrer Vorteile eine wichtige Einschränkung, da sie task-spezifische Feinabstimmung oder task-spezifische Datensätze erfordern, um die gewünschte Leistung bei einer Aufgabe zu erzielen. Darüber hinaus erfordern Transfer-Sprachmodelle, dass Entwickler die Datensätze auf Hunderttausende von Beispielen anpassen, die für eine bestimmte Aufgabe spezifisch sind.
Es versteht sich von selbst, dass die Beseitigung des Bedarfs an task-spezifischen Datensätzen und task-spezifischer Feinabstimmung sehr wünschenswert und vorteilhaft für die NLP-Branche aus verschiedenen Gründen wäre.
Probleme mit bestehenden vorgefertigten Transfer-Sprachmodellen oder rekurrenten Modellen
- Einschränkung der Praktikabilität und Anwendbarkeit
Zunächst einmal beschränkt der Bedarf an einem großen Datensatz mit gelabelten Daten für jede Aufgabe die Anwendbarkeit und Praktikabilität der Sprachmodelle. Sprachmodelle finden ihre Anwendung 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 schwierige Aufgabe, einen großen überwachten Datensatz mit gelabelten Daten zu sammeln, insbesondere wenn dieser Prozess für jede einzelne Aufgabe wiederholt werden muss.
- Ausbeutung von spurious Korrelationen im Trainingsdatensatz
Einschränkungen und Enge der Trainingsverteilung sowie die Ausdrucksstärke des Modells können zu einem fundamentalen Anstieg des Potenzials für die Ausbeutung von spurious Korrelationen im Trainingsdatensatz führen. Das Potenzial für die Ausbeutung des Trainingsdatensatzes kann zu Problemen während der Feinabstimmung und des Pre-Trainings 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 diesem Paradigma erreicht wird, zu einer schlechten 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 dem menschlichen Lernen
Schließlich benötigen Menschen im Vergleich zu Transfer-Sprachmodellen keine große Trainingsdatenmenge, um die meisten Sprachaufgaben zu erlernen. Meistens ist eine kurze Anweisung in der natürlichen Sprache oder eine kleine Demonstration der Sprachaufgabe ausreichend, damit ein Mensch die Aufgabe mit einem bestimmten Maß an Wettbewerb verstehen und ausführen kann.
Die Fähigkeit des Menschen, sich anzupassen, hat zahlreiche praktische Vorteile, da sie es ermöglicht, zwischen verschiedenen Fähigkeitssets zu wechseln oder sie zu kombinieren, um während eines Dialekts besser zu performen, was über die Fähigkeiten der aktuellen NLP-Systeme hinausgeht.
Behandlung 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 größere und breitere Palette von Fähigkeiten und die Fähigkeit, Muster zu erkennen, während des Trainings zu entwickeln, und diese gelernten Fähigkeiten während der Interferenz zu verwenden, um schnell anzupassen oder die erforderliche Aufgabe zu erkennen.
Meta-Lernen wird in der Sprachmodellarchitektur durch eine Technik namens “In-Context-Lernen” implementiert, die Texteingaben eines vorgefertigten Sprachmodells als Aufgabenbeschreibung verwendet. Im Prozess wird das Modell auf eine natürliche Sprachanweisung konditioniert und 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 die Feinabstimmungsansätze 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 ist eine weitere Methode, die an Popularität gewinnt, 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 in der Textsynthese geführt, und es gibt Anzeichen dafür, dass der Log-Verlust, der mit Downstream-Aufgaben korreliert, auch einer glatten Trendlinie folgt, die mit der Skalierung verbessert wird.
Das bringt uns zum GPT-3-Modell, das über 175 Milliarden Parameter verfügt, und als es veröffentlicht wurde, war es das Transfer-Sprachmodell mit der höchsten Kapazität. Lassen Sie uns nun über das GPT-3-Modell sprechen.
Eine Einführung in das GPT-3-Modell
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, ähnlich wie sein Vorgänger, das GPT-2-Modell, ein decoder-only-Tiefe-Transformer-Modell ist, das eine convolutionbasierte Architektur verwendet, um Textdaten zu generieren.
Das GPT-3-Modell misst seine eigenen Kontext-Lernfähigkeiten und das GPT-3-Modell 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 Anweisung in natürlicher Sprache, 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 in der Few-Shot-Einstellung übertrifft es die State-of-the-Art-Transfer-Modelle mostens.

GPT-3-Modell: Ansatz
Das GPT-3-Modell verwendet einen konventionellen Pre-Training-Ansatz, der aus Modell, Daten und Training besteht und dem Pre-Training-Prozess des RWC-19-Transfer-Sprachmodells ähnelt. Das GPT-3-Modell skaliert die Modellgröße, die Datensatzgröße, die Vielfalt des Datensatzes und verlängert die Länge der Trainingsperiode.
Das Modell verwendet auch einen In-Context-Learning-Ansatz, der dem Ansatz des RWC-19-Modells ähnelt, aber einige Dinge ändert, indem es systematisch verschiedene Einstellungen für das Lernen von Mustern im Kontext des Datensatzes erkundet.
Lassen Sie uns also damit beginnen, diese Einstellungen zu erkunden und zu bewerten, wie das GPT-3-Modell in verschiedenen Einstellungen performt.
Feinabstimmung
Die Feinabstimmung des Modells war der konventionelle Ansatz in Transfer-Sprachmodellen und dieser Ansatz beinhaltet die Aktualisierung der Gewichte eines vorgefertigten Modells, indem das Modell auf einem überwachten Datensatz trainiert wird, der für die gewünschte Aufgabe spezifisch ist, und Hunderttausende von gelabelten Beispielen während des Prozesses 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, potenziell zu einer unfairen Vergleich mit der menschlichen Leistung führen kann und eine schlechte Verallgemeinerung für außerhalb der Verteilung hat.
Der aktuelle Umfang des GPT-3-Modells implementiert den Feinabstimmungsansatz nicht, da es aufgrund seiner task-agnostischen Leistung, obwohl die Feinabstimmung auf das GPT-3-Modell in der Zukunft angewendet werden kann.
Few-Shot
Few-Shot ist ein Begriff, der die Einstellung bezeichnet, in der das GPT-3-Modell während der Interferenz einige Demonstrationen der Aufgabe als Konditionierung erhält, aber die Gewichte des Modells nicht aktualisiert werden. In den Few-Shot-Einstellungen hat der 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 liefert dann dem Modell einen finalen Kontext und erwartet, dass das Modell die Vervollständigung liefert.
Der Hauptvorteil der Verwendung der Few-Shot-Einstellung ist, dass sie den Bedarf an task-spezifischen Daten erheblich reduziert und auch das Potenzial reduziert, eine enge Verteilung aus einem großen Datensatz zu erlernen, der feinabgestimmt wird.
Andererseits ist der Hauptnachteil der Verwendung des Few-Shot-Lernens, dass die Ergebnisse, die in der Few-Shot-Einstellung geliefert werden, nicht so gut sind wie die von anderen State-of-the-Art-Modellen, die feinabgestimmt werden.
One-Shot
In der One-Shot-Einstellung wird dem Modell nur eine Demonstration zur Verfügung gestellt und der Rest ist ähnlich wie in der Few-Shot-Einstellung.
Der Grund, warum die One-Shot-Einstellung in Transfer-Sprachmodellen relevant ist, liegt darin, dass sie die Art und Weise, in der Aufgaben an Menschen kommuniziert werden, am besten nachahmt.
Es ist nämlich so, dass in den meisten Aufgaben eine Demonstration der Aufgabe ausreichend ist, um den Kontext der Aufgabe zu verstehen.
Zero-Shot
In der Zero-Shot-Einstellung gibt es keine Demonstrationen und das Modell erhält eine natürliche Sprachanweisung, die die Aufgabe beschreibt.
Die Zero-Shot-Methode ist diejenige, die den größten Komfort bietet, robust ist und spurious Korrelationen vermeidet, aber sie ist auch die herausforderndste von allen drei Einstellungen.
Es ist nämlich so, dass es in einigen Fällen sogar für uns Menschen schwierig ist, den Kontext einer Aufgabe ohne eine Demonstration zu verstehen.
Trotzdem ist die Zero-Shot-Einstellung diejenige, die am besten zeigt, 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 lokal banded 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 Parametern, die letzte davon wird als GPT-3-Modell bezeichnet.

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 wird das Modell entlang der Tiefe und Breite der Dimensionen auf die GPUs aufgeteilt, um den Transfer von Daten zwischen den Knoten zu minimieren.
Trainingsdaten
Typischerweise verwenden große Sprachmodelle Datensätze, die sich erheblich mit den jüngsten Entwicklungen erweitert haben und in dem Common Crawl-Datensatz kulminieren, der über eine Billion verschiedene Wörter umfasst.
Die Größe des Datensatzes ist ausreichend, um das GPT-3-Modell ohne Aktualisierung auf dem gleichen Sequenzmuster mehrmals zu trainieren.
Allerdings zeigen Studien und Leistungsanalysen, dass leicht gefilterte Versionen oder ungfilterte Versionen des Common Crawl-Datensatzes eine geringere Qualität im Vergleich zu mehr kuratierten Datensätzen haben.
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.
- Die Entwickler haben eine Version des Common Crawl-Datensatzes heruntergeladen und gefiltert, die auf einem Bereich ähnlich wie hochwertige Referenzkorpora basiert.
- Die Entwickler haben eine fuzzy-Duplizierung auf Dokumentenebene im gesamten Datensatz durchgeführt, um die Integrität des Validierungsdatensatzes als wirksame Messung von Überanpassung zu erhalten und Redundanz zu vermeiden.
- Die Entwickler haben auch hochwertige Referenzkorpora zum Trainingsdatensatz hinzugefügt, um den Common Crawl-Datensatz zu erweitern und die Vielfalt des Datensatzes weiter zu erhöhen.
Das folgende Bild zeigt den endgültigen Anteil oder die Mischung der Datensätze, die zum Trainieren des GPT-3-Modells verwendet wurden.

Eine erhebliche Sorge bei großen Sprachmodellen, die auf einer großen Menge an Internetdaten vorgefertigt 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 Entwicklungs- oder Testsets während des Pre-Trainings.

Das obige Bild zeigt den gesamten Rechenaufwand, 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 als Konditionierung zieht und es durch 1 oder 2 neue Zeilen begrenzt, je nach Aufgabe.
K kann jeder Wert zwischen 0 und der maximalen Menge sein, die in das Kontextfenster des Modells passt, das next = 2048 für alle Modelle ist und normalerweise 10 bis 100 Beispiele passt.

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 einer Vielzahl von Trainingsdaten ausgewertet werden, werden die Datensätze in 8 verschiedene Kategorien gruppiert, die ähnliche Aufgaben darstellen.
Letzte Gedanken
Es wäre sicherlich richtig zu sagen, dass GPT-3 eine revolutionierende Phase in der LLM-Industrie war, da GPT-3 half, die Grenzen dessen, was ein Sprachmodell tun kann, zu erweitern.
Es waren die Entwicklungen und Hindernisse, die von GPT-3 überwunden wurden, die den Weg für das fortschrittlichste und genaueste große Sprachmodell bis heute, das GPT-4, ebneten.












