はじめに
「ChatGPT にこう聞いたら、まるで知っているかのように答えてくれた。でも、調べたら違っていた」
あなたもそんな経験をしたことがあるかもしれませんか?
言語モデル(例えば GPT 系列)は、私たちの問いかけに即応答を返してくれますが、その裏側には 「最もらしさ」を優先する統計的推論が働いており、それが仇となって事実と異なる回答を生んでしまうことがあります。
この記事では、ハルシネーションとは何か、なぜ起こるのかを解説していきます。
今回は、OpenAI の論文 Why Language Models Hallucinate をもとになぜ起こるかを
説明していきます。
そもそもハルシネーションとは?
言語モデルが事実とは異なることを、事実のように生成してしまうようなことです。
- 流暢で文法的には自然だが、内容を検証すると存在しない論文タイトルや誤った日付を答える
- モデルが「正確に知らない」場合にも、無根拠な推論を混ぜてしまう
- 単なるタイプミスや接続詞のズレ以上に、「意味・事実のズレ」が核心
が具体的にいうと挙げられます。
ちなみにOpenAIの論文では
ハルシネーションとは、言語モデルが生成する、もっともらしく聞こえるが正しくない発言のこと。
と定義されています。
ハルシネーションはなぜ起こるの?
AI の事前学習
言語モデルは、まず「事前学習(pretraining)」という段階で、膨大な量のテキストデータを読み込みます。
このとき学習の目的は「正しい知識を覚えること」ではなく、次に来る単語をできるだけ正確に予測することです。
つまり、モデルは 「知っているように見せる」 ことに最適化されているとも言えます。
例えば「佐藤さんの誕生日を当てて」と言われた場合、モデルは“佐藤”という名前に関する確率的な文脈を探しますが、
個人データのような具体的な事実を直接「覚えている」わけではありません。
一方で、「イエス・キリストの誕生日は?」のように、文化的・歴史的に頻繁に登場する情報であれば、
多数の文献や文章に登場するため、ある程度もっともらしい答えを導くことができます。
しかし、どちらの場合もモデルがやっているのは 「文脈上もっともらしい単語列を出す」 ことであって、
「事実として正しいかどうかを判断する」 ことではありません。
この構造こそが、ハルシネーションの温床になっていると論文では説明されています。
評価システムの問題
例えばですが、 あまり有名じゃない人の誕生日をChatGPTを聞いたとしましょう。
その場合多くの人が話題に出すわけではなく、モデルが誕生日を知らない場合もあります。
この時に「8月10日」と推測した場合、正解になる確率が365分の1あります。
分からないと答えたら100% 0点ですが 適当に答えたら 365分の1の確率で点数がもらえますよね。
このような問題が以前は多くみられました。
(エラー率についてはo4-mini
からgpt-5-thinking-mini
にかけてかなり改善しているようです。)
言語モデルでハルシネーションがおきる理由より
おわりに
今回、ハルシネーションについて自分なりにまとめさせていただきました。
言語モデルは非常に便利ですが、その特性上、常に事実に基づいた回答を生成するわけではありません。
ちなみに、この記事をまとめるにあたっては、NotebookLMのように情報源を限定して参照できるツールを使い、ハルシネーションを抑えつつ構成しました。
AIの使い方を工夫したり、「本当に正しい情報なのか?」ということを工夫するのがAI時代において重要なことなのかもしれません。
参考文献