Junior — Middle
38
Как считать perplexity языковой модели? Какие у неё свойства?
Companies where asked
SoftInterMob
Answer from AI
sobes.tech AI
Perplexity (запутанность) — это метрика качества языковой модели, которая измеряет, насколько хорошо модель предсказывает последовательность слов. Формально, perplexity определяется как экспонента средней отрицательной логарифмической вероятности предсказанных слов:
[ \text{Perplexity} = \exp\left(-\frac{1}{N} \sum_{i=1}^N \log P(w_i | w_{1:i-1})\right) ]
где (N) — длина последовательности, а (P(w_i | w_{1:i-1})) — вероятность слова (w_i) при условии предыдущих слов.
Свойства perplexity:
- Чем ниже perplexity, тем лучше модель предсказывает текст.
- Perplexity можно интерпретировать как среднее число вариантов, которые модель рассматривает при выборе следующего слова.
- Perplexity всегда положительна и обычно больше или равна 1.
- Она чувствительна к размеру словаря и длине тестовой выборки.
Пример вычисления perplexity для простой модели на Python:
import math
# Предположим, у нас есть вероятности слов в последовательности
probs = [0.1, 0.5, 0.2, 0.2]
log_prob_sum = sum(math.log(p) for p in probs)
N = len(probs)
perplexity = math.exp(-log_prob_sum / N)
print(f"Perplexity: {perplexity}")