Perplexity (metric) (RO)
Perplexitatea (engl. Perplexity, PPL) în teoria informației și machine learning — este o măsură a incertitudinii sau a „surprizei" unui model de limbaj la predicția unui eșantion de text. O perplexitate scăzută indică faptul că distribuția de probabilitate a modelului corespunde bine datelor de test, în timp ce o perplexitate ridicată înseamnă că modelul prezice slab secvența[1].
Formal, perplexitatea unei distribuții de probabilitate este definită ca exponentul entropiei sale. Pentru o distribuție discretă ea este egală cu , unde este entropia[2]. Intuitiv, perplexitatea poate fi înțeleasă ca numărul „efectiv\" de variante din care modelul alege la fiecare pas. Dacă perplexitatea este 100, aceasta înseamnă că incertitudinea modelului este echivalentă cu alegerea unuia dintre 100 de rezultate egal probabile[3].
Termenul a fost introdus pentru prima dată în 1977 de un grup de cercetători IBM condus de Frederick Jelinek, în contextul recunoașterii statistice a vorbirii, pentru cuantificarea „dificultății\" sarcinii[4].
Perplexitatea în modelele de limbaj
În domeniul procesării limbajului natural (NLP), perplexitatea a devenit metrica internă (intrinsic) standard pentru evaluarea calității modelelor de limbaj. Ea măsoară cât de bine prezice modelul o secvență de cuvinte sau token-uri dintr-un set de date de test.
Definiție formală
Pentru un corpus de test și un model de limbaj , perplexitatea se calculează ca probabilitatea geometrică medie inversă a corpusului de test, normalizată în funcție de numărul de cuvinte:
Această formulă este echivalentă cu exponentul entropiei încrucișate, sau al pierderilor logaritmice medii (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) }
Minimizarea perplexității este echivalentă cu maximizarea verosimilității modelului pe datele de test. Astfel, un model cu perplexitate mai mică este considerat statistic mai precis[5].
Utilizare istorică și LLM-urile moderne
Istoricând, perplexitatea a fost utilizată pe scară largă pentru evaluarea modelelor statistice de tip n-gram. De exemplu, pentru corpusul Wall Street Journal, modelul unigramă (care ia în considerare doar frecvențele cuvintelor) are o perplexitate de ~962, în timp ce modelul trigramă (care ia în considerare contextul format din cele două cuvinte anterioare) — aproximativ 109[6]. Această scădere bruscă arată cât de bine captează modelul regularitățile lingvistice.
Odată cu dezvoltarea modelelor mari de limbaj (LLM), perplexitatea și-a păstrat rolul de reper de bază. Cercetătorii raportează perplexitatea pe seturi de test standard (de exemplu, WikiText) ca indicator al „fluenței\" modelului. Astfel, în articolul OpenAI despre GPT-2 se menționează că modelul cu ~117 milioane de parametri atinge o perplexitate de aproximativ 37 pe corpusul WikiText-103[7]. Scăderea perplexității corelează de obicei cu îmbunătățirea calității modelului, astfel încât metrica servește drept indicator convenabil al progresului în timpul antrenării și optimizării.
Limitări și interpretarea metricii
Deși o perplexitate scăzută indică o verosimilitate ridicată a datelor conform modelului, acest indicator prezintă o serie de limitări semnificative și nu corelează întotdeauna cu calitatea reală a textului generat.
- Perplexitate scăzută ≠ calitate ridicată. Perplexitatea măsoară încrederea modelului în predicțiile sale, dar nu corectitudinea acestora. Un model poate fi cu certitudine greșit, generând text lipsit de sens, dar din punct de vedere statistic probabil (de exemplu, repetând cuvinte și expresii foarte frecvente)[3].
- Sensibilitate față de date și tokenizare. Perplexitatea nu este potrivită pentru compararea directă a modelelor cu arhitecturi, vocabulare sau metode de tokenizare diferite. De exemplu, un model bazat pe caractere poate avea o perplexitate numeric mai mică decât unul bazat pe cuvinte, dar asta nu înseamnă că rezolvă mai bine sarcinile lingvistice[3].
- Incapacitatea de a evalua semantica și contextul lung. Perplexitatea este o metrică locală, care evaluează predicția următorului token. Ea corelează slab cu capacitatea modelului de a capta dependențe pe termen lung și context semantic pe distanțe mari. Un studiu din 2023 (Hu et al.) a arătat că abilitatea LLM-urilor de a înțelege texte lungi (până la 100.000 de token-uri) aproape că nu se reflectă în metrica perplexității[8].
- Posibilitatea de manipulare. Metrica poate fi „păcălită\". Un model supraanatrenat va prezenta o perplexitate artificial scăzută pe datele pe care le-a „memorat\". Studii (Wang et al., 2022) au arătat, de asemenea, că duplicarea fragmentelor de text sau chiar absența unui punct la sfârșitul propoziției poate reduce sau crește nejustificat perplexitatea, fără a afecta calitatea reală a textului[9].
Concluzie: rolul perplexității în prezent
În contextul limitărilor enumerate, în practica modernă perplexitatea este considerată un indicator auxiliar, preliminar al calității unui model de limbaj. Ea rămâne un instrument valoros pentru evaluarea rapidă și depanarea modelelor, deoarece nu depinde de o sarcină aplicată specifică și este ușor de calculat[3].
Cu toate acestea, pentru o evaluare completă a LLM-urilor, perplexitatea singură nu este suficientă. Astăzi ea este completată în mod obligatoriu cu metrici externe (extrinsic), legate de sarcini specifice, precum:
- Precizia răspunsurilor la întrebări;
- Evaluări de către oameni (human evaluation);
- BLEU/ROUGE pentru traducere automată și rezumare.
Împreună cu aceste metode, perplexitatea continuă să joace un rol important — să servească drept măsură obiectivă a „surprizei\" modelului, însă rezultatele sale sunt întotdeauna interpretate ținând cont de limitările menționate[3].
Referințe
- Articolul „Perplexitatea în modelele de limbaj\" pe Habr
- Documentația Hugging Face privind calculul perplexității
Bibliografie
- 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 (ed. a 3-a, cap. 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.
Note
- ↑ «Перплексия». Википедия. [1]
- ↑ «Perplexity». Wikipedia. [2]
- ↑ 3.0 3.1 3.2 3.3 3.4 Morgan, Abby. «Perplexity for LLM Evaluation». Comet AI Blog, 21 Nov 2024. [3]
- ↑ «README.md · evaluate-measurement/perplexity». Hugging Face. [4]
- ↑ Jurafsky, Dan, and James H. Martin. Speech and Language Processing, 3rd ed., Chapter 3: N-gram Language Models, draft (2021). [5]
- ↑ Jurafsky, Dan, and James H. Martin. Speech and Language Processing, 3rd ed., Chapter 3: N-gram Language Models, draft (2021). [6]
- ↑ «Perplexity number of wikitext-103 on gpt-2 don't match the paper». GitHub, huggingface/transformers, Issue #483. [7]
- ↑ Hu, H., et al. «Can Perplexity Reflect Large Language Model's Ability in Long Text Understanding?». arXiv:2405.06105 [cs.CL], 10 мая 2024 г. [8]
- ↑ Wang, C., et al. «Perplexity by PLM Is Unreliable for Evaluating Text Quality». arXiv:2210.05892 [cs.CL], 12 окт. 2022 г. [9]