Перплексия

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: {{well|Статья написана с использованием LLM '''Claude Opus 4.8''' и проверена участником ~~~~}} {{TOCright}} '''Перплексия''' ...)
 
(1 промежуточная версия не показана)
Строка 1: Строка 1:
-
{{well|Статья написана с использованием LLM '''Claude Opus 4.8''' и проверена участником [[Участник:Iaroslav Lyakhov|Iaroslav Lyakhov]] 20:17, 1 июля 2026 (MSD)}}
+
{{well|Статья написана с использованием LLM '''Claude Opus 4.8''' и проверена участником [[Участник:Iaroslav Lyakhov|Iaroslav Lyakhov]] 12:35, 6 июля 2026 (MSD)}}
{{TOCright}}
{{TOCright}}
-
'''Перплексия''' (англ. ''perplexity'') - мера качества вероятностной [[Языковая модель|языковой модели]], показывающая, насколько хорошо модель предсказывает текст. Неформально перплексия - это среднее число равновероятных вариантов, между которыми модель «колеблется» на каждом шаге. Чем ниже перплексия, тем увереннее и точнее модель предсказывает следующий [[Токенизация|токен]]. Это стандартная метрика для сравнения [[Большая языковая модель|языковых моделей]].
+
'''Перплексия''' (англ. ''perplexity'') - мера качества вероятностной [[Языковая модель|языковой модели]], показывающая, насколько хорошо модель предсказывает текст. Неформально перплексия - это среднее число равновероятных вариантов, между которыми модель «колеблется» на каждом шаге. Чем ниже перплексия, тем увереннее и точнее модель предсказывает следующий [[Токенизация|токен]]. Это одна из старейших и самых распространённых метрик для сравнения [[Большая языковая модель|языковых моделей]].
== Определение ==
== Определение ==
-
Для последовательности <tex>W = w_1 w_2 \dots w_N</tex> перплексия определяется как экспонента от средней отрицательной логарифмической вероятности (кросс-энтропии):
+
Для последовательности <tex>W = w_1 w_2 \dots w_N</tex> перплексия определяется как экспонента от средней отрицательной логарифмической вероятности (то есть от кросс-энтропии):
::<tex>\mathrm{PPL}(W) = \exp\!\left(-\frac{1}{N}\sum_{i=1}^{N} \ln P(w_i \mid w_1,\dots,w_{i-1})\right)</tex>
::<tex>\mathrm{PPL}(W) = \exp\!\left(-\frac{1}{N}\sum_{i=1}^{N} \ln P(w_i \mid w_1,\dots,w_{i-1})\right)</tex>
-
Эквивалентно, <tex>\mathrm{PPL} = b^{H}</tex>, где <tex>H</tex> - кросс-энтропия в логарифме по основанию <tex>b</tex>. Таким образом, перплексия - это просто экспонента средней [[Функция потерь|функции потерь]] (логарифмических потерь), которую модель и минимизирует при обучении по принципу [[Минимизация эмпирического риска|минимизации эмпирического риска]]. Это делает перплексию естественной метрикой качества.
+
Эквивалентно, <tex>\mathrm{PPL} = b^{H}</tex>, где <tex>H</tex> - кросс-энтропия (средняя длина кодирования одного токена), измеренная в логарифме по основанию <tex>b</tex>. Таким образом, перплексия - это просто экспонента средней [[Функция потерь|функции потерь]] (логарифмических потерь), которую модель и минимизирует при обучении по принципу [[Минимизация эмпирического риска|минимизации эмпирического риска]]. Именно поэтому перплексия - естественная метрика: она напрямую связана с той величиной, которую оптимизируют.
 +
 
 +
== Связь с энтропией ==
 +
