AI・データ●●●○○

ハルシネーション

Hallucination ・ はるしねーしょん

LLMが根拠のない内容を、事実であるかのように流暢に生成してしまう現象。確率的な生成の原理から生じる。

✦ 30秒で試す — 航海自信満々の答えと、でたらめな答えは、見た目が同じ温度0で答えさせると、AIはどう答える?予想してみる

概要

ハルシネーション(幻覚)は、LLMが事実ではない内容を、あたかも事実であるかのように流暢に生成してしまう現象です。実在しない論文を出典として挙げる、存在しないAPIのメソッドを自信満々に提示する、架空の判例を引用する — 出力の文法も文体も完璧なだけに、読み手が誤りに気づきにくいのが厄介な点です。

生成AIを業務に組み込むうえで最大の落とし穴とされるのがこの現象です。検索エンジンは「見つからない」と答えられますが、LLMは問われれば何かしら「それらしい答え」を必ず生成してしまいます。弁護士がChatGPTの挙げた架空判例をそのまま裁判所に提出して制裁を受けた事件(2023年)は、この危うさを象徴する例としてよく引かれます。LLMを使うシステムの設計とは、ある意味で「ハルシネーションとどう付き合うかの設計」だと言っても過言ではありません。

なぜ生まれたか

ハルシネーションはバグや実装ミスではなく、LLM の動作原理そのものから生まれます。LLM は「事実のデータベース」ではなく、「直前までの文脈に続く、確率の高いトークンを選び続ける」確率的な文章生成器です。学習で身につけているのは「もっともらしい言葉の続け方」であって、「真である命題の一覧」ではありません。知識は膨大なパラメータの中に統計的なパターンとして溶け込んでいて、個々の事実を照合する参照表はどこにもないのです。だから、学習データにない事柄や、うろ覚えの事柄を聞かれても、モデルには「知らない」と止まる仕組みが本来備わっておらず、統計的にもっともらしい語の列 — つまり流暢な作り話 — を出力してしまいます。

この問題が広く知られたのは、2022年11月の ChatGPT 公開で、LLM が一般の人の手に渡ってからです。研究者の間ではそれ以前から知られていましたが、「何でも即答してくれる賢い AI」という体験が先に広まり、その回答が平然と間違うことが社会問題になりました。以来、根拠に基づいて答えさせる(grounding、接地)技術や、モデルの不確かさの扱いが、LLM の応用研究の中心テーマの1つになっています。

詳細

なぜ「知らない」と言えないのか

LLM の生成の過程を分解すると、ハルシネーションが起きる理由が見えてきます。モデルは各ステップで語彙全体に対する確率分布を計算し、そこから次のトークンを1つ選びます。「日本の首都は」の次に「東京」が選ばれるのは、学習データの中でその続き方が圧倒的に多かったからです。ところが「1987年のある無名企業の売上高は」のように、学習データにほとんど根拠のない問いでも、確率分布は必ず計算され、何かのトークンが選ばれます。数字らしい形をした、もっともらしい数字が。生成の仕組みの中には、「根拠のある続き」と「形だけ整った続き」を区別する工程がないのです。

よく学習された事実の質問「日本の首都は?」根拠の薄い質問「実在しない判例の詳細は?」確率的な次トークン予測根拠の有無を確かめる工程はない正しい回答「東京です」流暢な作り話(ハルシネーション)
ハルシネーションの構造 — 根拠の有無にかかわらず、生成の経路は同じ

確率が低いまま選ばれた語でも、文面にはその迷いが現れません。「売上高は12億円で、前年比12%の増収でした」という文は、最初の数字が当てずっぽうでも、その後の語は「前の語に自然に続く」ように選ばれるので、尾ひれまで含めて流暢に組み上がります。モデルの確信の度合いと、実際に正しい確率が一致していることをキャリブレーション(較正)と呼びますが、表に出る文章はいつも断定の口調なので、読み手は確信の低さに気づけません。OpenAI の GPT-4 の技術報告(2023年)は、事前学習だけのモデルは確信度と正答率がよく合っていたのに、人の好みに合わせる調整の後ではそのずれが大きくなったと報告しています。

RLHF などの調整や評価のやり方も影響します。人の評価者は「分かりません」より具体的な答えを高く評価しがちで、その報酬の構造が「とにかく答える」傾向を強めてきた面があります。2025年に OpenAI の Kalai らは、正解なら1点・それ以外は0点という採点のベンチマークでは、分からなくても当てずっぽうで答えるほうが得になり、それがハルシネーションを温存していると論じました。つまりハルシネーションは、確率的な生成という原理と、「答えること」への最適化の合わせ技で起きています。

下の部品で確かめてください。質問を選んで答えさせると、答えの肝の部分に来る語の確率が棒で出ます。根拠の薄い問いでは平らな棒からそれでも1本が選ばれ、断定の文になります。右の資料カードを文脈の枠へドラッグすると、分布が尖り、答えが資料の語に吸い寄せられます。古い資料を入れたときや、温度を 0 にしたときに何が起きるかも試してください。

