Sofortantwort
Perplexity einfach erklärt
Eine Metrik für das Verständnis von Text durch Sprachmodelle.
- Kurz gesagt
- Niedrig = gut: Das Modell versteht die Sprache und kann Wörter gut vorhersagen
- Typischer Einsatz
- Modellvergleich, Training Monitoring, Text-Qualität
- Wichtig zu wissen
- Standard-Metrik für die Evaluation von Sprachmodellen
Perplexity im Überblick
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.
Technisch betrachtet
Berechnung
Perplexity = 2^H(p)
H(p) = -1/N × Σ log₂ P(token_i | context)
Wobei H die Cross-Entropy ist – der durchschnittliche Informationsgehalt pro Token.
Interpretation
| Perplexity | Bedeutung |
|---|---|
| 1 | Perfekte Vorhersage (unmöglich in der Praxis) |
| 10 | Sehr gutes Sprachmodell |
| 50 | Akzeptables Modell |
| 1000+ | Schlechtes Modell oder unbekannte Domäne |
Limitierungen
Perplexity misst nicht alles:
- Faktische Korrektheit (Halluzinationen haben oft niedrige Perplexity)
- Hilfsbereitschaft oder Sicherheit
- Kohärenz über lange Texte
- Kreativität oder Originalität
Vokabular-Abhängigkeit:
- Kleineres Vokabular → niedrigere Perplexity (weniger Auswahlmöglichkeiten)
- Byte-Level Tokenizer (GPT-2) vs. SentencePiece (Llama) nicht vergleichbar
Perplexity vs. andere Metriken
| 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 |
Code-Beispiel
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}")