Перплексия (в контексте нейронных сетей и ИИ) (Perplexity)

Что такое Перплексия (в контексте нейронных сетей и ИИ) (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.

Авторизация