Введение
Перплексия (англ. Perplexity, PPL) – стандартная метрика оценки качества языковых моделей, измеряющая среднюю степень «неуверенности» модели при предсказании следующего токена. Формально перплексия – это экспонента от среднего отрицательного логарифмического правдоподобия токенов на тестовом корпусе:
PPL(W) = exp(−(1/N) · Σᵢ log P(wᵢ | w₁…wᵢ₋₁))
Интерпретация: перплексия 20 означает, что модель в среднем «выбирает» следующий токен из 20 равновероятных вариантов. Перплексия 1 – идеальная модель, точно знающая следующий токен. Перплексия, равная размеру словаря – модель, дающая равномерное распределение по всем токенам.
История и контекст
Перплексия как метрика восходит к теории информации Клода Шеннона (1948) и статистическому языковому моделированию 1980–90-х годов. В эпоху N-граммных моделей она служила ключевым критерием при выборе размера словаря и порядка N-граммов для задач распознавания речи. С переходом к нейронным языковым моделям (LSTM, Transformer) перплексия сохранила значимость как сопоставимая численная характеристика.
Примечательный результат: GPT-3 на бенчмарке Penn Treebank в zero-shot режиме достиг перплексии 20,5 – против 35,8 у тогдашнего SOTA. Это наглядно продемонстрировало прогресс масштабирования без единой настройки на задаче.
Как это работает
Для вычисления перплексии нужны обученная языковая модель и тестовый корпус. Модель «прогоняет» каждый токен корпуса и возвращает вероятность этого токена при условии всех предыдущих. Перплексия вычисляется как экспонента отрицательного среднего логарифма этих вероятностей.
- Эквивалентность с энтропией: PPL = exp(H) в натах или 2^H в битах, где H – кросс-энтропия. Перплексия и кросс-энтропия несут одинаковую информацию на разных шкалах.
- Зависимость от токенизатора: PPL нельзя напрямую сравнивать между моделями с разными токенизаторами – разбивка на токены влияет на результат.
- Типичные значения: современные LLM на английском WikiText-103 показывают PPL 5–20; на русскоязычных корпусах значения выше из-за морфологической сложности языка.
Ограничение: PPL ≠ полезность
Модель с низкой перплексией может галлюцинировать – если уверенные ошибки хорошо представлены в обучающих данных, PPL не поймает их. Поэтому перплексия дополняется downstream-метриками (F1, BLEU, ROUGE) и human evaluation.
Где применяется
- Мониторинг прогресса предобучения LLM: PPL снижается по мере обучения и сигнализирует о переобучении или недообучении.
- Оценка доменной адаптации: снижение PPL на специализированном корпусе подтверждает эффективность fine-tuning.
- Детектирование машинно-сгенерированного текста: человеческий текст обычно имеет более высокую PPL для LLM (парадокс, объясняемый нетипичными авторскими оборотами).
- Выбор гиперпараметров предобучения: размер словаря, длина контекстного окна.
- Бенчмаркинг языковых моделей на стандартных корпусах (WikiText-103, Penn Treebank, C4).
Преимущества и ограничения
Преимущества: легко вычисляется без ручной разметки; интерпретируема как «эффективный размер словаря»; хорошо коррелирует с downstream-качеством внутри одного семейства моделей; позволяет сравнивать чекпойнты в процессе обучения.
Ограничения: несравнима между моделями с разными токенизаторами; не отражает фактическую точность или наличие галлюцинаций; низкая PPL не гарантирует отсутствие вредоносного контента или смещений; не применима для сравнения моделей на разных языках без нормировки.
Связь с другими понятиями
Перплексия – одна из метрик в системе Evaluation (МО). Для задач генерации текста дополняется BLEU (точность n-грамм) и ROUGE (полнота n-грамм). Базовая единица вычисления – токен (LLM). Низкая PPL на домене частично снижает вероятность галлюцинаций. При few-shot и zero-shot оценке PPL служит интегральной характеристикой базовой языковой компетентности модели.