Perplexity (metric) (SV)

From Systems analysis Wiki
Jump to navigation Jump to search

Perplexitet (eng. Perplexity, PPL) inom informationsteori och maskininlärning är ett mått på osäkerhet eller "förvåning" hos en språkmodell vid prediktion av ett textstickprov. Låg perplexitet indikerar att modellens sannolikhetsfördelning stämmer väl överens med testdata, medan hög perplexitet innebär att modellen förutsäger sekvensen dåligt[1].

Formellt definieras perplexiteten hos en sannolikhetsfördelning som exponenten av dess entropi. För en diskret fördelning p(x) är den lika med 2H(p), där H(p) är entropin[2]. Intuitivt kan perplexitet förstås som det "effektiva" antalet alternativ som modellen väljer mellan vid varje steg. Om perplexiteten är 100 innebär det att modellens osäkerhet är likvärdig med att välja ett av 100 lika sannolika utfall[3].

Begreppet introducerades för första gången 1977 av en forskargrupp på IBM under ledning av Frederick Jelinek, i samband med statistisk taligenkänning, för att kvantitativt bedöma uppgiftens "svårighetsgrad"[4].

Perplexitet i språkmodeller

Inom området naturlig språkbehandling (NLP) har perplexitet blivit ett standardmässigt internt (intrinsic) mätvärde för att utvärdera språkmodellers kvalitet. Det mäter hur väl en modell förutsäger en sekvens av ord eller token i en testdatamängd.

Formell definition

För ett testkorpus W=w1w2wN och en språkmodell q beräknas perplexiteten som det inverterade geometriska medelvärdet av testkorpusens sannolikhet, normaliserat med avseende på antalet ord: PP(W,q)=(i=1N1q(wiw1,,wi1))1/N

Denna formel är ekvivalent med exponenten av korsedopi, eller genomsnittlig logaritmisk förlust (negative log-likelihood): PP(W,q)=exp(1Ni=1Nlogq(wiконтекст))

Minimering av perplexitet är ekvivalent med maximering av modellens trovärdighet på testdata. En modell med lägre perplexitet anses därmed vara statistiskt mer precis[5].

Historisk användning och moderna LLM

Historiskt sett användes perplexitet i stor utsträckning för att utvärdera statistiska n-gram-modeller. För Wall Street Journal-korpusen har exempelvis en unigrammodell (som enbart beaktar ordfrekvenser) en perplexitet på ~962, medan en trigrammodell (som tar hänsyn till kontexten av de två föregående orden) uppnår cirka 109[6]. Denna kraftiga minskning visar hur mycket bättre modellen fångar språkliga mönster.

I takt med utvecklingen av stora språkmodeller (LLM) har perplexiteten behållit sin roll som grundläggande referenspunkt. Forskare rapporterar perplexitet på standardiserade testmängder (t.ex. WikiText) som ett mått på modellens "flöde". I OpenAI:s artikel om GPT-2 anges exempelvis att en modell med ~117 miljoner parametrar uppnår en perplexitet på cirka 37 på WikiText-103-korpusen[7]. Minskad perplexitet korrelerar vanligtvis med förbättrad modellkvalitet, varför måttet fungerar som en praktisk framstegsindikator vid träning och optimering.

Begränsningar och tolkning av måttet

Även om låg perplexitet vittnar om hög trovärdighet för data enligt modellen, har detta mätvärde ett antal väsentliga begränsningar och korrelerar inte alltid med den verkliga kvaliteten hos den genererade texten.

  • Låg perplexitet ≠ hög kvalitet. Perplexitet mäter modellens säkerhet i sina prediktioner, men inte deras tillförlitlighet. En modell kan vara säkert felaktig och generera meningslös men statistiskt sannolik text (t.ex. genom att upprepa mycket vanliga ord och fraser)[3].
  • Känslighet för data och tokenisering. Perplexitet lämpar sig dåligt för direkt jämförelse av modeller med olika arkitektur, vokabulär eller tokeniseringsmetod. En teckenbaserad modell kan exempelvis ha numeriskt lägre perplexitet än en ordbaserad, utan att det innebär att den löser språkliga uppgifter bättre[3].
  • Oförmåga att utvärdera semantik och lång kontext. Perplexitet är ett lokalt mätvärde som utvärderar prediktion av nästa token. Det korrelerar svagt med modellens förmåga att fånga långsiktiga beroenden och meningssammanhang över långa avstånd. En studie från 2023 (Hu et al.) visade att LLM:s förmåga att förstå långa texter (upp till 100 000 token) knappt återspeglas i perplexitetsmåttet[8].
  • Möjlighet till manipulation. Måttet kan "luras". En överanpassad modell visar artificiellt låg perplexitet på data som den har "memorerat". Forskning (Wang et al., 2022) visade också att duplicering av textavsnitt eller till och med avsaknad av punkt i slutet av en mening kan sänka eller höja perplexiteten utan att den faktiska textkvaliteten påverkas[9].

