Перплексия
Перплексия (англ. Perplexity, PPL) в теории информации и машинном обучении — это мера неопределённости или «удивления» языковой модели при предсказании выборки текста. Низкая перплексия указывает на то, что вероятностное распределение модели хорошо соответствует тестовым данным, в то время как высокая перплексия означает, что модель плохо предсказывает последовательность[1].
Формально перплексия распределения вероятностей определяется как экспонента от его энтропии. Для дискретного распределения она равна , где — энтропия[2]. Интуитивно перплексию можно понимать как «эффективное» количество вариантов, из которых модель выбирает на каждом шаге. Если перплексия равна 100, это означает, что неопределённость модели эквивалентна выбору одного из 100 равновероятных исходов[3].
Термин был впервые введён в 1977 году группой исследователей IBM под руководством Фредерика Джелинека в контексте статистического распознавания речи для количественной оценки «трудности» задачи[4].
Перплексия в языковых моделях
В области обработки естественного языка (NLP) перплексия стала стандартной внутренней (intrinsic) метрикой для оценки качества языковых моделей. Она измеряет, насколько хорошо модель предсказывает последовательность слов или токенов в тестовом наборе данных.
Формальное определение
Для тестового корпуса и языковой модели перплексия вычисляется как обратная средняя геометрическая вероятность тестового корпуса, нормализованная по количеству слов:
Эта формула эквивалентна экспоненте от перекрёстной энтропии, или средних логарифмических потерь (negative log-likelihood):
Минимизация перплексии эквивалентна максимизации правдоподобия модели на тестовых данных. Таким образом, модель с меньшей перплексией считается статистически более точной[5].
Историческое применение и современные LLM
Исторически перплексия широко использовалась для оценки статистических n-граммных моделей. Например, для корпуса Wall Street Journal униграммная модель (учитывающая только частоты слов) имеет перплексию ~962, тогда как триграммная (учитывающая контекст из двух предыдущих слов) — около 109[6]. Такое резкое снижение показывает, насколько лучше модель захватывает языковые закономерности.
С развитием больших языковых моделей (LLM) перплексия сохранила свою роль базового ориентира. Исследователи сообщают перплексию на стандартных тестовых наборах (например, WikiText) как показатель «плавности» модели. Так, в статье OpenAI о GPT-2 указано, что модель с ~117 млн параметров достигает перплексии около 37 на корпусе WikiText-103[7]. Снижение перплексии обычно коррелирует с улучшением качества модели, поэтому метрика служит удобным индикатором прогресса при обучении и оптимизации.
Ограничения и интерпретация метрики
Хотя низкая перплексия свидетельствует о высоком правдоподобии данных согласно модели, этот показатель имеет ряд существенных ограничений и не всегда коррелирует с реальным качеством генерируемого текста.
- Низкая перплексия ≠ высокое качество. Перплексия измеряет уверенность модели в своих прогнозах, но не их достоверность. Модель может быть уверенно неправа, генерируя бессмысленный, но статистически вероятный текст (например, повторяя очень частые слова и фразы)[3].
- Чувствительность к данным и токенизации. Перплексия плохо подходит для прямого сравнения моделей с разной архитектурой, словарём или способом токенизации. Например, у символьной модели перплексия может быть численно ниже, чем у словной, но это не значит, что она лучше решает языковые задачи[3].
- Неспособность оценить семантику и длинный контекст. Перплексия — это локальная метрика, оценивающая предсказание следующего токена. Она слабо коррелирует со способностью модели улавливать долгосрочные зависимости и смысловой контекст на больших дистанциях. Исследование 2023 года (Hu et al.) показало, что способность LLM понимать длинные тексты (до 100 тыс. токенов) практически не отражается в метрике перплексии[8].
- Возможность манипуляции. Метрику можно «обмануть». Переобученная модель покажет искусственно низкую перплексию на данных, которые она «запомнила». Исследования (Wang et al., 2022) также показали, что дублирование фрагментов текста или даже отсутствие точки в конце предложения может необоснованно снизить или повысить перплексию, не влияя на реальное качество текста[9].
Заключение: роль перплексии сегодня
С учётом перечисленных ограничений, в современной практике перплексия рассматривается как вспомогательный, предварительный показатель качества языковой модели. Она остаётся ценным инструментом для быстрой оценки и отладки моделей, поскольку не зависит от конкретной прикладной задачи и проста в вычислении[3].
Однако для полноценной оценки LLM одной перплексии недостаточно. Сегодня её обязательно дополняют внешними (extrinsic) метриками, привязанными к конкретным задачам, такими как:
- Точность ответов на вопросы;
- Оценки человеком (human evaluation);
- BLEU/ROUGE для машинного перевода и реферирования.
В совокупности с этими методами перплексия продолжает выполнять важную роль — служить объективной мерой «удивления» модели, но её результаты всегда интерпретируются с учётом упомянутых ограничений[3].
Ссылки
Литература
- 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]
- ↑ «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]