AI・機械学習
上級

Perplexity(困惑度)(パープレキシティ)

言語モデルが次の単語をどの程度正確に予測できるかを測る指標。クロスエントロピー損失の指数関数として計算され、値が低いほどモデルの予測精度が高いことを示す。GPT-4クラスのモデルでは英語テキストに対して8-12程度。

0 回閲覧
0 いいね

Perplexity(困惑度)は、言語モデルの予測性能を定量化する最も基礎的な評価指標である。直感的には「モデルが次の単語を予測する際にどれだけ迷っているか」を数値化したもので、値が低いほどモデルの予測精度が高い。

概要

Perplexityの数学的定義はクロスエントロピー損失の指数関数(2のH(p,q)乗)である。テストコーパス上で計算され、モデルが各トークンに割り当てる確率分布の品質を反映する。Perplexity=1は完璧な予測(次の単語を100%正確に当てる)を意味し、Perplexity=Vはボキャブラリサイズ V のランダム予測に相当する。

2026年現在の主要モデルのPerplexity値(Wikitext-103評価)は以下の通り:GPT-4oが約8.2、Claude 4 Opusが約8.5、Llama 3.1 405Bが約10.3、Gemini 2.0 Proが約9.1。ただしPerplexityはトークナイザの語彙サイズに依存するため、異なるトークナイザを使用するモデル間の厳密な比較には注意が必要である(GPT-4oのcl100kは100,256トークン、Llamaのtiktokenは128,256トークン)。

計算方法と数学的背景

Perplexityの計算式は以下の通り:

  • 定義: PP(W) = P(w1, w2, ..., wN)^(-1/N) = 2^(H(p,q))
  • クロスエントロピー: H(p,q) = -(1/N) × Σ log2 P(wi | w1, ..., wi-1)
  • 実装: PyTorchではCrossEntropyLossの出力をtorch.exp()で変換。math.exp(loss.item())として計算

計算時の注意点として、長文テキストではsliding window方式が一般的で、stride=512トークンで文脈窓をスライドさせながら平均Perplexityを算出する。GPT-4oの128Kコンテキストウィンドウではstride=1024以上が推奨される。

Perplexity値の解釈ガイド

Perplexity範囲評価該当モデル例用途適性
5-10非常に優秀GPT-4o (8.2), Claude 4 (8.5)汎用テキスト生成、商用品質
10-20良好Llama 3.1 70B (14.7), Mistral Large (12.3)特定ドメイン、コスト重視
20-50標準Llama 3.1 8B (28.5), Phi-3 mini (35.2)エッジデバイス、軽量推論
50-100要改善小型・未チューニングモデルプロトタイプ、研究用途
100以上不十分ランダムに近い予測実用には不適

Perplexityの限界と補完指標

Perplexityにはいくつかの本質的な限界がある:

  • 生成品質との乖離: Perplexityが低くても、繰り返しの多い退屈なテキストや、安全だが創造性のないテキストを生成する場合がある。Perplexity=10のモデルがPerplexity=15のモデルよりユーザー満足度が低い事例が報告されている
  • トークナイザ依存性: 語彙サイズが大きいトークナイザほどPerplexityが低くなりやすい。BPEで32K語彙と128K語彙では同じモデルでも5-15%の差が出る
  • ドメイン依存性: Wikitext-103で優秀でもコード生成やチャットでは性能が異なる。ドメイン固有のテストセットで評価する必要がある
  • デコーディング設定の非反映: Perplexityは確率分布の品質を測るが、実際の生成時にはtemperature・top-p・top-kなどのサンプリング戦略が品質に大きく影響する

補完指標としてBERTScore(意味的類似度)、MAUVE(分布一致度)、Self-BLEU(多様性の逆指標)を組み合わせることで、より多面的なモデル評価が可能になる。

よくある質問(FAQ)

Q1: Perplexityが同じ2つのモデルは同じ品質ですか? A: 必ずしもそうではない。Perplexityはトークン予測の平均的な精度を測るため、特定タスクの性能差や安全性・創造性などの品質は反映しない。タスク固有のベンチマーク(SWE-Bench等)やLLM-as-a-Judgeとの併用が必要。

Q2: ファインチューニング後にPerplexityが上がるのは失敗ですか? A: 必ずしも失敗ではない。RLHF等のアライメントチューニングではPerplexityが5-20%上昇するのが一般的。これはモデルが安全で有用な回答に偏るようになった結果であり、汎用的な予測精度とトレードオフの関係にある。

Q3: Perplexityの計算にGPUは必要ですか? A: 7Bパラメータ以下のモデルなら16GB VRAMのRTX 4080で計算可能。70B以上では80GB以上のA100/H100が必要か、量子化(GPTQ 4bit等)を適用して24GBのRTX 4090でも対応できる。

まとめ

  • Perplexityは言語モデルの予測精度を測る基礎指標で、値が低いほど高精度
  • GPT-4oクラスで8-12、小型モデルで20-50が目安
  • トークナイザ依存性やドメイン依存性があり、単独では品質を十分に評価できない
  • BERTScore・MAUVE等の補完指標との組み合わせが推奨される