Slutsats: perplexitetens roll i dag

Med hänsyn till de nämnda begränsningarna betraktas perplexitet i modern praxis som ett kompletterande, preliminärt mätvärde för en språkmodells kvalitet. Det är fortfarande ett värdefullt verktyg för snabb utvärdering och felsökning av modeller, eftersom det är oberoende av den specifika tillämpningsuppgiften och enkelt att beräkna[3].

För en fullständig utvärdering av LLM räcker dock perplexitet inte. I dag kompletteras det obligatoriskt med externa (extrinsic) mätvärden kopplade till specifika uppgifter, såsom:

  • Precision vid frågesvar;
  • Mänsklig utvärdering (human evaluation);
  • BLEU/ROUGE för maskinöversättning och sammanfattning.

I kombination med dessa metoder fortsätter perplexitet att spela en viktig roll — som ett objektivt mått på modellens "förvåning" — men dess resultat tolkas alltid med hänsyn till de nämnda begränsningarna[3].

Referenser

  • Artikeln "Perplexitet i språkmodeller" på Habr
  • Hugging Face-dokumentation om beräkning av perplexitet

Litteratur

  • Jelinek, F., Bahl, L. R., & Mercer, R. L. (1977). Perplexity — a Measure of the Difficulty of Speech Recognition Tasks. JASA:62(S1):S63.
  • Jurafsky, D., & Martin, J. H. (2021). Speech and Language Processing (3:e uppl., kap. 3: N-gram Language Models). PDF.
  • Radford, A. et al. (2019). Language Models are Unsupervised Multitask Learners. OpenAI white paper.
  • Brown, T. B. et al. (2020). Language Models are Few-Shot Learners. arXiv:2005.14165.
  • Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models. arXiv:2001.08361.
  • Wang, C. et al. (2022). Perplexity by PLM Is Unreliable for Evaluating Text Quality. arXiv:2210.05892.
  • Meister, C., & Cotterell, R. (2021). Language Model Evaluation Beyond Perplexity. arXiv:2106.00085.
  • Hu, Y. et al. (2024). Can Perplexity Reflect Large Language Model's Ability in Long Text Understanding?. arXiv:2405.06105.
  • Lazaridou, A. et al. (2021). Mind the Gap: Assessing Temporal Generalization in Neural Language Models. NeurIPS 2021.

Noter

  1. «Перплексия». Википедия. [1]
  2. «Perplexity». Wikipedia. [2]
  3. 3.0 3.1 3.2 3.3 3.4 Morgan, Abby. «Perplexity for LLM Evaluation». Comet AI Blog, 21 Nov 2024. [3]
  4. «README.md · evaluate-measurement/perplexity». Hugging Face. [4]
  5. Jurafsky, Dan, and James H. Martin. Speech and Language Processing, 3rd ed., Chapter 3: N-gram Language Models, draft (2021). [5]
  6. Jurafsky, Dan, and James H. Martin. Speech and Language Processing, 3rd ed., Chapter 3: N-gram Language Models, draft (2021). [6]
  7. «Perplexity number of wikitext-103 on gpt-2 don't match the paper». GitHub, huggingface/transformers, Issue #483. [7]
  8. Hu, H., et al. «Can Perplexity Reflect Large Language Model's Ability in Long Text Understanding?». arXiv:2405.06105 [cs.CL], 10 мая 2024 г. [8]
  9. Wang, C., et al. «Perplexity by PLM Is Unreliable for Evaluating Text Quality». arXiv:2210.05892 [cs.CL], 12 окт. 2022 г. [9]