- Es wurden 8B- und 70B-Modelle veröffentlicht (sowohl Basismodelle als auch feinabgestimmte Modelle). Sie zeigen in ihrer jeweiligen Modellklasse eine starke Leistung.
- Das 400B-Modell befindet sich noch im Training, nähert sich aber bereits dem Bereich von GPT-4 an (z. B. MMLU 84.8 vs. GPT-4 mit 86.5)
Tokenizer
- Die Anzahl der Tokens wurde von 32K (Llama 2) auf 128K (Llama 3) vervierfacht
- Mit mehr Tokens lässt sich die Sequenzlänge stärker komprimieren. Es werden 15 % weniger Tokens angegeben, bei gleichzeitig verbesserter Downstream-Performance
Architektur
- In Llama 2 nutzten nur die großen Modelle Grouped Query Attention (GQA), jetzt verwenden alle Modelle GQA, einschließlich des kleinsten 8B-Modells
- GQA ist ein Schema zur gemeinsamen Nutzung von Parametern für die Schlüssel/Werte der Attention und reduziert die Größe des KV-Cache während der Inferenz
- Das ist eine gute und sehr begrüßenswerte Änderung, die die Komplexität verringert und Optimierungen erleichtert
Sequenzlänge
- Die maximale Token-Anzahl des Kontextfensters wurde von 4096 (Llama 2) bzw. 2048 (Llama 1) auf 8192 erhöht
- Diese Erhöhung ist willkommen, fällt aber im Vergleich zum aktuellen Standard (z. B. GPT-4 mit 128K) deutlich klein aus
- Viele hatten sich in dieser Dimension vermutlich mehr erwartet. Vielleicht ist später per Finetuning mehr möglich (?)
Trainingsdaten
- Llama 2 wurde mit 2T Tokens trainiert, bei Llama 3 wurde das auf einen Trainingsdatensatz von 15T erhöht
- Es wurde viel Aufmerksamkeit auf Datenqualität, viermal mehr Code-Tokens und 5 % nicht-englische Tokens in mehr als 30 Sprachen gelegt
- 5 % sind im Vergleich zum Verhältnis non-en:en ziemlich wenig, daher ist dieses Modell überwiegend ein englisches Modell. Aber mehr als 0 ist schon ziemlich gut
Skalierungsgesetze
- 15T ist ein extrem großer Datensatz für das Training eines „kleinen“ Modells wie 8B Parametern, und das ist etwas Neues und sehr Begrüßenswertes, das normalerweise nicht gemacht wird
- Um ein 8B-Modell am Chinchilla-„compute optimal“-Punkt zu trainieren, müsste man ungefähr ~200B Tokens verwenden
- Wenn es nur um das beste „bang-for-the-buck“ bei der Modellleistung geht, wäre das ausreichend
- Meta hat diesen Punkt jedoch um etwa das 75-Fache überschritten, was ungewöhnlich ist, was ich persönlich aber sehr begrüße
- Davon profitieren wir alle mit sehr leistungsfähigen Modellen, die zugleich sehr klein, leicht zu handhaben und einfach zu inferieren sind
- Meta erwähnt, dass die Modelle selbst an diesem Punkt im üblichen Sinn noch nicht „konvergiert“ zu haben scheinen
- Das heißt, die LLMs, mit denen wir immer arbeiten, werden vermutlich 100- bis 1000-mal kürzer trainiert, als es bis in die Nähe eines Konvergenzpunkts nötig wäre
- Ich hoffe, dass sich der Trend fortsetzt, noch länger trainierte und deutlich kleinere Modelle zu veröffentlichen
System
- Es wird erwähnt, dass Llama 3 auf 16K GPUs mit einem beobachteten Durchsatz von 400 TFLOPS trainiert wurde
- Es wird nicht ausdrücklich gesagt, aber ich nehme an, dass es sich um H100 fp16 handelt, die in NVIDIAs Marketingmaterial mit 1.979 TFLOPS angegeben werden
- Aber wir wissen alle, dass ihr kleines Sternchen (*with sparsity) viel Arbeit leistet, und man diese Zahl für reale TFLOPS durch 2 teilen muss, um auf ~990 zu kommen
- (Warum wird Sparsity überhaupt als FLOPS mitgerechnet?)
- Wie auch immer: 400/990 ~= 40 % Auslastung, was bei so vielen GPUs ziemlich ordentlich ist!
- Um das in diesem Maßstab zu erreichen, braucht es eine Menge wirklich solider Engineering-Arbeit
Zusammenfassung
- Llama 3 wirkt wie ein sehr leistungsfähiger Modell-Release und ist sehr willkommen
- Es bleibt den Grundlagen treu, investiert viel Zeit in solide System- und Datenarbeit und lotet die Grenzen lang trainierter Modelle aus
- Auch das 400B-Modell ist sehr spannend und könnte das erste Open-Source-Release auf GPT-4-Niveau werden
- Ich denke, viele werden nach längeren Kontextfenstern verlangen
Noch keine Kommentare.