解説:生成AIのハルシネーションはなぜ起きるのか
大規模言語モデルが「ハルシネーション(幻覚)」を生成することはよく知られている。ただ、その仕組みから明らかのように、LLMの出力は本質的にはすべてハルシネーションであり、間違いが発覚したものがそう呼ばれているだけだ。 by Will Douglas Heaven2024.06.24
- この記事の3つのポイント
-
- チャットボットは間違った情報を提供することがある
- 大規模言語モデルは統計的確率に基づいてテキストを生成する
- ハルシネーションを完全に防ぐことは不可能である
2024年4月2日、世界保健機関(WHO)の新しいチャットボットが「善意の意図」の下にリリースされた。
リリースされたのは、「GPT-3.5」が搭載された新顔のバーチャル・アバター「サラ(SARAH:Smart AI Resource Assistant for Health)」だ。サラは、世界中の何百万人もの人々に対し、健康的な食事、禁煙、ストレス解消といった健康に関するアドバイスを、8カ国言語で24時間、年中無休で提供する。
しかし、他のすべてのチャットボットと同様、サラも回答を間違えることがある。サラが間違った情報を提供していることはすぐに判明した。あるケースでは、存在しないサンフランシスコのクリニックの名前と住所の偽リストを作成した。WHOは「サラの情報が常に正確であるとは限りません」という警告文をWebサイトに記載した。
これはよくある失敗の一つにすぎない。「チャットボットの失敗」は、今ではおなじみのミームだ。短命に終わったメタ(Meta)の科学チャットボット「ギャラクティカ(Galactica)」は、学術論文をでっち上げ、宇宙クマの歴史に関するウィキペディアの記事を作成した。エア・カナダ(Air Canada)は2月、カスタマーサービス・チャットボットが考案した返金ポリシーを尊重するよう命じられた。ある弁護士は昨年、チャットGPT(ChatGPT)がでっち上げた偽の判決理由や判例が詰まった裁判資料を提出し、罰金を科された。
問題は、大規模言語モデルが非常に優れているため、でっち上げの内容がほとんどの場合、正しく見えてしまうことだ。そのせいで、回答を信頼することが困難になっている。
この「でっち上げ(ハルシネーション=幻覚と呼ばれる)」は、チャットボットの普及を妨げる最大の障害となっている。なぜチャットボットはでっち上げをするのだろうか。そして、なぜ、でっち上げをしないように直せないのだろうか。
マジック8ボール
大規模言語モデル(LLM)がハルシネーションを生成する理由を理解するには、大規模言語モデルの仕組みを知る必要がある。まず注目すべきは、大規模言語モデルはまさに「話を作り上げる」ことを目的として設計されたという点だ。チャットボットに質問すると、チャットボットは搭載されている大規模言語モデルから回答を引き出そうとする。しかし、それはデータベースで情報を検索したり、Webで検索エンジンを使用したりしているのではない。
大規模言語モデルの中身を覗いても、取得途中の既製情報は見つからない。その代わりに、数十億もの数字が見つかるだろう。大規模言語モデルはこれらの数字を使用して回答をゼロから計算し、新たな単語の並び(シーケンス)をその場で生成しているのだ。大規模言語モデルが生成したテキストの多くは、データベースや実際のWebページからコピー&ペーストした内容のように見える。しかし、大半のフィクション作品と同じく、そのような類似点が見られるのは偶然の一致にすぎない。大規模言語モデルは、百科事典というよりも、無限に続く「マジック8ボール」(占いゲームの一種)のようなものだ。
大規模言語モデルは、シーケンス内で次に来る単語を予測することでテキストを生成する。たとえば「the cat sat」という文章を見たら、次に「on」が来ると推測するかもしれない。この新しいシーケンスはモデルにフィードバックされる。その次は「the」が来ると推測するかもしれない。そのまた次には「mat」と推測するかもしれない。このようにして文章を作っていくのだ。この1つの方法だけで、アマゾンのリストから俳句、ファンフィクション、コンピューターコード、雑誌記事など、考え得るほぼすべての種類のテキストを生成できる。コンピューター科学者であり、オープンAIの共同創設者でもあるアンドレイ・カルパシーは、「大規模言語モデルは、インターネット・ドキュメントを夢見るようになるでしょう」と説明する。
大規模言語モデル内の数十億の数字を、「特定単語がその他の特定単語と一緒に表示される統計的確率をキャプチャする巨大なスプレッドシート」のようなものだと考えてほしい。スプレッドシートの値は、モデルを訓練する際に設定されるが、訓練のプロセスにおいて、モデルの推測に、インターネットから取得されたテラバイト単位のテキスト全体で見つかった言語パターンが反映されるようになるまで値が何度も調整される。
単語を推測する時、モデルは単に数字を使用している。語彙内の各単語のスコアを計算し、再生中のシーケンスでその単語が次に来る可能性を反映させる。そしてスコアが最も高い単語を残す。つまり、大規模言語モデルとは、ハンドルを回すと単語が飛び出してくる統計的なスロットマシンなのだ。
すべてがハルシネーション
ポイントは、すべてがハルシネーションであるということだ。ただし、間違いが発見された時にのみ、そう呼ばれているにすぎない。問題は、大規模言語モデルが非常に優れているため、でっち上げの内容がほとんどの場合、正しく見えてしまうことだ。そのせいで、回答を信頼することが困難になっている。
大規模言語モデルが生成する内容を制御すれば、正確性が保証されたテキストを生成するようになるだろうか。大規模言語モデルは、数値を手作業で調整するには複雑すぎる。しかし一部の研究者は、さらに多くのテキストを用いてモデルを訓練することで、エラー率を低下させ続けることができると考えている。これは、大規模言語モデルの規模が増すにつれて見られた傾向でもある。
あるいは、作業を進行するたびに作業をチェックするようモデルに依頼し、回答を段階的に解析するというアプローチもある。この方法は「思考連鎖プロンプティング」と呼ばれ、チャットボットの出力の正確さを高められることが立証されている。今はまだ不可能だが、大規模言語モデルは将来的には、生成テキストの事実確認をして、軌道から外れ始めた場合はやり直すことも出来るようになるかもしれない。
しかし、どのような手法をもってしても、ハルシネーションを完全に防ぐことはできない。大規模言語モデルが確率的性質をもっている限り、生成内容には偶然的な要素が存在する。例えば、100個のサイコロを振るとあるパターンが得られる。もう一回振ると別のパターンが得られる。大規模言語モデルのように、サイコロのあるパターンを他のパターンよりはるかに多く生成するよう重み付けをしたとしても、毎回同じ結果になることはない。結果の1000回、あるいは10万回に1回、エラーが含まれるとしても、大規模言語モデルが1日何回使用されるかを考えると、エラーの数は膨大になる。
モデルの正確性が高まれば高まるほど、我々は警戒を緩めるだろう。研究によると、チャットボットが高性能になればなるほど、エラー発生時に人々がそれを見逃す可能性は高くなる。
恐らくハルシネーションに対する最善の解決策は、これらのツールの用途に関する期待値を管理することだろう。チャットGPTを使用して偽文書を作成した弁護士は、説明を求められた際、何が起こったのか、誰よりも驚いている様子だった。「この新しいサイトのことを、スーパー検索エンジンのようなものだと誤解していました」と、弁護士は裁判官に述べた。「チャットGPTが事件を捏造できるとは思ってもいませんでした」。
- 人気の記事ランキング
-
- These AI Minecraft characters did weirdly human stuff all on their own マイクラ内に「AI文明」、 1000体のエージェントが 仕事、宗教、税制まで作った
- Promotion MITTR Emerging Technology Nite #31 MITTR主催「再考ゲーミフィケーション」開催のご案内
- The startup trying to turn the web into a database Webをデータベースに変える、新発想のLLM検索エンジン
- 3 things that didn’t make the 10 Breakthrough Technologies of 2025 list 2025年版「世界を変える10大技術」から漏れた候補3つ
- OpenAI’s new defense contract completes its military pivot オープンAIが防衛進出、「軍事利用禁止」から一転
- ウィル・ダグラス・ヘブン [Will Douglas Heaven]米国版 AI担当上級編集者
- AI担当上級編集者として、新研究や新トレンド、その背後にいる人々を取材しています。前職では、テクノロジーと政治に関するBBCのWebサイト「フューチャー・ナウ(Future Now)」の創刊編集長、ニュー・サイエンティスト(New Scientist)誌のテクノロジー統括編集長を務めていました。インペリアル・カレッジ・ロンドンでコンピュータサイエンスの博士号を取得しており、ロボット制御についての知識があります。