⚡ 体験: 根拠を与えると、次の語の分布が変わる
質問
LLM に渡す文脈(プロンプト)資料 0 枚質問: ほしみ製作所の1987年の売上高は?← 右の資料カードをここへドラッグ(押しても入る)資料カード答えの肝の部分に来る語の確率(上位6候補。「分かりません」という候補はない)12億円19%40億円18%5億円17%21億円16%8億円16%3億円14%出力(温度 1: 確率どおりに引く)(まだ答えていません)社史(1988年刊)1987年度の売上高は21億円。前年とほぼ横ばい。個人ブログの記事ほしみ製作所は当時40億円規模だったらしい。業界団体の会員名簿会員企業の一覧(五十音順)。所在地と代表者名。
最上位の確率19%文面の口調いつも断定文脈の資料0 枚

「答えさせる」を押してください。モデルが知らないはずの質問でも、平らな確率の棒から1本が選ばれ、断定の文が組み上がります。次に、右の資料カードを文脈の枠へドラッグしてみてください。

緩和策 — 根拠を与え、根拠を示させる

完全な解決策はまだありませんが、実務で効果の確かめられた緩和策はいくつかあります。中心になる考え方が grounding — モデルの内部の記憶だけに頼らせず、信頼できる外部の情報を根拠として渡すことです。代表が RAG で、質問に関係する社内文書や最新情報を検索してプロンプトに添え、「この資料に基づいて答えて」と指示します。モデルは曖昧な記憶ではなく目の前の資料を言い換えるような生成をするので、事実の誤りが大きく減ります。さらに「どの資料のどこに基づくか」を出典として出させれば、人が確かめられるようになります。ただし部品で見たとおり、渡した資料が古ければ答えも古くなります。根拠の質が、答えの質の上限です。

プロンプトエンジニアリングによる緩和も効きます。「資料にない場合は分からないと答えて」と明示する、根拠の引用を必須にする、といった指示は誤答を減らします。生成時の温度(出力のランダムさ)を下げることは、答えの揺らぎを減らすのには役立ちますが、ハルシネーションそのものの対策ではありません。温度 0 は最上位の候補を毎回選ぶだけなので、根拠のない問いには、同じ作り話を毎回自信たっぷりに返します。システムの側では、別のモデルや検証ロジックで出力を照合するセルフチェックや、Function Calling で計算や検索を外部のツールに任せ、「モデルに暗算・暗記させない」設計が組み合わされます。

完全にはなくせない — 前提としての設計

これらを全部重ねても、ハルシネーションはゼロにはなりません。確率的な生成という原理を保つ限り、誤った生成の可能性は残ります。RAG でも、検索が外れれば無関係な資料から誤った答えを組み立てますし、正しい資料を渡しても読み違えることがあります。だから実務の設計方針は「排除」ではなく「封じ込め」です。誤りのコストが高い用途(医療・法務・金融など)では人のレビューを必須の工程に置く、出力をそのまま実行せず検証をはさむ、出典を示して利用者が確かめられるようにする。分散システムが「部品はいつか壊れる」ことを前提に組まれるように、LLM を組み込むシステムは「モデルはときどき、もっともらしく間違う」ことを前提に組み立てます。

試問

LLM に「うちの会社の出張の日当はいくら?」と聞く場面です。答えの肝の部分に来る語の確率が棒で表示され、「答えさせる」で1本が選ばれて回答の文になります。資料カード(2024年改定の出張旅費規程・2019年の旧規程・社員食堂のメニュー)は文脈の枠へ入れたり外したりでき、温度は 1(確率どおりに引く)と 0(いつも最上位を選ぶ)を切り替えられます。

✦ 命題挑戦中

「出張の日当はいくら?」に、温度 0 で、いまの規程どおりの 3,000円 を答えさせよ

  • 温度 0(いつも最上位を選ぶ)で答えさせた
  • 答えが、いまの規程どおりの 3,000円
⚡ 体験: 社内規程の日当を、正しく答えさせる
LLM に渡す文脈(プロンプト)資料 0 枚質問: うちの会社の出張の日当はいくら?← 右の資料カードをここへドラッグ(押しても入る)資料カード答えの肝の部分に来る語の確率(上位6候補。「分かりません」という候補はない)5,000円20%2,000円18%3,000円17%1,000円16%4,000円15%2,500円14%出力(温度 1: 確率どおりに引く)(まだ答えていません)出張旅費規程(2024年改定)第5条 日当は1日3,000円とする。旧規程(2019年版)第5条 日当は1日2,000円とする。社員食堂のメニュー今週の日替わりはカレーと焼き魚定食。
最上位の確率20%文面の口調いつも断定文脈の資料0 枚

「答えさせる」を押すと、答えの肝の部分に来る語が確率の棒から選ばれます。資料カードは、文脈の枠へドラッグ(または押す)と入り、もう一度押すと外れます。