Perplexity-score
Perplexity-score er en metrik, der måler, hvor godt en sprogmodel forudsiger en sekvens af tokens, defineret som eksponentialet af gennemsnitlig krydsentropi.
Kort fortalt
Perplexity-score fortæller, hvor 'overrasket' en sprogmodel bliver over en tekst — lavere værdi betyder bedre forudsigelser.
- Kategori
- metrik
- Niveau
- øvet
- Udtale
- /pərˈpleksɪti skɔr/
Betydninger
1- 1
Mål for en sprogmodels usikkerhed ved forudsigelse af tokens; jo lavere perplexity, desto bedre passer modellen til data.
- En veltrænet GPT-2 opnår en perplexity på omkring 35 på WikiText-2.
- Perplexity bør ikke bruges alene til at vurdere kvaliteten af genererede tekster, da den kan være vildledende.
Hvornår bruges det
Bruges primært til at evaluere sprogmodeller under træning og sammenligning. Perplexity måles på en testkorpus og kan være vildledende for generative opgaver, da den ikke nødvendigvis korrelerer med menneskelig vurdering.
Formel
Perplexity = exp(-1/N * ∑ log P(w_i | context))Kodeeksempel
import numpy as np
def perplexity(log_probs):
# log_probs: array of log probabilities of each token
return np.exp(-np.mean(log_probs))Eksempel på beregning af perplexity i Python.
Oprindelse
Fra engelsk 'perplex' (forvirre) og 'score', indført i informationsteori af Claude Shannon i 1951.
Kilder
1- Prediction and Entropy of Printed English (Shannon, 1951)