![見出し画像](https://assets.st-note.com/production/uploads/images/150263112/rectangle_large_type_2_c80411fa8366b6fc8ef71f45fbbc6791.jpeg?width=1200)
ネットリテラシーポメラニアン郁田はるきと学ぶ「LLMが見る幻覚(ハルシネーション)」
※この記事は2024/08/04時点での情報をもとに執筆しています。
![](https://assets.st-note.com/img/1722780785879-JHleQxJ0F1.jpg)
今日は大規模言語モデル(以下LLM)のハルシネーションという現象について解説していきますよ~
ハルシネーションとは
![](https://assets.st-note.com/img/1723200623758-Qa5oCZNUG4.jpg)
ハルシネーションとは、LLM(例えばChatGPTやGeminiなど)が事実に基づかない情報を生成してしまう現象のことです……
(注1)
例を見てみましょう!
誤りを含んだ情報
富士山の標高は4000mで、日本で一番大きな山です。
混乱した回答
質問:「日本で一番大きな山は?」
回答:「世界で一番大きな山はエベレストで、その標高は8848mです。」
このような出力をハルシネーションと呼びます!
ハルシネーションが起きる理由
![](https://assets.st-note.com/img/1722780910960-2JsARzCLEg.jpg)
ハルシネーションとLLMは今のところ切っても切り離せない関係なんです……
それはLLMが確率モデルであることが原因で、まずはそれを具体的に説明します!
例えば
入力:私はCoMETICの郁田
という文章をプロンプトとして与えたとき、LLMは確率に基づいて文章の続きを出力します。
つまり、
入力:わたしはCoMETICの郁田
生成①:わたしはCoMETICの郁田はるき
生成②:わたしはCoMETICの郁田はるきです
というイメージですね~
(注2)
この場合だと「わたしはCoMETICの郁田」の次に来る確率の高い単語は「はるき」で、その次に来る確率の高い単語は「です」だからこのように出力されるんですね~
![](https://assets.st-note.com/img/1722782029107-eu00KvUUO5.jpg)
では、次のような文章をプロンプトとして与えたらどうなるでしょう。
入力:わたしは朝、
このような入力に対しては、場合によって次のような出力が選択されます。
生成例①:わたしは朝、パンを食べました。
生成例②:わたしは朝、寝坊しました。
生成例③:わたしは朝、散歩しました。
なぜなら「わたしは朝、」の後に続く単語は様々な可能性が存在するからですねぇ~
ハルシネーションは確率モデルであるLLMの特性であり、プロンプトの曖昧性や学習データの誤りが原因で発生します。
対策
人手でのチェック
![](https://assets.st-note.com/img/1723204019539-3oM0kuGcjs.jpg)
一番原始的ですが、一番効果的だと思います!
ただし回数が増えるとかなり人的コストがかかるので、メールの作成など何度も繰り返さないような作業はこれでいいと思います〜
プロンプトの工夫
![](https://assets.st-note.com/img/1723205688299-YbcuN9KvMk.jpg)
LLMへの指示の出し方を工夫することによってハルシネーションの発生自体を少なくすることができますよ~
具体的な方法は以下の記事で紹介しているのでぜひ読んでみてくださいねぇ~
注釈
注1
正確には、ハルシネーションをどう定義するかは場合による。
この記事では、「現実世界で正しくない情報」をハルシネーションと定義している。
だが、例えば与えられた知識に基づいた会話において、与えられた知識から完全に推論できない情報をハルシネーションと定義することもある。(例え出力が現実世界で正しいものであっても)
注2
あくまでもイメージである。