Perplexity (metric) (CS)

From Systems analysis Wiki
Jump to navigation Jump to search

Perplexita (angl. Perplexity, PPL) v teorii informace a strojovém učení je míra neurčitosti nebo „překvapení" jazykového modelu při předpovídání vzorku textu. Nízká perplexita indikuje, že pravděpodobnostní rozdělení modelu dobře odpovídá testovacím datům, zatímco vysoká perplexita znamená, že model špatně předpovídá sekvenci[1].

Formálně je perplexita pravděpodobnostního rozdělení definována jako exponenciála jeho entropie. Pro diskrétní rozdělení p(x) se rovná 2H(p), kde H(p) je entropie[2]. Intuitivně lze perplexitu chápat jako „efektivní" počet variant, z nichž model vybírá v každém kroku. Pokud je perplexita rovna 100, znamená to, že neurčitost modelu je ekvivalentní výběru jednoho ze 100 stejně pravděpodobných výsledků[3].

Termín byl poprvé zaveden v roce 1977 skupinou výzkumníků IBM vedenou Frederickem Jelinkem v kontextu statistického rozpoznávání řeči za účelem kvantitativního hodnocení „obtížnosti" úlohy[4].

Perplexita v jazykových modelech

V oblasti zpracování přirozeného jazyka (NLP) se perplexita stala standardní interní (intrinsic) metrikou pro hodnocení kvality jazykových modelů. Měří, jak dobře model předpovídá sekvenci slov nebo tokenů v testovací datové sadě.

Formální definice

Pro testovací korpus W=w1w2wN a jazykový model q se perplexita vypočítává jako převrácená průměrná geometrická pravděpodobnost testovacího korpusu, normalizovaná podle počtu slov: extPP(W,q)=(i=1N1q(wiw1,,wi1))1/N

Tento vzorec je ekvivalentní exponenciále křížové entropie neboli průměrných logaritmických ztrát (negative log-likelihood): Failed to parse (syntax error): {\displaystyle ext{PP}(W, q) = \exp\left(-\frac{1}{N}\sum_{i=1}^{N} \log q(w_i \mid ext{контекст})\right) }

Minimalizace perplexity je ekvivalentní maximalizaci věrohodnosti modelu na testovacích datech. Model s nižší perplexitou je tedy považován za statisticky přesnější[5].

Historické použití a moderní LLM

Historicky byla perplexita hojně využívána pro hodnocení statistických n-gramových modelů. Například pro korpus Wall Street Journal má unigramový model (zohledňující pouze frekvence slov) perplexitu ~962, zatímco trigramový (zohledňující kontext dvou předchozích slov) přibližně 109[6]. Tento výrazný pokles ukazuje, o kolik lépe model zachycuje jazykové zákonitosti.

S rozvojem velkých jazykových modelů (LLM) si perplexita zachovala svou roli základního referenčního ukazatele. Výzkumníci uvádějí perplexitu na standardních testovacích sadách (například WikiText) jako indikátor „plynulosti" modelu. Například v článku OpenAI o GPT-2 je uvedeno, že model s ~117 mil. parametry dosahuje perplexity přibližně 37 na korpusu WikiText-103[7]. Snížení perplexity obvykle koreluje se zlepšením kvality modelu, takže metrika slouží jako praktický indikátor pokroku při trénování a optimalizaci.

Omezení a interpretace metriky

Ačkoli nízká perplexita svědčí o vysoké věrohodnosti dat podle modelu, tento ukazatel má řadu podstatných omezení a ne vždy koreluje se skutečnou kvalitou generovaného textu.

  • Nízká perplexita ≠ vysoká kvalita. Perplexita měří jistotu modelu v jeho předpovědích, nikoli jejich správnost. Model může být sebejistě v omylu a generovat nesmyslný, avšak statisticky pravděpodobný text (například opakováním velmi častých slov a frází)[3].
  • Citlivost na data a tokenizaci. Perplexita se špatně hodí pro přímé srovnání modelů s různou architekturou, slovníkem nebo způsobem tokenizace. Například znakový model může mít numericky nižší perplexitu než slovní, ale to neznamená, že lépe řeší jazykové úlohy[3].
  • Neschopnost hodnotit sémantiku a dlouhý kontext. Perplexita je lokální metrika hodnotící předpověď dalšího tokenu. Slabě koreluje se schopností modelu zachycovat dlouhodobé závislosti a sémantický kontext na velkých vzdálenostech. Studie z roku 2023 (Hu et al.) ukázala, že schopnost LLM rozumět dlouhým textům (až 100 tis. tokenů) se v metrice perplexity prakticky neodráží[8].
  • Možnost manipulace. Metriku lze „oklamat". Přetrénovaný model vykáže uměle nízkou perplexitu na datech, která si „zapamatoval". Výzkumy (Wang et al., 2022) také ukázaly, že duplikace fragmentů textu nebo dokonce absence tečky na konci věty může bezdůvodně snížit či zvýšit perplexitu, aniž by to ovlivnilo skutečnou kvalitu textu[9].

Závěr: role perplexity dnes

S ohledem na uvedená omezení je perplexita v současné praxi považována za pomocný, předběžný ukazatel kvality jazykového modelu. Zůstává cenným nástrojem pro rychlé hodnocení a ladění modelů, protože nezávisí na konkrétní aplikační úloze a je snadno vypočitatelná[3].

Pro komplexní hodnocení LLM však perplexita sama o sobě nestačí. Dnes je povinně doplňována externími (extrinsic) metrikami vázanými na konkrétní úlohy, jako jsou:

  • Přesnost odpovědí na otázky;
  • Hodnocení lidmi (human evaluation);
  • BLEU/ROUGE pro strojový překlad a sumarizaci.

Ve spojení s těmito metodami perplexita nadále plní důležitou roli — slouží jako objektivní míra „překvapení" modelu, avšak její výsledky jsou vždy interpretovány s přihlédnutím k uvedeným omezením[3].

Odkazy

  • Článek „Perplexita v jazykových modelech" na Habru
  • Dokumentace Hugging Face k výpočtu perplexity

Literatura

  • 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. vyd., 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.

Poznámky

  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]