Paper · arXiv 2109.01652
Finetuned Language Models Are Zero-Shot Learners
Zusammenfassung in drei Zeilen
- 🎯 Nicht instruktionsgetunte große Sprachmodelle haben Schwierigkeiten bei Zero-Shot-Aufgaben, da rohe Prompts von der Token-Verteilung des Vortrainings abweichen.
- 🔧 Instruction Tuning: Fine-Tuning eines 137B Decoder-LMs auf 62 NLP-Datensätzen, die mittels natürlichsprachlicher Vorlagen verbalisiert wurden, unter Ausschluss der Evaluations-Cluster.
- 📈 Zero-Shot FLAN übertrifft Zero-Shot 175B GPT-3 auf 20 von 25 evaluierten Datensätzen und schlägt Few-Shot GPT-3 bei Aufgaben wie ANLI und BoolQ.
Abstract
Diese Arbeit untersucht eine einfache Methode zur Verbesserung der Zero-Shot-Lernfähigkeiten von Sprachmodellen. Wir zeigen, dass Instruction Tuning – das Fine-Tuning von Sprachmodellen auf einer Sammlung von Aufgaben, die über Instruktionen beschrieben werden – die Zero-Shot-Leistung bei ungesehenen Aufgaben erheblich verbessert. Wir verwenden ein vortrainiertes Sprachmodell mit 137 Milliarden Parametern und unterziehen es einem Instruction Tuning auf über 60 NLP-Aufgaben, die über natürlichsprachliche Instruktionsvorlagen verbalisiert sind. Wir evaluieren dieses instruktionsgetunte Modell, das wir FLAN nennen, auf ungesehenen Aufgabentypen. FLAN verbessert die Leistung seines unmodifizierten Pendants substanziell und übertrifft Zero-Shot 175B GPT-3 bei 20 von 25 evaluierten Aufgaben. FLAN übertrifft sogar Few-Shot GPT-3 bei ANLI, RTE, BoolQ, AI2-ARC, OpenbookQA und StoryCloze mit deutlichem Abstand. Ablationsstudien zeigen, dass die Anzahl der Fine-Tuning-Datensätze, die Modellgröße und natürlichsprachliche Instruktionen entscheidend für den Erfolg von Instruction Tuning sind.
Original-Abstract (Englisch)
This paper explores a simple method for improving the zero-shot learning abilities of language models. We show that instruction tuning -- finetuning language models on a collection of tasks described via instructions -- substantially improves zero-shot performance on unseen tasks. We take a 137B parameter pretrained language model and instruction-tune it on over 60 NLP tasks verbalized via natural language instruction templates. We evaluate this instruction-tuned model, which we call FLAN, on unseen task types. FLAN substantially improves the performance of its unmodified counterpart and surpasses zero-shot 175B GPT-3 on 20 of 25 tasks that we evaluate. FLAN even outperforms few-shot GPT-3 by a large margin on ANLI, RTE, BoolQ, AI2-ARC, OpenbookQA, and StoryCloze. Ablation studies reveal that number of finetuning datasets, model scale, and natural language instructions are key to the success of instruction tuning.
Leseleitfaden
Problem und Motivation
Große Sprachmodelle (wie GPT-3 175B) brillieren beim Few-Shot-Learning durch die Nutzung von Beispielen im In-Context-Lernen. Ihre Zero-Shot-Fähigkeiten bleiben jedoch bei komplexen NLP-Benchmarks wie Leseverständnis, Natural Language Inference (NLI) und Question Answering deutlich schwächer. Nicht feinabgestimmte Modelle verlassen sich auf Prompts, die als Fortsetzungen von Vortrainingsdaten formatiert sind – ein unnatürliches und fragiles Format für Aufgaben, die typischerweise als explizite Anweisungen oder Fragen formuliert werden.
Die Autoren untersuchen, ob überwachtes Fine-Tuning auf einer breiten Sammlung diverser NLP-Aufgaben, die explizit als natürlichsprachliche Instruktionen formuliert sind, es Sprachmodellen ermöglicht, zur Inferenzzeit Zero-Shot auf völlig ungesehene Aufgabentypen zu generalisieren.
Kernideen
- Instruction Tuning: Umwandlung bestehender NLP-Datensätze in Instruktions-Antwort-Formate unter Verwendung natürlichsprachlicher Prompt-Vorlagen, wodurch Multitask-Überwachung mit Prompting kombiniert wird.
- Task Cluster Holdout: Gruppierung von Datensätzen in thematische Cluster (z. B. NLI, Closed-Book QA, Translation, Sentiment). Beim Testen der Zero-Shot-Generalisierung auf ein Ziel-Cluster werden alle Datensätze, die zu (und eng verwandten Clustern) gehören, vom Training ausgeschlossen, um eine echte Zero-Shot-Cross-Task-Evaluation zu gewährleisten.
- Classification with Options: Für Klassifikationsaufgaben wird ein
OPTIONS:-Suffix angehängt, das die gültigen Kandidaten-Labels direkt im Prompt auflistet. Dies steuert die Ausgabeverteilung des generativen Modells, ohne es rein auf Rangklassifikations-Logit-Vergleiche zu beschränken.
Methode
Das Basismodell ist LaMDA-PT, ein dichter, autoregressiver (left-to-right) Decoder-Only-Transformer mit 137 Milliarden Parametern, vortrainiert auf 2,49 Billionen BPE-Tokens aus Webdokumenten, Code, Wikipedia und Dialogdaten (etwa 10 % nicht-englisch).
- Datenaggregation: 62 Datensätze aus TensorFlow Datasets werden in 12 Cluster unterteilt. Für jeden Datensatz werden 10 eindeutige natürlichsprachliche Instruktionsvorlagen erstellt (einschließlich bis zu 3 „invertierter“ Vorlagen, z. B. Generierung von Text anhand eines vorgegebenen Sentiments).
- Trainings-Setup: Trainingsbeispiele pro Datensatz werden auf maximal 30.000 begrenzt. Batches werden mit einem beispielproportionalen Mischschema (examples-proportional mixing) mit einer maximalen Mischrate von 3.000 erstellt, um zu verhindern, dass große Datensätze dominieren. Das Training läuft über 30.000 Gradientenschritte mit einer Batch-Größe von 8.192 Tokens unter Verwendung des Adafactor-Optimierers (Lernrate ), einer Sequenzlänge von 1024 (Eingabe) und 256 (Ziel) sowie Sequence Packing.
- Evaluationsprotokoll: Zur Evaluation über zurückgehaltene Cluster hinweg werden unterschiedliche FLAN-Modelle trainiert. Die Leistung wird sowohl als Durchschnitt über alle Instruktionsvorlagen als auch mit der besten Vorlage (ausgewählt anhand eines Validierungssets) angegeben.
- Inferenz mit Few-Shot-Exemplaren: Wenn Exemplare verfügbar sind, werden die Eingaben wie folgt formatiert: wobei die Konkatenation mit einem Trennzeichen-Token darstellt, begrenzt auf maximal 16 Exemplare und 960 Tokens.
Ergebnisse
- Zero-Shot-Vergleich mit GPT-3: Unter Verwendung der besten Dev-Vorlage übertrifft Zero-Shot FLAN 137B das Modell Zero-Shot GPT-3 175B auf 20 von 25 evaluierten Benchmarks und schlägt Few-Shot GPT-3 auf 10 Datensätzen, darunter ANLI R1–R3, RTE, BoolQ, OpenbookQA und StoryCloze.
- Aufgabentypen: Große Gewinne treten bei Aufgaben auf, die natürlicherweise als Instruktionen formuliert sind (z. B. NLI, Leseverständnis, Closed-Book QA, Übersetzung). Auf RTE erreicht FLAN 84,1 % (beste Dev-Vorlage) gegenüber 63,5 % bei Zero-Shot GPT-3 und 72,9 % bei Few-Shot GPT-3. Auf BoolQ erreicht FLAN 82,9 % gegenüber 60,5 % bei Zero-Shot GPT-3 und 77,5 % bei Few-Shot.
- Skalierungsabhängigkeit: Ablationen über 422M, 2B, 8B, 68B und 137B Parameter zeigen, dass Instruction Tuning die Zero-Shot-Generalisierung auf ungesehene Aufgaben bei Modellen mit Parametern verschlechtert. Der positive Transfer zeigt sich erst bei ausreichender Modellgröße ( und ).
- Bedeutung von Instruktionen: Fine-Tuning ohne Instruktionsvorlagen (nur Eingabe-Ausgabe: 37,3 % Durchschnitt über 4 Cluster) oder nur mit Datensatznamen (46,6 %) führt zu signifikant schlechterer Zero-Shot-Leistung als natürliche Instruktionen (55,2 %).
- Kompatibilität mit Prompt Tuning: Parametereffizientes Prompt Tuning auf FLAN führt zu einer höheren SuperGLUE-Genauigkeit als auf dem untrainierten LaMDA-PT-Basismodell, insbesondere in Szenarien mit geringen Ressourcen (32 Beispiele).
Grenzen und offene Fragen
- Satzvervollständigungsaufgaben: Instruction Tuning bringt minimalen Nutzen (und schadet mitunter) bei Aufgaben im Stil klassischer Sprachmodellierung, bei denen Instruktionen redundant sind, wie z. B. Winogrande oder Satzvervollständigungen im Commonsense Reasoning.
- Komplexität der Instruktionen: Die Arbeit untersucht nur kurze, einsätzige Instruktionen statt langer, detaillierter Prompt-Richtlinien, wie sie typischerweise menschlichen Annotatoren gegeben werden.
- Kontextfenster & Rechenaufwand: FLANs Kontextlänge von 1024 Tokens verhinderte eine rigorose Evaluation von Summarization-Aufgaben. Zudem erfordert das Ausführen und Bereitstellen eines dichten Modells mit 137 Milliarden Parametern erhebliche Rechenressourcen.
Schlüsselbegriffe
- instruction tuning
- Fine-Tuning eines vortrainierten Sprachmodells auf einer vielfältigen Sammlung von Datensätzen, die mit natürlichsprachlichen Instruktionsvorlagen formatiert sind, um die Generalisierung auf ungesehene Aufgaben zu verbessern.
- FLAN
- Finetuned Language Net; das instruktionsgetunte Modell mit 137 Milliarden Parametern, basierend auf der LaMDA-PT Decoder-Only-Architektur.
- task clusters
- Gruppierungen von NLP-Datensätzen nach Aufgabentyp (z. B. NLI, Closed-Book QA), die verwendet werden, um strikte Leave-One-Cluster-Out-Evaluationsaufteilungen für Zero-Shot-Tests durchzusetzen.
- LaMDA-PT
- Ein dichter, autoregressiver Decoder-Only-Transformer mit 137 Milliarden Parametern, der auf 2,49 Billionen Tokens aus Webdokumenten, Code, Wikipedia und Dialogdaten vortrainiert wurde.
- classification with options
- Eine Formatierungsstrategie für Ausgaben, bei der ein 'OPTIONS:'-Token gefolgt von möglichen Kandidatenklassen an Klassifikations-Prompts angehängt wird, um die Freitextgenerierung zu leiten.
- examples-proportional mixing
- Eine Datensatz-Gewichtungsstrategie während des Multitask-Trainings, bei der das Sampling von Datensätzen proportional zur Größe bis zu einer Obergrenze (3.000 Beispiele) erfolgt.
- data contamination analysis
- Eine Post-hoc-Evaluation, die N-Gramm-Überlappungen des Vortrainingskorpus mit Testsets von Benchmarks misst, um sicherzustellen, dass Leistungssteigerungen nicht auf Memorierung zurückzuführen sind.
Fragen
Wie unterscheidet sich Instruction Tuning vom standardmäßigen Multitask-Fine-Tuning?
Klassisches Multitask-Fine-Tuning zielt darauf ab, die Leistung bei den spezifischen Trainingsaufgaben zu optimieren oder sich an neue Domänen anzupassen. Instruction Tuning nutzt natürlichsprachliche Instruktionen, um das Modell darauf zu trainieren, Aufgabenbeschreibungen zu verstehen, und zielt auf die Zero-Shot-Generalisierung bei ungesehenen Aufgabentypen ab, die während des Trainings vollständig zurückgehalten wurden.
Warum verschlechtert Instruction Tuning die Leistung kleinerer Sprachmodelle?
Bei Modellen mit 8 Milliarden Parametern oder weniger scheint das Erlernen von rund 40 verschiedenen Instruction-Tuning-Aufgaben die gesamte Parameterkapazität des Modells zu beanspruchen, was die Generalisierung auf ungesehene Aufgaben beeinträchtigt. Erst ab etwa 68 Milliarden und 137 Milliarden Parametern reicht die Kapazität aus, um sowohl die Aufgabenausführung als auch das generelle Befolgen von Instruktionen zu lernen.
Bei welchen Aufgaben gelingt es FLAN nicht, das untrainierte Basismodell zu übertreffen?
Instruction Tuning zeigt wenig Nutzen bei Aufgaben, die direkt als Fortsetzungen der Sprachmodellierung formuliert sind, wie z. B. Coreference Resolution (z. B. Winogrande) und Satzvervollständigungs-Benchmarks im Bereich Commonsense, bei denen instruktionsbasierte Prompts im Vergleich zum Ziel des Basis-Vortrainings weitgehend redundant sind.
Wie wurde die Datenkontamination im Vortrainingskorpus behandelt?
Die Autoren suchten nach 13-Gramm-Überlappungen zwischen Testbeispielen und dem 2,49-Billionen-Token-Vortrainingsdatensatz und erstellten bereinigte Teilmengen ohne Kollisionen. Die Leistung auf den bereinigten Teilmengen zeigte keine Korrelation mit Leistungseinbußen, was darauf hindeutet, dass Memorierung nicht die treibende Kraft hinter FLANs Zero-Shot-Gewinnen war.
Die Übersicht auf dieser Seite wurde von einer KI aus dem Paper erstellt und kann Fehler enthalten. Details stehen im Paper.