Definitie
Perplexiteit is een meting van hoe goed een kansmodel een sample voorspelt. Voor taalmodellen vertegenwoordigt het de onzekerheid van het model bij het voorspellen van het volgende token: lagere perplexiteit betekent dat het model minder “perplex” of meer zeker is. Wiskundig is perplexiteit de geëxponentieerde gemiddelde negatieve log-likelihood per token.
Waarom het belangrijk is
Perplexiteit is een fundamentele evaluatiemetriek:
- Modelvergelijking: vergelijk verschillende modellen op dezelfde dataset
- Trainingsmonitoring: volg verbetering tijdens training
- Domeinbeoordeling: meet hoe goed model past bij specifieke tekst
- Quantisatie-impact: evalueer kwaliteitsverlies door compressie
- Interpreteerbare schaal: kan begrepen worden als effectieve vocabulairegrootte
Perplexiteit helpt beantwoorden: “Hoe verrast is het model door deze tekst?”
Hoe het werkt
┌────────────────────────────────────────────────────────────┐
│ PERPLEXITEIT │
├────────────────────────────────────────────────────────────┤
│ │
│ Formule: PPL = exp(-1/N × Σ log P(token_i | context)) │
│ │
│ Voorbeeld: "De kat zat" │
│ ─────────────────────── │
│ │
│ Token P(token|context) log P │
│ ───────────────────────────────────────── │
│ "De" 0.10 -2.30 │
│ "kat" 0.25 -1.39 │
│ "zat" 0.40 -0.92 │
│ │
│ Gemiddelde log P = (-2.30 + -1.39 + -0.92) / 3 = -1.54 │
│ Perplexiteit = exp(1.54) = 4.66 │
│ │
│ ┌────────────────────────────────────────────────┐ │
│ │ INTERPRETATIE: │ │
│ │ │ │
│ │ PPL ≈ "effectieve keuzes per positie" │ │
│ │ │ │
│ │ PPL = 1: Model is 100% zeker │ │
│ │ PPL = 10: ~10 gelijk waarschijnlijke opties│ │
│ │ PPL = 50k: Willekeurig (vocab) = geen leren │ │
│ └────────────────────────────────────────────────┘ │
│ │
│ PERPLEXITEITSSCHAAL: │
│ ──────────────────── │
│ │◄────────────────────────────────────────────►│ │
│ 1 10 50 100 1000 50000 │
│ Perfect Goed Redelijk Oké Slecht Willekeur │
│ │
│ TYPISCHE WAARDEN: │
│ ───────────────── │
│ GPT-4 op gewone tekst: ~10-20 │
│ Klein model: ~50-100 │
│ Domein mismatch: ~100-500 │
│ Ongetraind model: ~vocab grootte │
│ │
└────────────────────────────────────────────────────────────┘
Perplexiteit benchmarks:
| Bereik | Kwaliteit | Interpretatie |
|---|---|---|
| 1-10 | Uitstekend | Zeer voorspelbare tekst |
| 10-30 | Zeer goed | Typisch voor sterke LLMs |
| 30-50 | Goed | Redelijk model |
| 50-100 | Matig | Kan verbetering gebruiken |
| 100+ | Slecht | Significante problemen of domein mismatch |
Veelgestelde vragen
V: Wat is een “goede” perplexiteitsscore?
A: Het hangt af van de dataset en modelgrootte. State-of-the-art modellen behalen perplexiteit ~15-25 op standaard benchmarks zoals WikiText. Binnen een project, focus op relatieve verbeteringen in plaats van absolute getallen.
V: Kan perplexiteit modellen met verschillende tokenizers vergelijken?
A: Niet direct, verschillende tokenizers produceren verschillende aantallen tokens voor dezelfde tekst. Vergelijk modellen met dezelfde tokenizer, of normaliseer op karakter/woordaantal in plaats van tokenaantal.
V: Waarom kan perplexiteit laag zijn maar generatiekwaliteit slecht?
A: Perplexiteit meet gemiddelde voorspellingsnauwkeurigheid, niet outputkwaliteit. Een model kan lage perplexiteit hebben door gewone woorden goed te voorspellen terwijl het faalt bij coherente langvormige generatie. Gebruik perplexiteit naast andere metrieken.
V: Hoe relateert perplexiteit tot cross-entropie loss?
A: Perplexiteit = exp(cross-entropie). Ze meten hetzelfde op verschillende schalen. Cross-entropie wordt typisch tijdens training gebruikt (makkelijkere gradiëntberekening); perplexiteit is meer interpreteerbaar voor rapportage.
Gerelateerde termen
- Verliesfunctie: trainingsdoel
- LLM: taalmodellen die geëvalueerd worden
- Tokenisatie: beïnvloedt perplexiteitsberekening
- Fine-tuning: verbetert domeinperplexiteit
Referenties
Jelinek et al. (1977), “Perplexity—a measure of the difficulty of speech recognition tasks”, JASA. [Fundamenteel paper]
Merity et al. (2017), “Regularizing and Optimizing LSTM Language Models”, ICLR. [1.500+ citaties]
Brown et al. (2020), “Language Models are Few-Shot Learners”, NeurIPS. [15.000+ citaties]
Radford et al. (2019), “Language Models are Unsupervised Multitask Learners”, OpenAI. [10.000+ citaties]
References
Jelinek et al. (1977), “Perplexity—a measure of the difficulty of speech recognition tasks”, JASA. [Foundational paper]
Merity et al. (2017), “Regularizing and Optimizing LSTM Language Models”, ICLR. [1,500+ citations]
Brown et al. (2020), “Language Models are Few-Shot Learners”, NeurIPS. [15,000+ citations]
Radford et al. (2019), “Language Models are Unsupervised Multitask Learners”, OpenAI. [10,000+ citations]