Perplexity (metric) (BG)

From Systems analysis Wiki
Jump to navigation Jump to search

Перплексия (англ. Perplexity, PPL) в теорията на информацията и машинното обучение е мярка за неопределеност или „изненада" на езиков модел при предсказване на извадка от текст. Ниска перплексия показва, че вероятностното разпределение на модела съответства добре на тестовите данни, докато висока перплексия означава, че моделът предсказва лошо последователността[1].

Формално перплексията на дадено вероятностно разпределение се определя като експонента на неговата ентропия. За дискретно разпределение p(x) тя е равна на 2H(p), където H(p) е ентропията[2]. Интуитивно перплексията може да се разбира като „ефективния" брой варианти, от които моделът избира на всяка стъпка. Ако перплексията е равна на 100, това означава, че неопределеността на модела е еквивалентна на избор между 100 равновероятни изхода[3].

Терминът е въведен за първи път през 1977 година от група изследователи на IBM, ръководена от Фредерик Джелинек, в контекста на статистическото разпознаване на реч, за количествена оценка на „трудността" на задачата[4].

Перплексия в езиковите модели

В областта на обработката на естествен език (NLP) перплексията се е утвърдила като стандартна вътрешна (intrinsic) метрика за оценка на качеството на езиковите модели. Тя измерва колко добре моделът предсказва последователност от думи или token-и в тестов набор от данни.

Формално определение

За тестов корпус W=w1w2wN и езиков модел q перплексията се изчислява като обратната средна геометрична вероятност на тестовия корпус, нормализирана по броя на думите: extPP(W,q)=(i=1N1q(wiw1,,wi1))1/N

Тази формула е еквивалентна на експонентата на кръстосаната ентропия, или средните логаритмични загуби (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) }

Минимизирането на перплексията е еквивалентно на максимизиране на правдоподобието на модела върху тестовите данни. По този начин моделът с по-ниска перплексия се счита за статистически по-точен[5].

Историческо приложение и съвременни LLM

Исторически перплексията е използвана широко за оценка на статистически n-грамни модели. Например за корпуса Wall Street Journal униграмният модел (отчитащ само честотите на думите) има перплексия ~962, докато триграмният (отчитащ контекста от двете предходни думи) — около 109[6]. Това рязко намаляване показва колко по-добре моделът улавя езиковите закономерности.

С развитието на големите езикови модели (LLM) перплексията запази ролята си на базов ориентир. Изследователите съобщават перплексия върху стандартни тестови набори (например WikiText) като показател за „плавността" на модела. Така в статията на OpenAI за GPT-2 е посочено, че моделът с ~117 млн. параметъра достига перплексия около 37 върху корпуса WikiText-103[7]. Намаляването на перплексията обикновено корелира с подобряване на качеството на модела, поради което метриката служи като удобен индикатор за напредък при обучение и оптимизация.

Ограничения и интерпретация на метриката

Въпреки че ниската перплексия свидетелства за високо правдоподобие на данните според модела, този показател има редица съществени ограничения и не винаги корелира с реалното качество на генерирания текст.

  • Ниска перплексия ≠ високо качество. Перплексията измерва увереността на модела в своите прогнози, но не тяхната достоверност. Моделът може да е уверено сгрешен, генерирайки безсмислен, но статистически вероятен текст (например повтаряйки много чести думи и фрази)[3].
  • Чувствителност към данните и токенизацията. Перплексията не е подходяща за пряко сравнение на модели с различна архитектура, речник или начин на токенизация. Например символен модел може да има числово по-ниска перплексия от словен, но това не означава, че решава по-добре езиковите задачи[3].
  • Невъзможност за оценка на семантика и дълъг контекст. Перплексията е локална метрика, оценяваща предсказването на следващия token. Тя слабо корелира със способността на модела да улавя дългосрочни зависимости и смисловия контекст на по-голямо разстояние. Изследване от 2023 година (Hu et al.) показа, че способността на LLM да разбира дълги текстове (до 100 хил. token-а) практически не се отразява в метриката перплексия[8].
  • Възможност за манипулация. Метриката може да бъде „измамена". Свръхобучен модел ще покаже изкуствено ниска перплексия върху данни, които е „запомнил". Изследвания (Wang et al., 2022) също показаха, че дублирането на фрагменти от текст или дори липсата на точка в края на изречение може необосновано да намали или повиши перплексията, без да влияе на реалното качество на текста[9].

Заключение: ролята на перплексията днес

Вземайки предвид изброените ограничения, в съвременната практика перплексията се разглежда като спомагателен, предварителен показател за качеството на езиковия модел. Тя остава ценен инструмент за бърза оценка и отстраняване на грешки в моделите, тъй като не зависи от конкретната приложна задача и е проста за изчисляване[3].

Обаче за пълноценна оценка на LLM само перплексията не е достатъчна. Днес тя задължително се допълва с външни (extrinsic) метрики, обвързани с конкретни задачи, като:

  • Точност на отговорите на въпроси;
  • Оценки от хора (human evaluation);
  • BLEU/ROUGE за машинен превод и резюмиране.

В съвкупност с тези методи перплексията продължава да изпълнява важна роля — да служи като обективна мярка за „изненадата" на модела, но резултатите й винаги се интерпретират с оглед на посочените ограничения[3].

Препратки

  • Статия „Перплексия в езиковите модели" в Хабре
  • Документация на Hugging Face за изчисляване на перплексия

Литература

  • 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-то изд., гл. 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.

Бележки

  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]