LLM KLダイバージェンス損失(エルエルエムケーエルダイバージェンスソンシツ)
2つの確率分布間の非対称な距離を測定する情報理論的指標。知識蒸留やRLHFのKLペナルティとしてLLM学習の中核を担う。
LLM KLダイバージェンス損失とは
KLダイバージェンス(Kullback-Leibler Divergence)は、ある確率分布 P が別の確率分布 Q からどれだけ離れているかを測定する非対称な距離指標である。D_KL(P||Q) = Σ P(x) log(P(x)/Q(x)) で定義され、P=Q のとき0、分布が異なるほど正の値を取る。
LLMの文脈では、知識蒸留(教師モデルから生徒モデルへの知識転移)、RLHF(人間のフィードバックに基づく強化学習)でのKLペナルティ、テキスト生成の多様性制御など、広範な用途で使用される。
知識蒸留での役割
教師-生徒フレームワーク
大規模な教師モデル(例: GPT-4、Llama 3.1 405B)の出力確率分布を、小型の生徒モデル(例: Llama 3.1 8B、Phi-3 Mini)が模倣するよう学習する。この際、生徒モデルの出力分布 Q と教師モデルの出力分布 P の間のKLダイバージェンスを最小化する。
L_distill = α × D_KL(P_teacher || Q_student) + (1-α) × CE(y, Q_student)
温度パラメータ T で教師モデルの出力をソフト化し、トップトークン以外の順位情報(dark knowledge)も伝達する。T=2〜5 が標準的な設定。
蒸留の実績
| 教師モデル | 生徒モデル | KL蒸留効果 | タスク |
|---|---|---|---|
| GPT-4 | Phi-3 Mini (3.8B) | MMLU +4.2pt vs 直接学習 | 汎用 |
| Llama 3.1 405B | Llama 3.1 8B | MT-Bench +0.8pt | 対話 |
| Gemini 1.5 Pro | Gemma 2 9B | HumanEval +6.1pt | コード |
| Claude 3.5 Sonnet | 独自4B | 内部ベンチ +12% | 要約 |
| Qwen2.5 72B | Qwen2.5 7B | CMMLU +3.1pt | 中国語 |
RLHFでのKLペナルティ
PPO + KL制約
RLHF(Reinforcement Learning from Human Feedback)では、報酬モデルのスコアを最大化しながら、学習中のポリシーモデル π_θ が事前学習済みの参照モデル π_ref から大きく乖離しないようKLペナルティを課す。
R_adjusted = R(x, y) - β × D_KL(π_θ || π_ref)
β は KL ペナルティ係数で、大きいほど参照モデルに近い出力を維持する。InstructGPTでは β=0.02 が使用された。
KLペナルティが弱すぎると
β が小さすぎると「報酬ハッキング」が発生する。報酬モデルの弱点を突いて高スコアを出すが、人間から見ると品質の低い出力(繰り返し、不自然な敬語、過度に長い回答等)になる。
KLペナルティが強すぎると
β が大きすぎると参照モデルからほぼ動かず、RLHFの効果が得られない。適切な β の設定はRLHFチューニングの最重要ハイパーパラメータの一つ。
Forward KL vs Reverse KL
| 方向 | 定義 | 性質 | LLMでの用途 |
|---|---|---|---|
| Forward KL | D_KL(P||Q) | モードカバリング(P>0なら Q>0にする) | 蒸留・模倣学習 |
| Reverse KL | D_KL(Q||P) | モードシーキング(Qが一部のモードに集中) | 変分推論・RLHF |
蒸留ではForward KLが標準で、教師モデルの全出力パターンをカバーしようとする。Reverse KLは生徒モデルが得意なパターンに集中するため、特化型の小型モデル作成に向く。
DPOとの関係
Direct Preference Optimization(DPO)は、RLHFのKLペナルティ付き最適化問題を閉じた形で解き、報酬モデルを経由せずに直接ポリシーを最適化する手法。内部的にはKLダイバージェンスの制約が暗黙的に組み込まれており、β パラメータの役割は RLHF と同じ。
FAQ
Q1: KLダイバージェンスは距離なのか?
数学的には「距離」(metric)ではない。非対称性(D_KL(P||Q) ≠ D_KL(Q||P))と三角不等式を満たさないため。ただし分布間の「乖離度」として機能する。
Q2: RLHFでβをどう設定する?
InstructGPTでは0.02が使われた。一般的にはβ=0.01〜0.1の範囲でグリッドサーチし、報酬スコアとKL値のパレート最適点を探す。
Q3: 知識蒸留で温度Tはなぜ必要?
T=1ではトップトークンの確率が支配的で、2位以下の順位関係(dark knowledge)が伝わらない。T=3〜5でソフト化すると情報量が増え、蒸留効果が高まる。