test-perplexity
Et mål for, hvor godt en sprogmodel forudsiger en testdatasætsekvens, beregnet som den geometriske gennemsnitlige inverse sandsynlighed for ordene i testdata.
Kort fortalt
Test-perplexity fortæller, hvor overrasket en sprogmodel er over en testtekst – jo lavere værdi, desto bedre passer modellen til testdata.
- Kategori
- metrik
- Niveau
- øvet
Betydninger
1- 1
En metrik, der kvantificerer en sprogmodels forudsigelsesevne på et testsæt ved at beregne den eksponentielle gennemsnitlige negative log-sandsynlighed for sekvensen.
- Modellens test-perplexity på WikiText-2 var 45,3, hvilket indikerer en god generalisering.
- Sammenligning af test-perplexity mellem forskellige modeller viser, at GPT-4 klarer sig bedre end forgængeren.
Hvornår bruges det
Bruges til at evaluere og sammenligne sprogmodellers generaliseringsevne på ukendte data. Test-perplexity beregnes på et separat testsæt, som modellen ikke er trænet på. Det er en standardmetrik inden for naturlig sprogbehandling.
Formel
Perplexity = exp( - (1/N) * sum_{i=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
n = len(log_probs)
return np.exp(-np.sum(log_probs) / n)Funktion til at beregne perplexity ud fra log-sandsynligheder.
Oprindelse
Test henviser til testsættet, og perplexity kommer fra latin 'perplexitas' (forvirring). I informationsteori måler det hvor mange valg modellen står over for.