Large Language Model (LLM)
Ein KI-Modell, das auf riesigen Textmengen trainiert wurde und menschenähnliche Sprache verstehen und generieren kann.
Eine Metrik die misst, wie 'überrascht' ein Sprachmodell von einem Text ist – niedrigere Perplexity bedeutet besseres Sprachverständnis.
Perplexity ist die Standardmetrik zur Bewertung von Sprachmodellen: Sie misst, wie gut ein Modell eine Textsequenz vorhersagen kann. Niedrige Perplexity bedeutet, das Modell ist wenig “überrascht” vom Text – es hat die Sprache gut gelernt. Hohe Perplexity bedeutet, das Modell findet den Text schwer vorherzusagen. Perplexity ist mathematisch definiert als 2 hoch der mittleren Kreuzentropie und ermöglicht den direkten Vergleich verschiedener Sprachmodelle auf denselben Testdaten.
Perplexity misst, wie “verwirrt” ein Sprachmodell von einem Text ist. Niedrige Perplexity = das Modell versteht die Sprache gut und kann Wörter gut vorhersagen.
Beispiel:
Satz: "Die Katze sitzt auf der ___"
Modell sagt: "Matte" (90% sicher) → Niedrige Perplexity ✅
Satz: "Der Quantencomputer ___"
Modell sagt: "???" (unsicher) → Hohe Perplexity ❌
Was bedeutet der Wert?
Eine Perplexity von 10 bedeutet: Im Durchschnitt ist das Modell so unsicher wie bei einer Wahl zwischen 10 gleichwahrscheinlichen Wörtern.
Wichtig: Perplexity-Werte sind nur innerhalb des gleichen Datensatzes vergleichbar. GPT-2 erreichte ~20 auf WikiText-103, moderne LLMs liegen unter 10.
Perplexity = 2^H(p)
H(p) = -1/N × Σ log₂ P(token_i | context)
Wobei H die Cross-Entropy ist – der durchschnittliche Informationsgehalt pro Token.
| Perplexity | Bedeutung |
|---|---|
| 1 | Perfekte Vorhersage (unmöglich in der Praxis) |
| 10 | Sehr gutes Sprachmodell |
| 50 | Akzeptables Modell |
| 1000+ | Schlechtes Modell oder unbekannte Domäne |
Perplexity misst nicht alles:
Vokabular-Abhängigkeit:
| Metrik | Misst | Wann nutzen? |
|---|---|---|
| Perplexity | Sprachmodellierung | Pre-Training Evaluation |
| BLEU/ROUGE | Übereinstimmung mit Referenz | Übersetzung, Zusammenfassung |
| Human Eval | Subjektive Qualität | Chatbots, Assistenten |
| Accuracy | Korrekte Antworten | Klassifikation, QA |
from evaluate import load
perplexity = load("perplexity", module_type="metric")
results = perplexity.compute(
predictions=["Die Katze sitzt auf der Matte."],
model_id="gpt2"
)
print(f"Perplexity: {results['mean_perplexity']:.2f}") Perplexity misst die Verwirrung eines Modells: Wenn du einen Satz liest und das nächste Wort leicht vorhersagen kannst, ist die Perplexity niedrig. Bei einem zufälligen Wortsalat ist sie hoch.
Niedrig = gut: Das Modell versteht die Sprache und kann Wörter gut vorhersagen
Mathematisch: 2^(Cross-Entropy) – die durchschnittliche Anzahl gleichwahrscheinlicher Wörter
Standard-Metrik für die Evaluation von Sprachmodellen
Modellvergleich
Sprachmodelle auf dem gleichen Testdatensatz vergleichen
Training Monitoring
Perplexity als Trainingsmetrik – sinkt sie, lernt das Modell
Text-Qualität
Generierter Text mit niedriger Perplexity klingt natürlicher
Hängt vom Datensatz ab. GPT-2 erreichte ~20 auf WikiText-103. Moderne LLMs liegen unter 10. Perplexity-Werte sind nur innerhalb des gleichen Datensatzes vergleichbar.
Nur indirekt. Niedrige Perplexity bedeutet gutes Sprachverständnis, aber nicht unbedingt hilfreiche oder korrekte Antworten. Für Chatbots sind menschliche Bewertungen aussagekräftiger.
Mit Hugging Face: `evaluate.load('perplexity')` auf deinem Testdatensatz ausführen. Das Modell berechnet die Log-Wahrscheinlichkeit jedes Tokens und gibt 2^(mittlere Cross-Entropy) zurück. Wichtig: Immer den gleichen Tokenizer wie beim Training verwenden.
Perplexity hängt vom Vokabular und Testdatensatz ab. Ein Modell mit kleinerem Vokabular hat automatisch niedrigere Perplexity. Vergleiche nur Modelle mit gleichem Tokenizer auf identischen Testdaten – sonst vergleichst du Äpfel mit Birnen.