Открыть сервис

Перплексия

Перплексия (от англ. perplexity — «озадаченность», «недоумение») — в теории информации и машинном обучении метрика, используемая для оценки качества вероятностных моделей, в частности языковых моделей. Она измеряет, насколько хорошо модель предсказывает выборку данных. Чем ниже значение перплексии, тем лучше модель справляется с задачей предсказания, то есть тем меньше она «удивлена» данными. Перплексия является монотонно убывающей функцией от вероятности, присваиваемой моделью тестовым данным, и тесно связана с понятием энтропии.

Определение и математическая основа

Перплексия определяется как экспонента от кросс-энтропии. Для дискретного вероятностного распределения \( p \) и тестовой выборки \( x_1, x_2, \dots, x_N \) (например, последовательности токенов в тексте) перплексия вычисляется по формуле:

\[ \text{Perplexity}(p) = 2^{H(p)} = 2^{-\frac{1}{N} \sum_{i=1}^{N} \log_2 p(x_i)} \]

где \( H(p) \) — эмпирическая кросс-энтропия модели на тестовых данных. В более общем виде для вероятностной модели \( q \), аппроксимирующей истинное распределение \( p \), перплексия равна:

\[ \text{Perplexity}(p, q) = 2^{-\frac{1}{N} \sum_{i=1}^{N} \log_2 q(x_i)} \]

Интуитивно перплексию можно интерпретировать как среднее количество равновероятных вариантов, из которых модель выбирает на каждом шаге. Например, если перплексия языковой модели равна 10, это означает, что модель «затрудняется» в среднем между 10 возможными словами (токенами) при предсказании следующего.

История

Понятие перплексии было введено в 1950-х годах в контексте теории информации Клодом Шенноном. Шеннон использовал её для оценки степени неопределённости в сообщениях, передаваемых по каналам связи. В 1990-х годах, с развитием статистических методов обработки естественного языка (NLP), перплексия стала стандартной метрикой для оценки n-граммных моделей и скрытых марковских моделей.

С появлением нейросетевых языковых моделей (RNN, LSTM, Transformer) в 2010-х годах перплексия осталась одной из ключевых метрик для сравнения их качества, хотя её интерпретация для больших моделей (например, GPT-3, BERT) имеет ограничения, так как она не учитывает семантическую осмысленность и грамматическую правильность генерируемого текста.

Применение в языковых моделях

В обработке естественного языка перплексия используется для оценки языковых моделей на тестовых корпусах. Модель с более низкой перплексией считается более точной, так как она присваивает более высокие вероятности реальным последовательностям слов.

Пример расчёта

Рассмотрим простую биграммную модель, предсказывающую следующее слово в предложении. Пусть тестовое предложение «кот сидит на ковре» состоит из 4 токенов (с учётом начала и конца). Модель предсказывает вероятности:

  • \( p(\text{кот} | \text{<start>}) = 0.1 \)
  • \( p(\text{сидит} | \text{кот}) = 0.05 \)
  • \( p(\text{на} | \text{сидит}) = 0.2 \)
  • \( p(\text{ковре} | \text{на}) = 0.01 \)

Средняя логарифмическая вероятность: \[ -\frac{1}{4} (\log_2 0.1 + \log_2 0.05 + \log_2 0.2 + \log_2 0.01) = -\frac{1}{4} (-3.32 - 4.32 - 2.32 - 6.64) = 4.15 \] Перплексия: \( 2^{4.15} \approx 17.7 \). Это означает, что модель в среднем «выбирает» из примерно 18 равновероятных вариантов.

Сравнение моделей

В 2020 году для модели GPT-3 (размер 175 млрд параметров) на тестовом корпусе Penn Treebank была зафиксирована перплексия около 20, что значительно ниже, чем для более ранних моделей (например, для LSTM — около 50). Однако для современных моделей, таких как GPT-4 или LLaMA, перплексия на стандартных бенчмарках (WikiText-2, Lambada) может составлять от 10 до 15, что свидетельствует о высокой точности предсказаний.

Ограничения и критика

Перплексия имеет ряд недостатков, которые ограничивают её применение как единственной метрики качества:

  • Чувствительность к токенизации. Разные способы разбиения текста на токены (BPE, WordPiece, unigram) приводят к разным значениям перплексии, что затрудняет сравнение моделей с разными токенизаторами.
  • Не учитывает семантику. Модель может иметь низкую перплексию, генерируя грамматически правильные, но бессмысленные или противоречивые предложения. Например, модель может предсказывать шаблонные фразы, не отражающие реальное содержание.
  • Зависимость от корпуса. Перплексия сильно зависит от тестового набора данных. Модель, обученная на новостных текстах, покажет низкую перплексию на новостях, но высокую — на художественной литературе.
  • Не отражает качество генерации. Для задач генерации текста (например, диалоговых систем) низкая перплексия не гарантирует, что ответы будут релевантными, логичными или полезными для пользователя.

В связи с этим в современных исследованиях перплексию часто дополняют другими метриками: BLEU, ROUGE, METEOR (для оценки сходства с эталоном), а также метриками на основе человеческой оценки (например, качество ответов, отсутствие галлюцинаций).

Применение в других областях

Помимо NLP, перплексия используется в:

  • Сжатии данных. В алгоритмах арифметического кодирования перплексия модели соответствует среднему количеству бит, необходимых для кодирования одного символа. Модели с низкой перплексией обеспечивают более высокую степень сжатия.
  • Биоинформатике. Для оценки моделей последовательностей ДНК и белков. Перплексия помогает сравнивать модели, предсказывающие структуру генов или функции белков.
  • Рекомендательных системах. В некоторых подходах перплексия используется для оценки вероятностных моделей предпочтений пользователей, хотя здесь она менее распространена, чем метрики ранжирования (NDCG, MAP).

Интересные факты

  • В 2018 году исследователи из OpenAI показали, что перплексия модели GPT-1 на тестовом корпусе WikiText-2 составила 35.5, что было рекордом на тот момент. Уже через год GPT-2 снизила этот показатель до 18.3.
  • В 2023 году компания Meta (организация признана экстремистской и запрещена в РФ) опубликовала модель LLaMA с перплексией 10.8 на WikiText-2, что сопоставимо с показателями более крупных моделей.
  • Перплексия случайной модели, предсказывающей все слова с равной вероятностью, равна размеру словаря. Для модели, предсказывающей одно и то же слово всегда, перплексия стремится к бесконечности, если это слово не встречается в тестовых данных.

Источники

  • Shannon, C. E. (1951). «Prediction and Entropy of Printed English». Bell System Technical Journal.
  • Jelinek, F., Mercer, R. L., & Bahl, L. R. (1983). «Perplexity — a measure of the difficulty of speech recognition tasks». Journal of the Acoustical Society of America.
  • Brown, P. F., et al. (1992). «An Estimate of an Upper Bound for the Entropy of English». Computational Linguistics.
  • Vaswani, A., et al. (2017). «Attention Is All You Need». Advances in Neural Information Processing Systems.
  • Radford, A., et al. (2019). «Language Models are Unsupervised Multitask Learners» (GPT-2). OpenAI.
  • Touvron, H., et al. (2023). «LLaMA: Open and Efficient Foundation Language Models». Meta (организация признана экстремистской, деятельность запрещена в РФ) AI.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →