はじめに
今回は、「Why Language Models Hallucinate」というOpenAIの論文を紹介します。この論文は、大規模言語モデルがなぜ「ハルシネーション」を起こしてしまうのか分析している論文です。ハルシネーションとは、回答が不確かな場合にわからないと答えるのではなく、もっともらしい誤った主張を生成する現象のことを言います。
皆さんも生成AIを使うときに、「絶対に嘘はつかないでください」だったり、「知らない時はわからないと答えてください」とプロンプトの中で指示しても、嘘の答えが出てきてしまう経験があるのではないでしょうか。最新のモデルであっても、今なおハルシネーションは無くならないのが現状です。
この論文では、事前学習された言語モデルは、統計的に必ずハルシネーションを起こすことが数学的に説明されています。ポイントとしては、トレーニングデータに誤りが一切含まれていなくてもハルシネーションは必ず発生するということです。数式をところどころ含めていますが、省略している部分も多いため、正確な情報は元論文でご確認ください。
紹介する論文はこちら:
https://arxiv.org/pdf/2509.04664
本編
1. 事前学習とは何か
1.1 事前学習は確率分布推定のタスク
LLM は、大量のテキストデータを読み込み、「文がどのように分布しているか」を学んでいます。この工程を事前学習と呼びます。ChatGPTのようなモデルも、まずこの事前学習を行い、その後に追加学習されるという構造になっています。
論文では事前学習を次のように位置付けています:
- 事前学習は、確率分布推定のタスクである
- 確率分布推定の目的は、言語の統計分布 $p(x)$ を近似することであって、誤りを避けることではない
少し言葉が難しいですが、事前学習は、文章が「どんな形でどれくらい登場しやすいか」という言語のルールやクセの確率分布を学ぶものというイメージです。
1.2 誤りゼロを保証することは不可能
学習では学習データをよく再現する分布を学ぶことが目的であって、誤りをゼロにすることではないということです。有限データから確率分布を学ぶ以上、誤差(不確実性) は避けられません。つまり、言語モデルは本質的に見たことのない事実には弱く、ハルシネーションが起きてしまうと述べられています。
ハルシネーションが起きてしまう例として、誕生日の例がわかりやすいです。
もし誕生日データの20%が訓練データに1度しか出てこなければ、モデルは誕生日に関する質問の少なくとも20%で誤答する。
誕生日は何か法則があって決まっているわけではないので、訓練データの中に1回しか出ていなければ、統計的に確率分布が推定できないため間違ってしまうのです。
2. ハルシネーションを分類問題として捉える
論文では、LLMのハルシネーションが必ず起こることの証明に、IIV(Is-It-Valid?)分類問題を活用しています。以下の流れで、証明しています。
-
事前学習は「確率分布 $p(x)$ を推定する」タスク
→ LLM は文 x に対し「もっともらしさ(確率)」を割り当てる - その確率 p̂(x) を使えば「valid と error」を分類できるはず
- つまり LLM の“生成エラー”は、分類問題での“分類エラー”と数学的に結びつけられる
2.1 IIV分類問題とは
IIVとは、文 $x$ が以下を分類するタスクです。
- 妥当(valid) → $+$
- 誤り(error) → $-$
文の集合 $X$ は、正しい文章の集合 $V$、誤り文章の集合 $E$に分かれます。
2.2 分類問題の「データ分布」を作る
分類問題では、“valid 文” と “error 文” を 半分ずつ 扱えるようにデータ分布を作ります。分布を$D$とおくと、IIV分類のためのデータ分布 $D$ は次の式のように定義されます:
D(x)=
\begin{cases}
\dfrac{p(x)}{2} & x \in V \\
\dfrac{1}{2|\mathcal{E}|} & x \in \mathcal{E}
\end{cases}
この分布の式の意味についてです。
- 正しい文(valid)は、誤りを含まない言語分布 $p(x)$ に従って取り出します。ただし、IIV分類問題では「valid と error を 1:1 にしたい」ため、確率を半分にするために $p(x)/2$ としています。
- 誤り文(error)は訓練データには存在しません。そのため p(x) には従わず、誤り文集合 $\mathcal{E}$ の中から一様にサンプリングし、こちらも全体の確率が 1/2 になるように $1/(2|\mathcal{E}|)$ としています。
2.3 LLM を分類器として使う方法を決める
次に、LLM はどうやって「valid か error か」を判断できるのか?を考えます。LLM は文 $x$ に与える確率 $\hat{p}(x)$ を利用して、
- LLM が「この文はそれらしい」と思う確率が error 文の確率より高ければ valid
- 低ければ error
と判定する分類器を定義します。誤りの文は、集合 $\mathcal{E}$の中から 一様にサンプリングされるので、誤りの確率は$1/|\mathcal{E}|$となります。この性質を使えば、LLM を分類器 $\hat{f}$ に変換できます:
\hat{f}(x)=
\begin{cases}
+ & \hat{p}(x) > \dfrac{1}{|\mathcal{E}|} \\
- & \hat{p}(x) \le \dfrac{1}{|\mathcal{E}|}
\end{cases}
3. 生成誤り ≥ 2 × 分類誤り
実際の LLM の生成(事前学習の世界)では、
- valid 文が圧倒的に多い
- error 文はほぼゼロ(めったに生成対象にならない)
つまり、生成誤り率 err は本質的にvalid が間違って error を生成する確率だけが重要で、“valid を選べなかったときだけ” が誤りなので、
err \approx (validを誤る率)
と表せます。一方で、IIV の分類誤りは次のように表せます:
err_{iiv} = \dfrac{1}{2}(validを誤る率) + \dfrac{1}{2}(errorを誤る率)
分類誤りは valid/error で 1:1 の世界でしたが、生成のタスクではvalid がほぼ 100% なので2倍の誤りになります。よって、
err \approx 2 \times err_{iiv}
になります。分類は、文が valid か error かを判断するだけですが、生成では無数の候補文の中から valid 文を選んで出力しなければならないので、生成の方が圧倒的に難しいというのは直感的にも正しいです。
証明のまとめ
事前学習で得られる確率分布を利用して分類問題に落とし込むことで、生成タスクの誤り率が分類誤り率の少なくとも 2 倍になることが分かります。つまり、LLM が確率分布をどれだけ正確に推定していても、生成の構造的な難しさから、分類より高い誤り率を必ず伴うことが数学的に示されました。
4. ポストトレーニングで幻覚が減る理由について
論文は、多くの既存ベンチマークは「正解/不正解」の0か1評価であると指摘しています。
- 「わからない」と答えるモデルは、スコアがつかないため不利になる
- 推測して答えるモデルの方が正解が含まれることもあるため、スコアで上回る
これはまさに学生のテストと同じで、わからなくても穴埋めした方が点が取れるという構造になっています。そのため、評価が幻覚を“促進”してしまうという現象が起きているのです。
ポストトレーニングは不確実なときには、
- 「IDK」と答える
- 事実に反することを避ける
といった追加の目的があるため、事前学習だけではカバーできない範囲を実現します。
5. 幻覚ゼロのモデルは存在するが、言語モデルではない
質問に対して、
- 不確実なときは常に "I don't know"と答える
- ランダム生成は一切しない
ようなモデルはハルシネーションはゼロになりますが、言語分布の推定をしていないので言語モデルとしては成立しないと述べられています。
6. まとめ
- 事前学習は分布推定であり、誤りを避ける学習ではない
- valid と error の境界は統計的に完全には識別できない
- 生成誤りは分類誤りより必ず大きい
- したがってハルシネーションは統計的に避けられない
- 幻覚を減らすには post-training と評価方法の改善が必須
終わりに
私は業務でLLMを頻繁に利用しており、不確実な回答を避けたい場面が多くあります。そのため「なぜハルシネーションが起きるのか」を正確に理解することで、プロンプト設計やモデル選定の改善につながると考え、この論文を精読しました。この記事が皆様の理解の一助になれましたら幸いです。