幻覚の検出設計 — 事後検証・自己整合性・参照解決の三段構え
生成モデルは、存在しない事実をもっともらしく述べることがある。この現象は幻覚(hallucination)と呼ばれ、流暢な文章の中に紛れ込むほど見抜きにくい。幻覚をゼロにする方法はまだない。だとすれば、実務の課題は「起きないようにする」ことよりも「起きたときに捕まえる」ことに移る。本稿では、幻覚を検出するための三つの層——事後検証・自己整合性・参照解決——を、費用対効果の観点から整理する。
なぜ幻覚は避けられないのか
Jiらの調査が整理するように、幻覚は生成モデルの学習と生成の仕組みに根ざしている。モデルは事実を検索しているのではなく、統計的にもっともらしい続きを生成している。そのため、学習データに存在しない、あるいは希薄な事柄について問われると、形式は正しいが内容は誤った出力を返しうる。流暢さは正しさの保証にならない。むしろ流暢な幻覚こそ、最も危険な種類の誤りである。
第一層 — 事後検証
最も直接的なのは、生成された主張を外部の一次情報と照合することだ。数値、固有名詞、日付といった検証可能な要素を抜き出し、信頼できる情報源に当てる。コストは高いが、確実性も高い。委任と検証のコスト構造で論じたとおり、事後検証は検証コストの主要な源であり、影響の大きい出力に絞って適用するのが合理的である。
第二層 — 自己整合性チェック
同じ問いを複数回、あるいは異なる言い回しで生成させ、答えが揺れるかを見る。事実に基づく主張は繰り返しても安定しやすく、幻覚は揺らぎやすい。この方法は外部情報を要しないため事後検証より安価だが、確実ではない。モデルが一貫して同じ誤りを述べる場合、揺らぎは検出されない。安定は正しさの必要条件ではあっても十分条件ではない。
第三層 — 参照解決
出力に参照元を併記させ、その参照が実在し、かつ主張を支持しているかを確かめる。存在しない文献をでっち上げる種類の幻覚は、参照解決で捕まえやすい。ただし、参照が実在しても主張と無関係だったり、参照の解釈が誤っていたりする場合がある。参照の存在確認と、参照が主張を支持するかの確認は、別の作業である。
層を重ねる — ただし選択的に
三層はコストと効果が異なるため、一律に適用するのは非効率だ。もっとも、影響の大きい出力には複数層を重ねる価値がある。キャリブレーションのとれた確信度があれば、低確信の出力に検証層を集中させ、高確信の出力は軽い層だけで流す、という配分ができる。検出設計は、幻覚をなくす設計ではなく、検証資源を最適に配る設計である。
結び
幻覚は、生成モデルと共に当面つきあい続ける制約である。防止に資源を注ぐより、検出の層を影響度に応じて重ねるほうが現実的だ。事後検証・自己整合性・参照解決は、それぞれ得意な幻覚の型が異なる。どの層を、どの出力に、どの深さで適用するか——その配分の設計こそが、生成モデルを実務で使う技術の中心にある。
参考文献
- Ji, Z., et al. “Survey of Hallucination in Natural Language Generation.” ACM Computing Surveys, 55(12), 2023. arXiv:2202.03629.
- Guo, C., et al. “On Calibration of Modern Neural Networks.” ICML, 2017. arXiv:1706.04599.