Sobes.tech
Junior — Middle

Bir dil modeli perplexity nasıl hesaplanır? Onun özellikleri nelerdir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Perplexity (запутанность), bir dil modelinin kalitesini ölçen bir metriktir ve modelin kelime dizisini ne kadar iyi tahmin ettiğini gösterir. Resmi olarak, perplexity, tahmin edilen kelimelerin negatif log olasılıklarının ortalamasının üsselidir:

[ \text{Perplexity} = \exp\left(-\frac{1}{N} \sum_{i=1}^N \log P(w_i | w_{1:i-1})\right) ]

burada (N) dizinin uzunluğu ve (P(w_i | w_{1:i-1})) önceki kelimeler göz önüne alındığında (w_i) kelimesinin olasılığıdır.

Perplexity özellikleri:

  • Perplexity ne kadar düşükse, model metni o kadar iyi tahmin eder.
  • Perplexity, modelin bir sonraki kelimeyi seçerken dikkate aldığı seçeneklerin ortalama sayısı olarak yorumlanabilir.
  • Her zaman pozitiftir ve genellikle 1 veya daha büyük olur.
  • Sözlük boyutuna ve test örneğinin uzunluğuna duyarlıdır.

Python'da basit bir model için perplexity hesaplama örneği:

import math

# Bir dizideki kelimelerin olasılıklarını varsayalım
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}")