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. 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.