この記事が答えたいこと

LLM を学んでいると、エントロピー(Entropy) という言葉に何度も出会います。cross-entropy loss、Perplexity、Temperature、hallucination 検出などです。別々の概念に見えますが、背後には同じ数学的直感があります。

この記事では、散らばった知識を一本の線で結びます。エントロピーは LLM の振る舞いを理解するための共通言語です。

エントロピーを一文で理解する

エントロピーとは、不確実性の尺度です。

公平なコインを投げると結果は完全に不確実で、エントロピーは最大の 1 bit です。両面が表なら結果は確定しており、エントロピーは 0 です。

Shannon が 1948 年に示した式は次のとおりです。

$$ H(X) = -\sum p(x) \log p(x) $$

確率分布が均一で不確実であるほどエントロピーは高く、特定の値へ集中して確実であるほど低くなります。

中国語の「熵」という文字について: 中華民国期の物理学者が thermodynamic entropy を訳すために作った形声文字で、火は熱力学を、商は shāng という音を表します。情報理論の entropy は同じ数学的形式を使いますが、物理現象の比喩ではなく独立した数学的定義です。両者は式を共有しますが、物理的な仕組みは共有しません。

学習:Cross-Entropy Loss

LLM 学習の根本的な目標は一つです。context が与えられたときに次の token の確率分布を予測し、その予測を真の分布へできるだけ近づけます。

その近さを測る指標が cross-entropy です。

直感的な例

真の次 token が「猫」で、モデルが次の確率を割り当てたとします。

Tokenモデルの予測確率Cross-entropy への寄与
0.7$-\log(0.7) \approx 0.36$
0.01$-\log(0.01) \approx 6.64$

重要な性質は次のとおりです。

  • 予測が正確で、正解 token の確率が高いほど cross-entropy は低くなります。
  • 予測が外れるほど cross-entropy は高くなり、対数的なペナルティ が掛かります。
  • 正解へ 0.01 を割り当てる場合の罰は、0.1 を割り当てる場合よりはるかに大きくなります。

これは望ましい学習信号です。完全に外れた予測を厳しく罰します。

学習曲線の Loss

LLM の training loss curve では、縦軸は通常 cross-entropy loss です。曲線が下がることは、次 token の予測が正確になり、予測分布の不確実性が減っていることを意味します。

評価:Perplexity

Perplexity(困惑度) は cross-entropy の指数形式です。

$$ PPL = 2^{H} $$

直感的には、モデルが平均して何個の token の間で「迷っているか」を表します。

  • GPT-2 の時代には perplexity はおよそ 20〜30 で、各 step で 20〜30 個の候補 token に迷っていたことを示します。
  • 現代の大規模モデルは perplexity が大幅に低く、予測能力が高まっています。

Perplexity は言語モデルの基礎能力を測る中核指標です。ただし、「予測が正しいか」は測れても「回答が役立つか」は直接測れません。そのため BLEU、ROUGE、さらに新しい LLM-as-Judge なども必要です。

推論:Temperature と Sampling

学習後のモデルは token ごとの確率分布を出力します。その分布から token をどう選ぶかが、出力エントロピーを直接決めます。

Temperature

Temperature は logits、つまりモデルの生の score を拡大・縮小し、確率分布の形を制御します。

  • T → 0: argmax に近づき、確率は最高 score の token にほぼ集中します。出力エントロピーは 0 に近づき、決定的になります。
  • T = 1: モデル本来の分布を使います。
  • T > 1: 分布を平らにし、token 間の確率差を小さくします。出力エントロピーが増え、よりランダムになります。

Top-p(Nucleus Sampling)

Top-p は累積確率を切ることで、別の方向からエントロピーを制御します。top_p=0.9 なら、累積確率が 90% に達する最小の token 集合だけを残し、long tail を捨てます。これは出力エントロピーに上限を設けることに相当します。

実際の選択

場面Temperature理由
コード生成低い(0〜0.2)決定性が必要で、正解の範囲が狭い
創作高い(0.7〜1.0)多様性と意外性が必要
RAG 質問応答低い(0〜0.3)検索文書に忠実である必要がある
データ抽出0構造化出力を完全に決定的にしたい

Context と条件付きエントロピー

この節は RAG エンジニアにとって特に重要です。

情報理論の観点では、context window へ情報を注入する行為は、後続 token 予測の条件付きエントロピーを下げること です。

$$ H(Y|X) \leq H(Y) $$

条件付きエントロピー、つまり X が既知のときの Y の不確実性は、無条件のエントロピー以下です。X の情報が十分で関連性が高いほど、条件付きエントロピーは下がり、出力は確実になります。

これが、RAG が回答品質を高めることの情報理論的な説明です。

  1. ユーザーが質問すると、モデルは高い不確実性、つまり高エントロピーに直面します。
  2. 関連文書を検索して context に注入すると、条件付きエントロピーが下がります。
  3. 十分な context を基に生成すると、回答はより確実で正確になります。

逆に、無関係または矛盾する文書は noise を増やし、不確実性を下げないことがあります。だからこそ RAG では retrieval quality が重要です。

Hallucination 検出:信号としての Entropy

実用的な観察として、token ごとの生成中に entropy が急上昇する entropy spike は、モデルが情報を「作り始めた」兆候である場合があります。

学習データで見た確かな内容では、予測分布は鋭く低エントロピーになります。根拠がなく、推測する場所では分布が平らになり、高エントロピーになります。

この性質を使う hallucination 検出法があります。

  • token ごとの log probability を監視する
  • sliding window 内の entropy を計算する
  • entropy がしきい値を超えた位置を潜在的 hallucination として印を付ける

API が token の log probability を返せれば、プロダクト層で実装できます。Langfuse のような observability tool と組み合わせることで、本番 LLM 出力の entropy-based な品質監視が可能です。

Prompt Engineering における Entropy の隠れた影響

prompt を書くときに entropy を直接計算することはほとんどありませんが、prompt 設計は出力分布の entropy を本質的に変えます。

  • 指示が明確 → 出力空間が小さい → 低 entropy → 安定して制御しやすい
  • open-ended prompt → 出力空間が大きい → 高 entropy → 多様だが制御しにくい
  • Few-shot examples → 出力 pattern を制約する → entropy を下げる
  • JSON Schema や XML tags などの構造化出力 → 出力空間を大幅に圧縮する → entropy を大きく下げる

良い prompt が具体的で制約を持つ理由もここにあります。モデルの探索空間を狭め、必要な意思決定の不確実性を下げています。

コードベースの「Entropy」:有用な比喩

AI engineering では、数学的な定義ではなく比喩として entropy が使われることもあります。

OpenAI は Harness Engineering で、Codex agent が自律的にコードを生成すると、コードベースに不整合な pattern、style drift、technical debt が蓄積する現象を説明しています。この劣化を entropy と呼び、agent が定期的に差異を走査して refactoring PR を作る garbage collection を設計しています。

ここでの entropy は、外部から介入しなければ system は自然に無秩序へ向かうという熱力学的比喩です。厳密な数学定義ではありませんが、「自律 system には継続的な governance が必要」という重要な認識を正確に伝えます。

まとめ

段階Entropy の役割実際の意味
学習Cross-entropy loss予測分布と真の分布の差を最小化する
評価Perplexity ($2^H$)基礎的な予測能力を測る
推論Temperature / Top-pランダム性と多様性を制御する
Context条件付きエントロピー $H(Y \mid X)$関連文書の注入で条件付き entropy を下げ、RAG の出力を改善する
プロダクトEntropy spike 検出hallucination と出力品質問題の信号にする
Prompt出力空間の制約良い prompt は意思決定の不確実性を下げる
Engineeringコード劣化の比喩自律 system は無秩序に抗う garbage collection を必要とする

一文で言えば、LLM の学習は cross-entropy を下げ、推論では temperature で出力 entropy を制御し、評価では perplexity を使い、プロダクトでは entropy signal で hallucination を検出します。エントロピーは LLM のライフサイクル全体を貫く共通言語です。