Paper · arXiv 2302.13971
LLaMA: Offene und effiziente Basis-Sprachmodelle
LLaMA: Open and Efficient Foundation Language Models
Zusammenfassung in drei Zeilen
- 🎯 Die meisten führenden LLMs setzen auf riesige Parameterzahlen oder proprietäre Daten, was hohe Serving-Kosten und Zugangsbarrieren erzeugt.
- 🔧 Kompakte Transformer-Modelle (7B bis 65B) werden auf 1,0T bis 1,4T Tokens nur mit Open-Source-Daten, RMSNorm, SwiGLU und RoPE trainiert.
- 📈 LLaMA-13B übertrifft GPT-3 (175B) in den meisten Benchmarks; LLaMA-65B erreicht nach simplem Instruction-Tuning 68,9 % auf MMLU.
Abstract
Wir stellen LLaMA vor, eine Sammlung von Basis-Sprachmodellen im Bereich von 7B bis 65B Parametern. Wir trainieren unsere Modelle auf Billionen von Tokens und zeigen, dass es möglich ist, State-of-the-Art-Modelle ausschließlich unter Verwendung öffentlich zugänglicher Datensätze zu trainieren, ohne auf proprietäre und unzugängliche Daten zurückgreifen zu müssen. Insbesondere übertrifft LLaMA-13B das Modell GPT-3 (175B) auf den meisten Benchmarks, und LLaMA-65B ist konkurrenzfähig mit den besten Modellen, Chinchilla-70B und PaLM-540B. Wir stellen alle unsere Modelle der Forschungsgemeinschaft zur Verfügung.
Original-Abstract (Englisch)
We introduce LLaMA, a collection of foundation language models ranging from 7B to 65B parameters. We train our models on trillions of tokens, and show that it is possible to train state-of-the-art models using publicly available datasets exclusively, without resorting to proprietary and inaccessible datasets. In particular, LLaMA-13B outperforms GPT-3 (175B) on most benchmarks, and LLaMA-65B is competitive with the best models, Chinchilla-70B and PaLM-540B. We release all our models to the research community.
Leseleitfaden
Problem und Motivation
Standardmäßige Skalierungsgesetze (wie Chinchilla) berechnen den optimalen Trade-off zwischen Parametergröße und Datensatzgröße für ein festes Rechenbudget im Training. Dieser Ansatz vernachlässigt jedoch das Inferenz-Budget, welches die langfristigen Betriebskosten für das Serving von Sprachmodellen dominiert. Für die Serving-Effizienz sind kleinere Modelle, die auf deutlich mehr Daten trainiert wurden als von rechenzeitoptimalen Richtlinien empfohlen, vorzuziehen, da ihr Hosting und Betrieb wesentlich kostengünstiger sind.
Darüber hinaus basieren führende State-of-the-Art-Modelle (wie GPT-3, Chinchilla und PaLM) auf privaten, nicht reproduzierbaren Datensätzen oder unerschwinglich großen Architekturen. LLaMA beweist, dass konkurrenzfähige Basismodelle ausschließlich auf öffentlich verfügbaren Daten trainiert werden können, was eine offene Bereitstellung für Forschende ermöglicht.
Kernideen
- Inferenz-zentriertes Training: Anstatt das Training bei rechenzeitoptimalen Datensatzgrößen zu stoppen (z. B. ~200B Tokens für ein 10B-Modell), trainiert LLaMA 7B- und 13B-Modelle auf 1,0T Tokens sowie 33B- und 65B-Modelle auf 1,4T Tokens.
- Ausschließlich offene Datensätze: Alle Pre-Training-Daten stammen aus öffentlichen Quellen: CommonCrawl (67 %), C4 (15 %), GitHub (4,5 %), Wikipedia (4,5 %), Books (4,5 %), ArXiv (2,5 %) und Stack Exchange (2 %).
- Modernisierte Transformer-Architektur: Beinhaltet Pre-Normalization mit RMSNorm für verbesserte Stabilität, SwiGLU-Aktivierungen und Rotary Positional Embeddings (RoPE) anstelle absoluter Positionen.
- Effizientes Engineering: Nutzt speichereffiziente Attention (über
xformers), benutzerdefiniertes Activation Checkpointing sowie Sequenz- und Modellparallelismus.
Methode
LLaMA verwendet einen autoregressiven Transformer-Decoder mit folgenden Modifikationen:
- Pre-Normalization: Eingangsnormalisierung mittels RMSNorm vor jedem Sub-Layer:
- SwiGLU-Aktivierung: Ersetzt die standardmäßigen ReLU/GELU-Aktivierungen durch SwiGLU, wobei die Zwischendimension auf statt dimensioniert wird.
- Rotary Embeddings (RoPE): Wird in jeder Schicht angewendet, um relative Positionen ohne absolute Positionseinbettungen zu kodieren.
- Optimierung: AdamW mit , Weight Decay von , Gradient Clipping von , Warmup-Schritten und einem Cosine-Learning-Rate-Schedule, der auf 10 % der maximalen Lernrate abfällt. Die Batch-Größe beträgt 4M Tokens über alle Modellgrößen hinweg.
Die Schätzung des Energie- und CO2-Fußabdrucks über die Trainingsläufe erfolgt gemäß:
Ergebnisse
- Common Sense Reasoning: LLaMA-13B schlägt GPT-3 (175B) über mehrere Benchmarks hinweg (z. B. 78,1 % vs. 60,5 % auf BoolQ; 73,0 % vs. 70,2 % auf WinoGrande). LLaMA-65B erreicht oder übertrifft PaLM-540B auf PIQA (82,8 % vs. 82,3 %) und HellaSwag (84,2 % vs. 83,4 %).
- Closed-book QA: Auf TriviaQA (0-shot) erreicht LLaMA-65B 68,2 % und LLaMA-13B 56,6 % (was die vergleichbare Leistung von GPT-3 übertrifft, während es auf einer einzelnen V100-GPU ausgeführt werden kann).
- Codegenerierung: Auf HumanEval (pass@1) erzielt LLaMA-65B 23,7 %, schlägt damit PaLM-62B (15,9 %) und zieht mit PaLM-cont 62B (23,7 %) gleich.
- MMLU & Instruction Finetuning: Das Basismodell LLaMA-65B erreicht 63,4 % 5-Shot-Genauigkeit auf MMLU (hinter PaLM-540B mit 69,3 %, wahrscheinlich bedingt durch kleinere Buchkorpora im Pre-Training). Ein Instruction Finetuning auf grundlegenden Prompts (LLaMA-I 65B) hebt die Leistung jedoch auf 68,9 % an.
Grenzen und offene Fragen
- Halluzination und Faktentreue: Die Ergebnisse auf TruthfulQA bleiben mäßig (LLaMA-65B erzielt 0,57 bei Truthful und 0,53 bei Truthful*Informative), was eine fortbestehende Neigung zu Halluzinationen zeigt.
- Skalierung von Toxizität: Auf RealToxicityPrompts steigt die Toxizität mit der Modellgröße, insbesondere bei respektvollen Prompts (0,141 für 65B vs. 0,081 für 7B).
- Lücke beim akademischen Wissen: Die Leistung auf MMLU blieb hinter Chinchilla-70B und PaLM-540B zurück. Die Autoren vermuten als Ursache, dass im Training nur ~177 GB an Büchern und wissenschaftlichen Arbeiten enthalten waren, verglichen mit ~2 TB in proprietären Datensätzen.
Schlüsselbegriffe
- LLaMA
- Eine Sammlung von Basis-Sprachmodellen von 7B bis 65B Parametern, die auf bis zu 1,4 Billionen Tokens ausschließlich unter Nutzung öffentlicher Datensätze trainiert wurden.
- Inference Budget
- Der Rechenaufwand und die Latenz beim Serving eines trainierten Modells; optimiert durch das Trainieren kleinerer Modelle auf mehr Tokens.
- RMSNorm
- Root Mean Square Layer Normalization, wird zur Normalisierung der Eingaben in Transformer-Sub-Layer für stabilere Trainingsabläufe eingesetzt.
- SwiGLU
- Eine Gated-Linear-Unit-Variante mit der Swish-Aktivierungsfunktion, dimensioniert mit einer Hidden Dimension von 2/3 * 4d.
- Rotary Positional Embeddings (RoPE)
- Ein Verfahren, das relative Positionsinformationen in die Attention-Schichten des Transformers einbringt, indem Query- und Key-Repräsentationen rotiert werden.
- xformers
- Eine Open-Source-Bibliothek, die eine speichereffiziente Implementierung der kausalen Multi-Head Attention bietet und das Speichern großer Attention-Gewichtsmatrizen vermeidet.
- LLaMA-I
- Die per Instruction-Finetuning angepasste Version von LLaMA-65B, trainiert nach dem Flan-Protokoll zur Verbesserung des Befolgens von Anweisungen und der MMLU-Leistung.
- TruthfulQA
- Ein Benchmark, der die Neigung eines LLMs misst, menschliche Falschaussagen und Halluzinationen bei anspruchsvollen Sachfragen nachzuahmen.
Fragen
Welche Datensätze wurden für das Pre-Training von LLaMA verwendet?
Für das Pre-Training wurden ausschließlich öffentliche Daten genutzt: Englisches CommonCrawl (67 %), C4 (15 %), GitHub (4,5 %), Wikipedia in 20 Sprachen (4,5 %), Gutenberg und Books3 (4,5 %), ArXiv (2,5 %) sowie Stack Exchange (2 %).
Wie schlägt sich LLaMA-13B im Vergleich zu GPT-3 (175B)?
LLaMA-13B übertrifft GPT-3 auf den meisten Standard-Benchmarks – darunter BoolQ, PIQA und WinoGrande –, obwohl es mehr als zehnmal kleiner ist und die Inferenz auf einer einzelnen GPU für Endanwender oder Rechenzentren ausgeführt werden kann.
Wie lange dauerte das Training von LLaMA-65B?
Das Training von LLaMA-65B auf 1,4 Billionen Tokens verarbeitete etwa 380 Tokens/Sek./GPU auf 2.048 A100-GPUs (80 GB) und war in rund 21 Tagen abgeschlossen.
Welche Architektur-Modifikationen nimmt LLaMA gegenüber dem ursprünglichen Transformer vor?
LLaMA nutzt RMSNorm-Pre-Normalization vor den Sub-Layern, ersetzt ReLU durch SwiGLU-Aktivierungen (Dimension 2/3 * 4d) und tauscht absolute Positions-Embeddings gegen Rotary Position Embeddings (RoPE) aus.
Die Übersicht auf dieser Seite wurde von einer KI aus dem Paper erstellt und kann Fehler enthalten. Details stehen im Paper.