Перплексия языковой модели
Определение
Перплексия — показатель того, насколько вероятными модель считает оцениваемые токены. Её вычисляют как экспоненту средней отрицательной логарифмической вероятности токенов, используя натуральный логарифм.
Также ищут: perplexity · PPL · перплексия
Зачем это знать
Перплексия помогает сравнить предсказание токенов при одинаковых условиях оценки. Если меняются токенизатор, доступный контекст или набор целей, различие чисел может отражать смену условий, а не улучшение модели.
Карта понятия
Что подтверждено
Для обычной средней отрицательной логарифмической вероятности (NLL) по целевым токенам перплексия равна exp(NLL). Используются натуральные логарифмы и одинаковый вес целей. Экспонента произвольной функции потерь не становится от этого перплексией.
Граница применимости: Обычная невзвешенная NLL по положительному числу учитываемых целевых токенов. Другую функцию потерь или нормирование нельзя автоматически подставлять в эту формулу.
Если для двух целей с одинаковым весом вероятности правильных токенов равны 1/2 и 1/8, средняя отрицательная логарифмическая вероятность равна (ln 2+ln 8)/2=ln 4. Перплексия равна exp(ln 4)=4.
Граница применимости: Учебный расчёт по двум целям с одинаковым весом и заданными вероятностями; не измерение модели.
Средние потери окон объединяют с весами, равными числу учитываемых целей. Если в первом окне 7 целей со средней NLL 1, а во втором 4 цели со средней NLL 3, общая средняя NLL равна (7×1+4×3)/11=19/11. Простое среднее двух окон даёт другое значение: 2.
Граница применимости: Среднее по целям с одинаковым весом. Число целей определено после сдвига и исключения меток; в каждом используемом окне оно положительно. Числа примера условны.
Для сравнения перплексии зафиксируйте оцениваемый текст и токенизатор. Другое разбиение текста на токены меняет единицы, по которым считается метрика.
Граница применимости: Оценка авторегрессионных языковых моделей на текстовом корпусе; это не универсальный протокол для всех типов моделей.
В отчёте о перплексии укажите длину и шаг окон, правила обработки специальных токенов начала и конца, заполнителей и масок. Они определяют доступный контекст и набор оцениваемых целей.
Граница применимости: Оценка авторегрессионной языковой модели окнами фиксированной длины; выравнивание выходов и целей проверяется по реализации.
В перекрывающихся окнах учитывайте каждую выбранную цель один раз. В GPT2LMHeadModel Transformers 4.44.2 число целей окна считайте после внутреннего сдвига: это число меток, не равных −100, в labels[..., 1:]. Вычитать единицу из числа новых меток каждого окна нельзя: удалённая метка могла уже быть исключена.
Граница применимости: Оценка с перекрытием окон и однократным учётом целей. Правило подсчёта после сдвига относится к рассмотренному GPT2LMHeadModel. Исключение повторных целей не восстанавливает недоступный контекст.
Перплексия сама по себе не проверяет истинность ответа: она рассчитывается по вероятностям целевых токенов, а не по результату сверки утверждений с источниками фактов.
Граница применимости: Редакторский вывод из определения метрики; источники здесь не проверяют и не доказывают отсутствие корреляции PPL с фактической точностью.
Что проверить
- Зафиксируйте текст, токенизатор и правила обработки специальных токенов.
- Запишите длину и шаг окон, маски, доступный контекст и набор учитываемых целей.
- Взвесьте средние NLL окон по числу целей после сдвига и исключения меток, затем возьмите экспоненту. Окна без целей пропускайте до расчёта среднего; при нулевом общем числе целей перплексия не определена.
Первоисточники
- Perplexity of fixed-length models
Прочитаны определение, токенизация, ограничения контекста и рецепт окон. Именно v4.44.2 усредняет средние окон с одинаковым весом, а комментарий trg_len−1 неверен для перекрытия, когда первая метка уже исключена. Эти части рецепта не используются как точный расчёт NLL по токенам.
- CrossEntropyLoss
Общая формула использована для определения кросс-энтропии. Примеры средней NLL по токенам ограничены индексными целями, weight=None, label_smoothing=0 и reduction=mean. Функция принимает логиты; иные веса и цели требуют другого расчёта.
- Transformers v4.44.2: GPT-2 model implementation
Код v4.44.2 прочитан локально, не исполнен. Утверждение о сдвиге ограничено GPT2LMHeadModel этой версии: исключаются вектор логитов последней позиции и первая целевая метка, затем вызывается CrossEntropyLoss.
- Transformers v4.44.2: data collators
При mlm=False DataCollatorForLanguageModeling копирует input_ids в labels, а метки с pad_token_id заменяет на −100. Сдвиг выполняет модель. Если заполнителю и концу последовательности назначен один ID, метки исключаются по этому ID.
Утверждения: 05
- Improving Language Understanding by Generative Pre-Training
§3.1, формулы 1–2 описывают авторегрессионную цель обучения. §3.2 относится к конкретному дообучению на размеченных данных; его нельзя переносить на все современные схемы дообучения. 26.10.2026 сверён §4.1: GPT-1 использует decoder-only Transformer с masked self-attention.
Утверждения: 07