Перплексия тесно связана с понятием энтропии из теории информации. Кросс-энтропия <tex>H</tex> - это среднее число «бит удивления» (при основании 2) на один токен, а перплексия <tex>2^{H}</tex> переводит это число в «эффективное число вариантов». Ещё Клод Шеннон в 1951 году оценивал энтропию английского текста, предсказывая следующую букву, - это прямой предшественник современной перплексии.
== Интерпретация ==
== Интерпретация ==
-
* '''«Степень удивления».''' Перплексия 1 означает идеальное предсказание. Перплексия <tex>k</tex> примерно соответствует ситуации, когда на каждом шаге модель выбирает из <tex>k</tex> одинаково вероятных вариантов. Например, модель, для которой следующий символ равновероятен среди шести исходов (как бросок честной игральной кости), имеет перплексию 6.
+
* '''Степень удивления.''' Перплексия 1 означает идеальное предсказание (модель всегда уверена в правильном токене). Перплексия <tex>k</tex> примерно соответствует ситуации, когда на каждом шаге модель выбирает из <tex>k</tex> одинаково вероятных вариантов. Например, модель, для которой следующий символ равновероятен среди шести исходов (как бросок честной игральной кости), имеет перплексию 6.
-
* '''Верхняя граница.''' Для словаря размера <tex>V</tex> модель, дающая равномерное распределение, имеет перплексию <tex>V</tex>. Осмысленная модель должна быть значительно ниже.
+
* '''Верхняя граница.''' Для словаря размера <tex>V</tex> модель, дающая равномерное распределение (то есть ничего не выучившая), имеет перплексию <tex>V</tex>. Любая осмысленная модель должна быть заметно ниже.
-
* '''Пример.''' Хорошие современные модели на английских текстах достигают перплексии порядка единиц-десятков (в зависимости от [[Токенизация|токенизации]] и корпуса).
+
 
 +
== Пример расчёта ==
 +
Пусть модель на каждом из <tex>N</tex> шагов присваивала действительно случившемуся токену вероятность <tex>1/10</tex>. Тогда средняя отрицательная лог-вероятность равна <tex>-\ln(1/10) = \ln 10</tex>, а перплексия <tex>\exp(\ln 10) = 10</tex>. Если бы модель предсказывала уверенно и присваивала верному токену вероятность <tex>1/2</tex>, перплексия составила бы 2.
== Ограничения ==
== Ограничения ==
-
* '''Зависимость от токенизации и словаря.''' Перплексии двух моделей сравнимы, только если у них одинаковый [[Токенизация|токенизатор]] и тестовый набор. Модель с более дробной токенизацией может показывать иные значения.
+
* '''Зависимость от токенизации и словаря.''' Перплексии двух моделей сравнимы, только если у них одинаковый [[Токенизация|токенизатор]] и один и тот же тестовый набор. Модель с более дробной токенизацией показывает другие значения, и «улучшение» может оказаться артефактом словаря.
-
* '''Не измеряет полезность.''' Низкая перплексия говорит о хорошем моделировании распределения текста, но не гарантирует фактическую точность, отсутствие [[Галлюцинация|галлюцинаций]] или полезность ответов. Поэтому для оценки прикладного качества используют отдельные бенчмарки.
+
* '''Не измеряет полезность.''' Низкая перплексия говорит о хорошем моделировании распределения текста, но не гарантирует фактическую точность, отсутствие [[Галлюцинация|галлюцинаций]] или полезность ответов. Модель может складно продолжать текст и при этом ошибаться по сути. Поэтому прикладное качество оценивают отдельными бенчмарками и разметкой людей.
-
* '''Неприменима к некоторым моделям.''' Для моделей, не задающих явного авторегрессионного распределения (например, ряда маскированных или диффузионных), перплексия определяется иначе или неинформативна.
+
* '''Неприменима к некоторым моделям.''' Для моделей, не задающих явного авторегрессионного распределения (например, ряда маскированных или диффузионных), перплексия определяется иначе (псевдо-перплексия) или неинформативна.
== Применение ==
== Применение ==
-
* Мониторинг обучения: падение перплексии на валидации - признак прогресса.
+
* '''Мониторинг обучения.''' Падение перплексии на отложенной выборке - главный признак прогресса при предобучении.
-
* Сравнение архитектур и оценка влияния размера модели ([[Закон масштабирования нейронных сетей|законы масштабирования]] формулируются через потери/перплексию).
+
* '''Законы масштабирования.''' [[Закон масштабирования нейронных сетей|Законы масштабирования]] формулируются именно через потери и перплексию: они степенным образом убывают с ростом модели, данных и вычислений.
-
* Обнаружение сдвига домена: рост перплексии на новых данных сигнализирует, что текст «непривычен» модели.
+
* '''Обнаружение сдвига домена.''' Резкий рост перплексии на новых данных сигнализирует, что текст «непривычен» модели (другой язык, стиль, тема).
== См. также ==
== См. также ==
* [[Большая языковая модель]]
* [[Большая языковая модель]]
* [[Токенизация]]
* [[Токенизация]]
 +
