LLM交差エントロピー損失(エルエルエムコウサエントロピーソンシツ)
言語モデルの事前学習で最も広く使われる損失関数。モデルが予測した次トークンの確率分布と正解分布の差異を最小化する。
LLM交差エントロピー損失とは
交差エントロピー損失(Cross-Entropy Loss)は、大規模言語モデル(LLM)の事前学習における標準的な損失関数である。モデルが出力する次トークンの確率分布 q(x) と、正解トークンの確率分布 p(x)(通常はone-hotベクトル)の間の距離を測定し、その値を最小化するようにモデルパラメータを更新する。
数式的には H(p, q) = -Σ p(x) log q(x) で表される。正解トークンのみが確率1を持つone-hot分布の場合、これは -log q(正解トークン) に簡約化される。つまり、モデルが正解トークンに高い確率を割り当てるほど損失が小さくなる。
なぜ交差エントロピーが標準なのか
情報理論的な正当性
交差エントロピーは情報理論に根ざしており、KLダイバージェンスと定数項(正解分布のエントロピー)の和として分解できる。正解分布が固定の場合、交差エントロピーの最小化はKLダイバージェンスの最小化と等価であり、モデル分布を正解分布に最も近づける最適化目的として理論的に妥当である。
計算効率
ソフトマックス関数と交差エントロピーを組み合わせた場合の勾配計算が極めて効率的で、q(x) - p(x) という単純な形になる。この性質がGPU上での大規模学習を実用的にしている。
主要なLLMでの採用
| モデル | パラメータ数 | 損失関数 | 語彙サイズ | 備考 |
|---|---|---|---|---|
| GPT-4o | 非公開 | 交差エントロピー | 約200K | 標準的な次トークン予測 |
| Llama 3.1 405B | 4050億 | 交差エントロピー | 128K | Meta社の最大モデル |
| Gemini 1.5 Pro | 非公開 | 交差エントロピー | 256K | マルチモーダル対応 |
| Claude 3.5 Sonnet | 非公開 | 交差エントロピー+RLHF | 非公開 | Constitutional AI |
| Qwen2.5 72B | 720億 | 交差エントロピー | 152K | Alibaba Cloud |
事実上すべてのTransformerベースLLMが事前学習段階で交差エントロピー損失を使用しており、差別化はファインチューニング段階の損失関数(DPO、RLHF等)で行われる。
語彙サイズと損失計算のスケーリング
語彙サイズ V が大きいほど、ソフトマックス計算のコストが増大する。GPT-2時代の50,257トークンからLlama 3の128Kトークンへと語彙は拡大しており、損失計算がボトルネックになりうる。
対策技術
- Adaptive Softmax: 頻度の低いトークンをクラスタリングして計算量を削減
- Flash Softmax: FlashAttention の設計思想をソフトマックスに適用し、メモリI/Oを最適化
- Fused Cross-Entropy: PyTorch 2.0以降でソフトマックスと交差エントロピーをカーネル融合し、中間テンソルのメモリ割り当てを回避
Perplexity との関係
交差エントロピー損失 L からモデルのパープレキシティ(PPL)は PPL = exp(L) で計算される。パープレキシティはモデルが「平均的に何トークンの選択肢で迷っているか」を直感的に示す指標であり、損失値1.5はPPL≈4.48、損失値3.0はPPL≈20.09に対応する。
GPT-4クラスのモデルはWikitext-103で損失値1.0前後(PPL≈2.7)を達成しており、人間の予測精度に近い水準まで到達している。
FAQ
Q1: 交差エントロピーとバイナリ交差エントロピーの違いは?
バイナリ交差エントロピー(BCE)は2クラス分類用で、通常のテキスト生成LLMでは使わない。LLMは語彙サイズ分のクラス(数万〜数十万)に対するカテゴリカル交差エントロピーを使用する。
Q2: 交差エントロピーだけでLLMの性能は決まる?
事前学習の損失関数としては標準的だが、最終的な性能はRLHF/DPO/KTOなどのアライメント段階の損失関数、データ品質、モデルアーキテクチャの組み合わせで決まる。
Q3: 損失値がどこまで下がれば良いモデル?
タスクとデータセットに依存するが、一般的にWikitext-103でPPL<5(損失<1.6)であれば実用レベル。ただし低すぎる場合は過学習の可能性がある。