Perplexity (metric) (PL)

From Systems analysis Wiki
Jump to navigation Jump to search

Perpleksja (ang. Perplexity, PPL) w teorii informacji i uczeniu maszynowym — to miara niepewności lub „zaskoczenia" modelu językowego przy przewidywaniu próbki tekstu. Niska perpleksja wskazuje, że rozkład prawdopodobieństwa modelu dobrze odpowiada danym testowym, podczas gdy wysoka perpleksja oznacza, że model słabo przewiduje sekwencję[1].

Formalnie perpleksja rozkładu prawdopodobieństwa definiowana jest jako eksponenta jego entropii. Dla rozkładu dyskretnego p(x) wynosi ona 2H(p), gdzie H(p) — entropii[2]. Intuicyjnie perpleksję można rozumieć jako „efektywną" liczbę wariantów, spośród których model wybiera na każdym kroku. Jeśli perpleksja wynosi 100, oznacza to, że niepewność modelu jest równoważna wyborowi jednego ze 100 równoprawdopodobnych wyników[3].

Termin został po raz pierwszy wprowadzony w 1977 roku przez grupę badaczy IBM pod kierownictwem Frederica Jelinka w kontekście statystycznego rozpoznawania mowy, w celu ilościowej oceny „trudności\" zadania[4].

Perpleksja w modelach językowych

W dziedzinie przetwarzania języka naturalnego (NLP) perpleksja stała się standardową wewnętrzną (intrinsic) metryką oceny jakości modeli językowych. Mierzy ona, jak dobrze model przewiduje sekwencję słów lub tokenów w zbiorze danych testowych.

Formalna definicja

Dla korpusu testowego W=w1w2wN i modelu językowego q perpleksja obliczana jest jako odwrotna średnia geometryczna prawdopodobieństwa korpusu testowego, znormalizowana przez liczbę słów: extPP(W,q)=(i=1N1q(wiw1,,wi1))1/N

Formuła ta jest równoważna eksponencie entropii krzyżowej, czyli średnim logarytmicznym stratom (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) }

Minimalizacja perpleksji jest równoważna maksymalizacji wiarygodności modelu na danych testowych. W ten sposób model o niższej perpleksji uważany jest za statystycznie dokładniejszy[5].

Historyczne zastosowanie i współczesne LLM

Historycznie perpleksja była szeroko stosowana do oceny statystycznych modeli n-gramowych. Przykładowo, dla korpusu Wall Street Journal model unigramowy (uwzględniający jedynie częstości słów) ma perpleksję ~962, podczas gdy model trigramowy (uwzględniający kontekst dwóch poprzednich słów) — około 109[6]. Tak gwałtowny spadek pokazuje, o ile lepiej model uchwytuje prawidłowości językowe.

Rozwój dużych modeli językowych (LLM) nie zmniejszył roli perpleksji jako podstawowego punktu odniesienia. Badacze podają perpleksję na standardowych zbiorach testowych (np. WikiText) jako wskaźnik „płynności\" modelu. Tak więc w artykule OpenAI dotyczącym GPT-2 wskazano, że model z ~117 mln parametrów osiąga perpleksję około 37 na korpusie WikiText-103[7]. Spadek perpleksji zazwyczaj koreluje z poprawą jakości modelu, dlatego metryka służy jako wygodny wskaźnik postępu podczas treningu i optymalizacji.

Ograniczenia i interpretacja metryki

Choć niska perpleksja świadczy o wysokim prawdopodobieństwie danych według modelu, wskaźnik ten ma szereg istotnych ograniczeń i nie zawsze koreluje z rzeczywistą jakością generowanego tekstu.

  • Niska perpleksja ≠ wysoka jakość. Perpleksja mierzy pewność modelu w swoich prognozach, ale nie ich trafność. Model może być pewnie w błędzie, generując bezsensowny, lecz statystycznie prawdopodobny tekst (np. powtarzając bardzo częste słowa i frazy)[3].
  • Wrażliwość na dane i tokenizację. Perpleksja słabo nadaje się do bezpośredniego porównywania modeli o różnej architekturze, słowniku lub sposobie tokenizacji. Na przykład model znakowy może mieć numerycznie niższą perpleksję niż model słowny, ale nie oznacza to, że lepiej rozwiązuje zadania językowe[3].
  • Niemożność oceny semantyki i długiego kontekstu. Perpleksja jest lokalną metryką oceniającą przewidywanie kolejnego tokenu. Słabo koreluje ze zdolnością modelu do uchwytywania długoterminowych zależności i kontekstu znaczeniowego na dużych odległościach. Badanie z 2023 roku (Hu et al.) wykazało, że zdolność LLM do rozumienia długich tekstów (do 100 tys. tokenów) praktycznie nie odzwierciedla się w metryce perpleksji[8].
  • Możliwość manipulacji. Metrykę można „oszukać\". Przeuczony model wykaże sztucznie niską perpleksję na danych, które „zapamiętał\". Badania (Wang et al., 2022) wykazały również, że powielanie fragmentów tekstu lub nawet brak kropki na końcu zdania może nieuzasadnienie obniżyć lub podwyższyć perpleksję, nie wpływając na rzeczywistą jakość tekstu[9].

Podsumowanie: rola perpleksji dziś

Biorąc pod uwagę wymienione ograniczenia, we współczesnej praktyce perpleksja traktowana jest jako pomocniczy, wstępny wskaźnik jakości modelu językowego. Pozostaje cennym narzędziem do szybkiej oceny i debugowania modeli, ponieważ nie zależy od konkretnego zadania aplikacyjnego i jest prosta w obliczeniu[3].

Jednakże do pełnej oceny LLM sama perpleksja nie wystarczy. Dziś obowiązkowo uzupełnia się ją zewnętrznymi (extrinsic) metrykami powiązanymi z konkretnymi zadaniami, takimi jak:

  • Dokładność odpowiedzi na pytania;
  • Oceny przez ludzi (human evaluation);
  • BLEU/ROUGE dla tłumaczenia maszynowego i streszczania.

W połączeniu z tymi metodami perpleksja nadal pełni ważną rolę — służy jako obiektywna miara „zaskoczenia\" modelu, jednak jej wyniki zawsze interpretuje się z uwzględnieniem wspomnianych ograniczeń[3].

Odnośniki

  • Artykuł „Perpleksja w modelach językowych\" na Habrze
  • Dokumentacja Hugging Face dotycząca obliczania perpleksji

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 (wyd. 3, rozdz. 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.

Przypisy

  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]