パープレキシティの計算
入力
| クロスエントロピー損失 | 2 |
|---|
パープレキシティの計算
言語モデルのクロスエントロピー損失をパープレキシティとトークンあたりビット数に変換する。パープレキシティは、ホールドアウトテキストで測定したトークンあたり平均損失の指数である。
入力
損失
結果
値を入力すると計算結果が表示されます。
詳細
パープレキシティ
パープレキシティは、言語モデルがテキストをどれだけよく予測するかを測る、最も広く使われる内在指標である。モデルの平均的な不確実性を、直感的に読める1つの数値にまとめる。すなわち、各トークンでモデルがおよそ何個の等確率の選択肢を天秤にかけているか、である。この計算は、学習フレームワークが報告するクロスエントロピー損失を、パープレキシティとトークンあたりビット数に変換する。
損失からパープレキシティへ
言語モデルがホールドアウトテキストを読むとき、実際の各次トークンに確率を割り当てる。クロスエントロピー損失はそれらの確率の負対数の平均であり、自信を持って正しいモデルは低い損失を、驚いたモデルは高い損失を得る。パープレキシティは単にその平均の指数である。
PPLH2=eL=ln2Lここで はトークンあたりの損失(ナット単位)、 はトークンあたりビット数で表した等価量である。指数をとることで損失の内側の対数を打ち消し、加法的な量を乗法的な「実効語彙サイズ」に変える。完全なモデルはすべての正しいトークンに確率1を割り当て、損失0、パープレキシティ1、すなわち不確実性ゼロになる。
計算例
あるモデルがホールドアウトのクロスエントロピー損失2.0ナットを報告するとする。
PPLH2=e2.0≈7.39=ln22.0≈2.885 bits/tokenパープレキシティおよそ7.4は、テキスト全体で平均すると、モデルがおよそ7個か8個の等確率のトークンから一様に選んでいるのと同じだけ不確実であることを意味する。トークンあたりビット数は圧縮に結びつく。このモデルを用いる理想的な符号器は各トークンを符号化するのにおよそ2.9ビットを要するため、パープレキシティの低いモデルは同じテキストをより緻密に圧縮できる。
パープレキシティの読み方と比較
パープレキシティが低いほど予測が良いが、この数値はトークナイザーと評価セットを固定した範囲内でのみ意味を持つ。トークンあたりで測定されるため、テキストをより多く小さいトークンに分割するモデルは、語彙が粗いモデルと同じ文章でも、たとえ根底の品質が等しくても異なるパープレキシティを報告する。比較はトークナイザーとテストテキストが同一のとき妥当であり、それ以外では誤解を招く。パープレキシティは、モデルが指示に従えるか推論できるかについては何も語らない。それらにはタスクベースの評価が用いられる。そうした評価に何件の例が必要かを計画するにはLLM評価のサンプルサイズの計算を、コード生成の採点にはpass@k の計算を参照されたい。
よくある質問 (FAQ)
パープレキシティは何を測りますか
パープレキシティは確率モデルが標本をどれだけよく予測するかを測り、低いほど良い指標です。平均クロスエントロピー損失の指数であり、実効的な分岐数として読めます。パープレキシティが8なら、モデルは平均して、等確率の8個の次トークンから一様に選ばねばならないのと同じだけ不確実だということです。正しいトークンに常に確率1を割り当てる完全なモデルは、損失0、パープレキシティ1になります。モデル自身の確率から直接計算されるため、パープレキシティはラベルを必要とせず、言語モデルの当てはまりを測る標準的な内在指標です。
ナットとビットはどう違いますか
どちらも情報の単位で、対数の底だけが異なります。ナットは自然対数を用い、多くの学習コードが報告するものです。ビットは底2を用います。1ナットはおよそ1.443ビットなので、ナットの損失を2の自然対数で割るとトークンあたりビット数に変換できます。トークンあたりビット数は圧縮と直接結びつくため便利です。トークンあたりビット数が小さいモデルは、原理的には同じテキストをより少ないビットに圧縮できます。
パープレキシティはモデル間で比較できますか
トークナイザーと評価テキストが同一の場合のみです。パープレキシティはトークンあたりで測定されるため、テキストをより多く小さいトークンに分割するモデルは、語彙が粗いモデルと同じ文章でも、たとえ根底の品質が等しくても異なるパープレキシティを報告します。したがって比較はトークナイザーとデータセットを固定した範囲内では妥当ですが、異なるもの同士では誤解を招きます。モデル間の能力比較にはタスクベースの指標が代わりに用いられます。
免責事項
パープレキシティは特定のトークナイザーと評価セットに結びついた内在指標であり、語彙の異なるモデル間で直接比較することはできず、タスクベースの評価の代わりにもなりません。変換する前に、損失がトークンあたりでナット単位であることを確認してください。