BERT (Bidirectional Encoder Representations from Transformers) revolutionierte 2018 die NLP-Forschung, indem es zeigte, dass einfaches Masked Language Modeling ein extrem leistungsstarkes Pretraining Signal ist.
Das Kernproblem: ELMo vs. BERT
Vor BERT gab es zwei Paradigmen:
ELMo Approach (Bidirektional):
- Trainiere zwei separate LSTMs
- Eine vorwärts, eine rückwärts
- Kombiniere beide
- Ergebnis: "Context aware" Embeddings
Aber: Langsam, braucht zwei separate Modelle
GPT Approach (Unidirektional):
- Ein Transformer, liest von links nach rechts
- Schneller
- Aber: Kann rechts gelegene Information nicht sehen
BERT Insight: Wir können einen Transformer trainieren, der bidirektional ist, OHNE ihn unidirektional zu machen.
Masked Language Modeling (MLM)
Die Kernidee ist einfach:
Original Satz:
"Der Hund sprang über den Zaun"
Maskierung (15% der Tokens):
"Der [MASK] sprang über den [MASK]"
Aufgabe: Vorhersage der maskierten Tokens
Expected: Hund, Zaun
Das ist anders als GPT:
- GPT sagt: "Vorhersage des nächsten Tokens"
- BERT sagt: "Vorhersage eines zufälligen Tokens in der Mitte"
Warum funktioniert das?
Weil das Modell Kontex von beide Seiten nutzen muss:
GPT bei "Der Hund ...":
- Kann nur nach rechts schauen
- Hund ist unbekannt
- Muss raten
BERT bei "Der [MASK] sprang ...":
- Kann "Der" auf der linken Seite sehen
- Kann "sprang" auf der rechten Seite sehen
- Kontekt: "etwas das springt" → "Hund"
- Höhere Informationsdichte
Next Sentence Prediction (NSP)
BERT trainierte auch auf eine zweite Aufgabe:
Zwei Sätze, zufällig:
Satz A: "Die Katze sitzt auf der Matte"
Satz B (50% der Zeit): "Sie schläft dort" (folgt A)
Satz B (50% der Zeit): "Fische schwimmen im Wasser" (zufällig)
Aufgabe: Vorhersage ob B nach A folgt
Das fügt Satz-Level Verständnis hinzu.
Hinweis: Später Forschung zeigte, dass NSP wahrscheinlich nicht notwendig ist. Aber damals schien es logisch.
BERT Architektur
BERT-Base:
- 12 Transformer Blöcke
- 768 Hidden Dimension
- 12 Attention Heads
- 110 Millionen Parameter
- Vocab: 30.000 Tokens
BERT-Large:
- 24 Transformer Blöcke
- 1024 Hidden Dimension
- 16 Attention Heads
- 340 Millionen Parameter
Training
Daten:
- BookCorpus (800M Worte)
- Wikipedia (2.5B Worte)
- Total: 3.3 Billionen Token
Hardware:
- 64 TPU v3 Chips (Google TPU Pods)
- Training-Zeit: 4 Tage
Hyperparameter:
- Learning Rate: 0.0001
- Batch Size: 256
- Optimizer: Adam
- Warmup Steps: 10,000
Das Fine-Tuning Paradigma
BERTs größter Verdienst: Zeigen, dass Pre-training + Fine-tuning einfach funktioniert.
Phase 1: Pretraining
- Trainiere auf riesiger ungelabelter Datensammlung
- Kostet viel (aber einmalig)
Phase 2: Fine-tuning
- Nimm BERT
- Füge einen einfachen Klassifikations-Layer hinzu
- Trainiere auf kleinem, gelabeltem Dataset
- Braucht nur wenige Stunden
Konkrete Fine-tuning Beispiele
Text Klassifikation (Sentiment):
Input: "Dieses Produkt ist toll!"
[CLS] Token → Classification Layer → Positive
Named Entity Recognition:
Input: "Donald Trump besuchte New York"
Output: [Person] [Person] [Location]
Question Answering:
Question: "Was ist die Hauptstadt von Frankreich?"
Context: "Frankreich hat Paris als Hauptstadt"
Output: "Paris" (Character Position im Kontext)
Impact und Adoption
Benchmark Improvements nach BERT:
GLUE Benchmark Score:
Vorher (Best Non-BERT): 83.7%
BERT-Base: 84.6%
BERT-Large: 87.4%
SQuAD (Question Answering):
Vorher: 83.1% F1
BERT: 93.2% F1
BERT war so erfolgreich, dass praktisch alle nachfolgenden NLP-Modelle das gleiche Paradigma nutzten.
Evolution: RoBERTa, ALBERT, DeBERTa
Nach BERT kamen mehrere Verbesserungen:
RoBERTa (Facebook, 2019)
Verbesserungen zu BERT:
1. Länger trainiert (100K Steps statt 1M)
2. Größeres Vocab (50K Tokens)
3. Keine NSP (war nicht notwendig)
4. Besser Hyperparameter-Tuning
5. Byte-Level BPE Tokenizer
Ergebnis: +2-3% auf Benchmarks
ALBERT (Google, 2019)
Fokus: Größe reduzieren
Techniken:
1. Parameter Sharing zwischen Layers
- Statt 12 unterschiedliche Layer
- Layer 1-6 identisch, Layer 7-12 identisch
2. Factorized Embedding
- Embedding Matrix: 30K x 768
- Besser: 30K x 256 dann 256 x 768
3. Sentence Order Prediction statt NSP
Ergebnis: 1/10 Parameter wie BERT, ähnliche Perfomance
DeBERTa (Microsoft, 2020)
Fokus: Bessere Attention Mechanik
Innovations:
1. Disentangled Attention
- Trennung von Content (Token) vs. Position
- Bessere Modellierung
2. Enhanced Mask Decoder
- Besserer Decoder für Downstream Tasks
Ergebnis: +2-4% über BERT auf mehreren Benchmarks
Kritik und Limitationen
Was BERT nicht gut kann
- Generation: BERT ist Encoder-only, kann keinen Text generieren
- Long Sequences: Trainiert nur auf max 512 Tokens
- Knowledge: 3.3B Token ist relativ klein nach heutigen Maßstäben
Was BERT annahm und später widerlegt wurde
- NSP hilft nicht wirklich (RoBERTa zeigte das)
- Größer ist nicht immer besser (ALBERT zeigte Parameter Sharing funktioniert)
- MLM ist nicht optimal (Neuere Arbeiten zeigen andere Objectives)
Warum BERT legacy ist
BERT war nicht das größte Modell oder schnellste. Aber:
- Bewies ein einfaches Pattern: Großes Pretraining + einfaches Fine-tuning
- Skalierte auf viele Sprachen: multilingual BERT
- Ermöglichte das Fine-tuning Ökosystem: Hunderte von BERT-basierten Modellen
- War zuerst mit großem Erfolg: Timing ist wichtig
BERT Timeline und Nachfolger
2018: BERT veröffentlicht
2019: RoBERTa, ALBERT, ELECTRA
2020: DeBERTa, ERNIE
2021: Effiziente Modelle: DistilBERT, TinyBERT
2022-2024: Decoder-basierte Modelle dominieren (GPT, LLaMA)
Das größte Paradox: BERT revolutionierte NLP, aber wurde in 3 Jahren von Decoder-Modellen überholt.