* [[Функция потерь]]
* [[Закон масштабирования нейронных сетей]]
* [[Закон масштабирования нейронных сетей]]
* [[Галлюцинация]]
* [[Галлюцинация]]
== Литература ==
== Литература ==
-
* {{статья |автор=Jelinek F., Mercer R. L., Bahl L. R., Baker J. K. |часть=Perplexity - a measure of the difficulty of speech recognition tasks |заглавие=Journal of the Acoustical Society of America |том=62 |год=1977}}
+
* {{статья |автор=Shannon C. E. |заглавие=Prediction and Entropy of Printed English |издание=Bell System Technical Journal |том=30 |номер=1 |страницы=50-64 |год=1951}}
-
* {{книга |автор=Jurafsky D., Martin J. H. |заглавие=Speech and Language Processing |издание=3-е изд. (черновик) |год=2024 |ссылка=https://web.stanford.edu/~jurafsky/slp3/}}
+
* {{статья |автор=Jelinek F., Mercer R. L., Bahl L. R., Baker J. K. |заглавие=Perplexity - a measure of the difficulty of speech recognition tasks |издание=Journal of the Acoustical Society of America |том=62 |номер=S1 |страницы=S63 |год=1977}}
 +
* {{книга |автор=Jurafsky D., Martin J. H. |заглавие=Speech and Language Processing |издание=3-е изд. (черновик от 24 августа 2025) |год=2025 |ссылка=https://web.stanford.edu/~jurafsky/slp3/}}
[[Категория:Машинное обучение]]
[[Категория:Машинное обучение]]
[[Категория:Анализ текстов]]
[[Категория:Анализ текстов]]

Текущая версия

Статья написана с использованием LLM Claude Opus 4.8 и проверена участником Iaroslav Lyakhov 12:35, 6 июля 2026 (MSD)


Содержание

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

Определение

Для последовательности W = w_1 w_2 \dots w_N перплексия определяется как экспонента от средней отрицательной логарифмической вероятности (то есть от кросс-энтропии):

\mathrm{PPL}(W) = \exp\!\left(-\frac{1}{N}\sum_{i=1}^{N} \ln P(w_i \mid w_1,\dots,w_{i-1})\right)

Эквивалентно, \mathrm{PPL} = b^{H}, где H - кросс-энтропия (средняя длина кодирования одного токена), измеренная в логарифме по основанию b. Таким образом, перплексия - это просто экспонента средней функции потерь (логарифмических потерь), которую модель и минимизирует при обучении по принципу минимизации эмпирического риска. Именно поэтому перплексия - естественная метрика: она напрямую связана с той величиной, которую оптимизируют.

Связь с энтропией

Перплексия тесно связана с понятием энтропии из теории информации. Кросс-энтропия H - это среднее число «бит удивления» (при основании 2) на один токен, а перплексия 2^{H} переводит это число в «эффективное число вариантов». Ещё Клод Шеннон в 1951 году оценивал энтропию английского текста, предсказывая следующую букву, - это прямой предшественник современной перплексии.

Интерпретация

  • Степень удивления. Перплексия 1 означает идеальное предсказание (модель всегда уверена в правильном токене). Перплексия k примерно соответствует ситуации, когда на каждом шаге модель выбирает из k одинаково вероятных вариантов. Например, модель, для которой следующий символ равновероятен среди шести исходов (как бросок честной игральной кости), имеет перплексию 6.
  • Верхняя граница. Для словаря размера V модель, дающая равномерное распределение (то есть ничего не выучившая), имеет перплексию V. Любая осмысленная модель должна быть заметно ниже.

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

Пусть модель на каждом из N шагов присваивала действительно случившемуся токену вероятность 1/10. Тогда средняя отрицательная лог-вероятность равна -\ln(1/10) = \ln 10, а перплексия \exp(\ln 10) = 10. Если бы модель предсказывала уверенно и присваивала верному токену вероятность 1/2, перплексия составила бы 2.

Ограничения

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

Применение

  • Мониторинг обучения. Падение перплексии на отложенной выборке - главный признак прогресса при предобучении.
  • Законы масштабирования. Законы масштабирования формулируются именно через потери и перплексию: они степенным образом убывают с ростом модели, данных и вычислений.
  • Обнаружение сдвига домена. Резкий рост перплексии на новых данных сигнализирует, что текст «непривычен» модели (другой язык, стиль, тема).

См. также

Литература

  • Shannon C. E. Prediction and Entropy of Printed English // Bell System Technical Journal. — 1951. — Т. 30. — № 1. — С. 50-64.
  • Jelinek F., Mercer R. L., Bahl L. R., Baker J. K. Perplexity - a measure of the difficulty of speech recognition tasks // Journal of the Acoustical Society of America. — 1977. — Т. 62. — № S1. — С. S63.
  • Jurafsky D., Martin J. H. Speech and Language Processing. — 3-е изд. (черновик от 24 августа 2025). — 2025.
Личные инструменты