Перплексия (в контексте нейронных сетей и ИИ) (Perplexity)
Перплексия — метрика, используемая для оценки качества языковых моделей, отражающая степень «удивления» модели при встрече с новыми данными; чем ниже значение перплексии, тем лучше модель предсказывает последовательности токенов.
Представьте, что вы читаете книгу, где каждое следующее слово угадывается с лёгкостью — сюжет предсказуем, язык прост. В таком случае ваше «удивление» (или перплексия) от текста минимально. А теперь представьте книгу с неожиданными сюжетными поворотами и сложной лексикой — здесь ваша перплексия будет выше, ведь предугадать следующее слово или ход событий сложнее. Точно так же работает и языковая модель: перплексия показывает, насколько «удивлена» модель при обработке текста, то есть насколько хорошо она может предсказать следующее слово в последовательности.
Подробности о термине:
- Перплексия тесно связана с понятием энтропии из теории информации. Фактически, перплексия — это экспонента от средней кросс‑энтропии между предсказанным и реальным распределением вероятностей токенов.
- Формула перплексии: $PP = \exp\left(-\frac{1}{N} \sum_{i=1}^{N} \log P(w_i)\right)$, где $N$ — количество токенов в тестовом наборе, а $P(w_i)$ — вероятность предсказания $i$-го токена моделью.
- Чем ниже значение перплексии, тем лучше модель справляется с задачей предсказания. Например, для больших языковых моделей (LLM) значение перплексии в районе 10–20 считается хорошим результатом на стандартных тестовых наборах (например, на Penn Treebank).
История и факты:
- Понятие перплексии пришло в машинное обучение из теории информации и статистики. Оно активно используется с 1990‑х годов в задачах обработки естественного языка (NLP).
- В эпоху глубоких нейронных сетей и трансформеров (с 2017 года, после публикации статьи «Attention is All You Need») перплексия стала одной из ключевых метрик для сравнения языковых моделей (BERT, GPT и др.).
- Исследователи из Google, OpenAI и других компаний регулярно публикуют значения перплексии для своих моделей, чтобы продемонстрировать прогресс в области NLP.
Различия с похожими терминами:
- Кросс‑энтропия — это базовая функция потерь, используемая при обучении языковых моделей. Перплексия — это её экспоненциальное преобразование, более удобное для интерпретации.
- Точность (accuracy) — показывает долю правильно предсказанных токенов, но не учитывает уверенность модели в своих предсказаниях. Перплексия же учитывает вероятности, выдаваемые моделью, и даёт более полную картину качества.
Примеры использования:
- При сравнении двух языковых моделей на одном и том же тестовом наборе данных: модель с меньшей перплексией считается более качественной.
- В задачах генерации текста: низкая перплексия на валидационном наборе данных может служить сигналом о том, что модель хорошо «поняла» структуру языка и готова к генерации связных текстов.
- В исследованиях по улучшению языковых моделей: учёные отслеживают динамику перплексии на протяжении обучения, чтобы определить, когда модель перестаёт улучшаться (переобучение) или нуждается в дополнительной настройке гиперпараметров.
Примеры значений перплексии для разных моделей (ориентировочные):
- Простые n‑граммные модели: 100–200.
- LSTM‑модели (2010‑е годы): 50–100.
- Трансформеры (BERT, GPT‑2): 10–30.
- Современные большие языковые модели (GPT‑3, PaLM): 5–15.
