言語モデルが次の単語をどの程度正確に予測できるかを測る指標。クロスエントロピー損失の指数関数として計算され、値が低いほどモデルの予測精度が高いことを示す。GPT-4クラスのモデルでは英語テキストに対して8-12程度。
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の計算式は以下の通り:
計算時の注意点として、長文テキストではsliding window方式が一般的で、stride=512トークンで文脈窓をスライドさせながら平均Perplexityを算出する。GPT-4oの128Kコンテキストウィンドウではstride=1024以上が推奨される。
| 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にはいくつかの本質的な限界がある:
補完指標としてBERTScore(意味的類似度)、MAUVE(分布一致度)、Self-BLEU(多様性の逆指標)を組み合わせることで、より多面的なモデル評価が可能になる。
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でも対応できる。