Paper · arXiv 2203.15556
Training Compute-Optimal Large Language Models
Veröffentlicht cs.CLcs.LG arXivPDF
Zusammenfassung in drei Zeilen
- 🎯 Bestimmung des optimalen Trade-offs zwischen Modellparametern und Trainings-Tokens unter einem festen Rechenbudget.
- 🔧 Empirische Anpassung von Skalierungsgesetzen über >400 Transformer-Läufe hinweg mittels Minimum-Loss-Hüllkurven, IsoFLOP-Schnitten und parametrischer Loss-Modellierung.
- 📈 Parameter und Tokens sollten gleichermaßen skaliert werden (, ). Das auf 1,4 Bio. Tokens trainierte 70B-Modell Chinchilla nutzt Gophers Rechenbudget und erreicht 67,6 % auf MMLU.
Abstract
Wir untersuchen die optimale Modellgröße und Anzahl von Tokens für das Training eines Transformer-Sprachmodells unter einem gegebenen Rechenbudget. Wir stellen fest, dass aktuelle große Sprachmodelle deutlich untertrainiert sind – eine Folge der jüngsten Fokussierung auf die Skalierung von Sprachmodellen bei gleichzeitig konstanter Menge an Trainingsdaten. Durch das Training von über 400 Sprachmodellen mit 70 Millionen bis über 16 Milliarden Parametern auf 5 bis 500 Milliarden Tokens zeigen wir, dass für ein rechenoptimales Training die Modellgröße und die Anzahl der Trainings-Tokens gleichermaßen skaliert werden sollten: Bei jeder Verdopplung der Modellgröße sollte auch die Anzahl der Trainings-Tokens verdoppelt werden. Wir testen diese Hypothese durch das Training eines prognostizierten rechenoptimalen Modells, Chinchilla, das dasselbe Rechenbudget wie Gopher nutzt, jedoch mit 70 Mrd. Parametern und 4-mal mehr Daten. Chinchilla übertrifft Gopher (280B), GPT-3 (175B), Jurassic-1 (178B) und Megatron-Turing NLG (530B) bei einer Vielzahl von Downstream-Evaluierungsaufgaben konsistent und deutlich. Dies bedeutet auch, dass Chinchilla für das Fine-Tuning und die Inferenz wesentlich weniger Rechenaufwand erfordert, was die nachgelagerte Nutzung erheblich erleichtert. Als Highlight erreicht Chinchilla eine State-of-the-Art-Durchschnittsgenauigkeit von 67,5 % auf dem MMLU-Benchmark, was einer Verbesserung von über 7 % gegenüber Gopher entspricht.
Original-Abstract (Englisch)
We investigate the optimal model size and number of tokens for training a transformer language model under a given compute budget. We find that current large language models are significantly undertrained, a consequence of the recent focus on scaling language models whilst keeping the amount of training data constant. By training over 400 language models ranging from 70 million to over 16 billion parameters on 5 to 500 billion tokens, we find that for compute-optimal training, the model size and the number of training tokens should be scaled equally: for every doubling of model size the number of training tokens should also be doubled. We test this hypothesis by training a predicted compute-optimal model, Chinchilla, that uses the same compute budget as Gopher but with 70B parameters and 4 more more data. Chinchilla uniformly and significantly outperforms Gopher (280B), GPT-3 (175B), Jurassic-1 (178B), and Megatron-Turing NLG (530B) on a large range of downstream evaluation tasks. This also means that Chinchilla uses substantially less compute for fine-tuning and inference, greatly facilitating downstream usage. As a highlight, Chinchilla reaches a state-of-the-art average accuracy of 67.5% on the MMLU benchmark, greater than a 7% improvement over Gopher.
Leseleitfaden
Problemstellung und Motivation
Frühere Arbeiten (insbesondere Kaplan et al., 2020) legten nahe, dass bei steigendem Rechenaufwand die Modellparameter aggressiv skaliert werden sollten (), während die Tokenanzahl deutlich langsamer wachsen sollte (). Folglich wurden große Modelle wie GPT-3 (175B), Jurassic-1 (178B), Gopher (280B) und MT-NLG (530B) durchweg auf etwa 300 Milliarden Tokens trainiert. Dies führte jedoch dazu, dass große Modelle im Verhältnis zu ihren Recheninvestitionen signifikant untertrainiert blieben. Diese Arbeit hinterfragt diesen Trade-off: Wie sollten bei einem festen Rechenbudget die Parameteranzahl und die Tokenanzahl aufgeteilt werden, um den Test-Loss zu minimieren?
Kernideen
- Gleiche Skalierung: Für jede Verdopplung der Modellparameter sollten sich auch die Trainings-Tokens verdoppeln (, ).
- Angleichung des Cosine-Schedules: Lernraten-Schedules müssen auf den tatsächlichen Trainingshorizont abgestimmt sein. Die Verwendung von Zwischenpunkten aus einem Run, der über einen festen, langen Horizont (z. B. 130 Mrd. Tokens) abfällt, überschätzt den Loss für kleinere Token-Mengen und verzerrt empirische Skalierungsschätzungen.
- Downstream-Effizienz: Das Training eines kleineren Modells auf wesentlich mehr Tokens liefert bei gleicher Pretraining-Rechenleistung identische oder bessere Genauigkeiten und senkt gleichzeitig den Speicherbedarf, die Fine-Tuning-Kosten sowie die Inferenzlatenz drastisch.
Methode (mit den zentralen Gleichungen)
Die Autoren evaluieren über 400 Modelle (70 Mio. bis 16 Mrd. Parameter, trainiert auf 5 Mrd. bis 500 Mrd. Tokens) unter Verwendung von drei komplementären Strategien:
Minimum über Trainingskurven: Der Zeithorizont wird über 4 Laufzeiten für feste Modellarchitekturen variiert. Die Einhüllende des minimalen Loss pro FLOP wird extrahiert und Potenzgesetze werden angepasst: was zu , führt.
IsoFLOP-Profile: Fixierung der gesamten FLOP-Anzahl über 9 diskrete Budgets hinweg ( bis ) mit an den Horizont angepasstem Cosine-Decay. Parabeln werden über die Parameterzahlen gelegt, um die Loss-Minima zu finden, was , ergibt.
Parametrische Loss-Anpassung: Modellierung des geglätteten Loss mittels einer Risikozerlegung: wobei die Entropie natürlicher Texte darstellt, die Suboptimalität der Repräsentation beschreibt und die Suboptimalität durch Early Stopping bzw. finite Datenmengen erfasst. Die Minimierung des Huber-Loss auf den Log-Residuen liefert , , , , . Unter der Nebenbedingung :
Ergebnisse (mit den wichtigsten Kennzahlen)
- Chinchilla 70B: Trainiert mit demselben FLOP-Budget wie Gopher ( FLOPs, bzw. bei exakter Zählung) unter Verwendung von 70 Mrd. Parametern und 1,4 Billionen Tokens.
- MMLU-Benchmark: Chinchilla erreicht eine durchschnittliche 5-Shot-Genauigkeit von 67,6 %, womit es Gopher (60,0 %) und GPT-3 (43,9 %) übertrifft und die Expertenprognose für Juni 2023 (63,4 %) einstellt. Es erreicht Genauigkeit bei 4 einzelnen MMLU-Teilaufgaben.
- Downstream-Benchmarks: Übertrifft Gopher auf BIG-bench (65,1 % vs. 54,4 %), LAMBADA (77,4 % vs. 74,5 %) und Closed-Book Natural Questions (31,5 % 5-Shot vs. 24,5 %).
- Bias und Toxizität: Unprompted Toxicity bleibt zwischen Gopher und Chinchilla vergleichbar (Median 0,064 vs. 0,066), während sich die Genauigkeit auf Winogender insgesamt von 71,4 % auf 78,3 % verbessert.
Limitationen und offene Fragen
- Aufgrund der hohen Trainingskosten wurden an der Paritätsgrenze nur zwei Large-Scale-Punkte direkt verifiziert (Gopher 280B vs. Chinchilla 70B).
- Die Analyse setzt ein Single-Epoch-Training auf Web-Datensätzen voraus; das Verhalten bei mehrfacher Wiederholung von Daten über mehrere Epochen hinweg wurde nicht untersucht.
- Es gibt empirische Hinweise auf eine leichte negative Krümmung (Konkavität) bei bei hohen Rechenbudgets, was darauf hindeutet, dass Potenzgesetze die optimale Modellgröße immer noch leicht überschätzen könnten.
Schlüsselbegriffe
- Chinchilla
- Ein autoregressives Sprachmodell mit 70 Milliarden Parametern, das mit 1,4 Billionen Tokens trainiert wurde und das gleiche Rechenbudget wie Gopher nutzt.
- Gopher
- Ein Transformer-Sprachmodell mit 280 Milliarden Parametern, das auf 300 Milliarden Tokens trainiert wurde und als rechenäquivalente Baseline dient.
- IsoFLOP profiles (IsoFLOP-Profile)
- Eine Methodik, bei der die Anzahl der Modellparameter variiert wird, während die gesamten Trainings-FLOPs konstant gehalten werden, um die Loss-minimale Parametergröße zu ermitteln.
- Compute-optimal frontier (Rechenoptimale Grenze)
- Die mathematische Kurve, die die verfügbaren Trainings-FLOPs mit der optimalen Verteilung von Parameteranzahl und Trainings-Token-Volumen in Beziehung setzt.
- Parametric loss function (Parametrische Loss-Funktion)
- Die statistische Zerlegung des Sprachmodell-Loss in irreduzible Bayes-Entropie, Parameterkapazitätsdefizit und Token-Stichproben-Optimierungsfehler.
- Huber loss (Huber-Verlust)
- Eine robuste Verlustfunktion, die in Ansatz 3 verwendet wird, um empirische Modellläufe anzupassen und gleichzeitig den Einfluss von Residuen-Ausreißern bei kleinen Rechenskalen abzuschwächen.
- MassiveText
- Der domänenübergreifende Pretraining-Korpus aus Webseiten, Büchern, Nachrichten, Code und Wikipedia, der sowohl zum Training von Gopher als auch von Chinchilla verwendet wurde.
- FLOPs calculation (FLOP-Berechnung)
- Das Budget für Multiply-Accumulate-Operationen, berechnet als näherungsweise über Vorwärts- und Rückwärtsdurchläufe oder über eine ebenenweise Abrechnung.
Fragen
Warum kamen Kaplan et al. zu dem Schluss, dass Parameter schneller skaliert werden sollten als Tokens?
Kaplan et al. verwendeten einen festen Cosine-Lernraten-Schedule (z. B. ausgelegt auf 130 Mrd. Tokens) und nutzten unvollständig konvergierte Zwischenauswertungen für Messpunkte mit kleinerer Token-Anzahl. Da Cosine-Schedules an Leistung verlieren, wenn die Zykluslänge die tatsächliche Schrittzahl stark überschreitet, fielen diese Zwischenverluste künstlich zu hoch aus, was die Effektivität des Trainings kleinerer Modelle auf weniger Tokens unterschätzte.
Was ist die Faustregel für rechenoptimales Skalieren laut Chinchilla?
Sowohl die Anzahl der Modellparameter als auch die Anzahl der Trainings-Tokens sollten in etwa zu gleichen Teilen skaliert werden: Bei einer Verdopplung () des Rechenaufwands sollte die Modellgröße um und die Anzahl der Trainings-Tokens um steigen.
Wie viele Tokens werden empfohlen, um ein rechenoptimales 175B-Modell zu trainieren?
Den Prognosen des Papers zufolge benötigt ein Modell mit 175 Milliarden Parametern rund 3,7 bis 4,3 Billionen Tokens und bis FLOPs, um rechenoptimal zu sein – weit mehr als die 300 Milliarden Tokens, die üblicherweise für GPT-3 verwendet wurden.
Welche Architekturänderungen wurden zwischen Gopher und Chinchilla vorgenommen?
Neben der Reduzierung der Layer-Anzahl und der Hidden Dimension von 280B auf 70B ersetzte Chinchilla den Adam-Optimierer durch AdamW, behielt float32-Master-Gewichte im verteilten Optimierer-Status bei und entfernte die NFKC-Normalisierung aus dem SentencePiece-Tokenizer.
Die Übersicht auf dieser Seite wurde von einer KI aus dem Paper erstellt und kann Fehler enthalten. Details stehen im Paper.