近年のAI技術の進歩により、ChatGPTは人間のように自然な文章を生成できるようになりました。
しかし、時に「嘘をつく現象」が見られ、これを「ハルシネーション」と呼びます。
では、ChatGPTに嘘をつかせないためにはどうすれば良いのでしょうか?
この記事では、ハルシネーション対策として有効なプロンプトの使い方やファクトチェックの重要性など、具体的な方法を紹介します。
ChatGPTの嘘をつく現象(ハルシネーション)とは
ChatGPTなどの生成AIは、まるで人間のように自然な文章を作り出すことができます。
しかし、時には事実とは異なる情報や、存在しない情報を生成してしまうことがあり、これを「ハルシネーション」と呼びます。
日本語では「幻覚」という意味です。
以下は空手の型について質問した時の回答です。
スーパーリンペイは剛柔流という流派の型なのですが、ChatGPTの回答は「李小龍流」と回答しています。
ちなみに、李小龍とはブルース・リーのことで、そもそも空手に李小龍流という流派自体ありません。
このように、人間が実際には存在しないものを見てしまう幻覚と同じように、AIも実際にはありえない情報を、あたかも真実のように語ってしまうことから、ハルシネーション(幻覚)と呼ばれています。
特に文章や画像生成においてこの現象は顕著で、生成されたデータが現実と異なることで、情報としての正確さや信頼性を損なうという問題点があります。
例えば、実在しない書籍や論文をでっち上げてしまったり、歴史的な事実をねじ曲げてしまったりするケースなどが報告されています。
ChatGPTでなぜ嘘をつく現象が起きる?ハルシネーションの原因
ChatGPTが嘘をつく、つまりハルシネーションを起こす原因は、大きく分けて以下の3つが挙げられます。
ハルシネーションの原因①:正しい回答をする仕組みではない
ChatGPTは、膨大なデータの中から、質問に対して確率的に最も適切と思われる単語を繋ぎ合わせて文章を生成しています。
つまり、ChatGPTはあくまでも、文脈に合った自然な文章を作成することに長けているだけであり、その内容の真偽を判断しているわけではありません。
そのため、一見すると正しそうに見える文章の中に、実は間違いや嘘が紛れ込んでいる可能性もあるのです。
ChatGPTは文章を一から作り出すのではなく、膨大なデータの中から、確率的に正しそうな文章を生成しているという点を理解することが重要です。
ハルシネーションの原因②:学習データの鮮度と質
ChatGPTの回答は、過去の膨大な学習データに基づいて生成されます。しかし、この学習データが最新の情報でない場合や、偏った情報を含む場合には、正確性に欠ける回答が生成される可能性があります。
例えば、2022年1月までのデータで学習したGPT-3.5では、それ以降に起こった出来事については正しい情報を持っているとは言えません。
GPT-4やGPT-4oでは2023年12月までのデータで学習していますが、それでも直近で起こった最新の情報に関しては回答できません。
例えば、2024年6月にKADOKAWAは大規模なサイバー攻撃を受けサービス停止に追い込まれました。
出版大手のKADOKAWAが大規模なサイバー攻撃を受けた。ランサムウエアによって複数サーバーのデータが暗号化。子会社のドワンゴが運営する「ニコニコ動画」などがサービス停止に追い込まれた。KADOKAWAの業務サーバーも使えなくなり、業務に影響が出た。取引先や従業員の情報漏洩も確認されている。
出典:日経クロステック(xTECH)
しかし、ChatGPTは最新情報を持っていないため、以下のようにデタラメな回答をしてきます。
また、学習データに偏りがある場合、特定の属性や事例に偏った情報が生成される可能性もあります。
例えば、特定の人物に関する情報が学習データに不足している場合、その人物に関する質問に対しては、不正確な回答が生成される可能性が高くなります。
2024年7月7日に東京都知事選がありましたが、その立候補者の1人である三輪陽一さんについて質問してみました。
しかし、この方は経済学者ではありませんし、同姓同名の経済学者がいるわけでもありません。
学習データが少ないため、間違った回答をしています。
このように、学習データの内容や質によって、ChatGPTの回答の精度は大きく左右されるのです。
ハルシネーションの原因③:得意分野と苦手分野がある
ChatGPTは文章の読解や生成を得意とする一方、計算などの分野は苦手としています。
これは、複雑な計算処理を行うには、より高度な言語モデルが必要となるためです。
ChatGPTはあくまでも文章生成を得意とするAIであり、計算問題を正確に解くようには設計されていません。
例えば、4桁×4桁の計算をさせるとかなりの確率で間違えます。
9850×7250の計算式ですが、電卓で計算すると答えは「71,412,500」となりますが、ChatGPTだと「71,487,500」と回答してきます。
ただ、GPT-4以降は計算能力がかなり向上しており、同じ計算をさせても正しい回答をしてくれます。
より複雑な計算の場合は、計算式や途中経過を明確に提示することで、ChatGPTがより正確な答えを導き出せる場合があります。
また、Googleが開発した対話型AIであるGemini(旧Bard)は、開発段階で計算に関するプログラムが組み込まれているため、計算問題に強いという特徴があります。
ChatGPTのハルシネーション対策
ここからは、ChatGPTの嘘、つまりハルシネーションへの対処法について解説していきます。
ChatGPTを効果的に活用するためにも、以下の点に注意するようにしましょう。
ハルシネーション対策①:ファクトチェックの実施
ChatGPTの出力は、必ずしも正確な情報であるとは限りません。
そのため、ChatGPTが生成した情報は鵜呑みにせず、必ずファクトチェック(事実確認)を行うようにしましょう。
特に、ニュース記事、学術研究、公共の情報提供など、正確性が求められる分野においては、ファクトチェックは非常に重要です。
ChatGPT-3.5は2022年1月(公表値は2021年9月)までのデータで学習しているため、それ以降の最新情報は反映されていません。
特に新しい情報や専門性の高い情報については、信頼できる情報源を用いて、裏付けを取るように心がけましょう。
重要な意思決定に関わる情報や専門性の高い情報については、ChatGPTだけでなく、他の資料や専門家の意見も参考にするようにしましょう。
ハルシネーション対策②:RAGの利用
RAG(Retrieval Augmented Generation)とは、ChatGPTが、まるでインターネットやデータベースを検索するように、外部から必要な情報を取得できるようにする技術です。
従来のChatGPTは、学習データに含まれていない最新の情報や専門的な知識については、正確に答えることができませんでした。
しかし、RAGを活用することで、より広範な情報源から回答を生成できるようになるため、ハルシネーション(もっともらしい嘘)のリスクを軽減し、より正確で専門的な回答を提供することが期待されています。
具体的にRAGの流れを説明すると、ユーザーがChatGPTに質問を入力すると、まずその質問内容に関連性の高い情報を探し出します。
これは、膨大な情報を格納したデータベースや、最新の情報を常に取得する検索エンジンなどを活用して行われます。
次に、見つけ出した情報と、ユーザーの質問文を組み合わせ、ChatGPTが理解しやすい形に加工します。
最後に、ChatGPTはこの加工された情報に基づいて、より正確で詳細な回答を生成するのです。
実装方法の詳細は開発者によって異なりますが、このように、RAGはChatGPTがより多くの情報を扱えるようにするための技術と言えるでしょう。
ハルシネーション対策③:WEBブラウジング機能の活用
ChatGPT Plusに加入すると利用できるようになる「Webブラウジング機能」も、ハルシネーション対策として有効です。
この機能を使うと、ChatGPTはインターネット上の最新情報にアクセスできるようになり、より正確で最新の情報を反映した回答を生成できるようになります。
具体的な機能としては、キーワード検索、ウェブページの閲覧、最新ニュースや天気予報などのリアルタイム情報の取得などが可能です。
2024年7月7日に行われた東京都知事選の開票結果をChatGPT-4oに聞くと、自発的にWEBブラウジングし最新情報を取得して回答してくれました。
参照元が海外サイトだったため最初は英語で出力されてしまいましたが、情報自体は正しいです。
以下はNHKの選挙特設ページから一部引用させていただきますが、情報が正しいことが確認できます。
このように、Webブラウジング機能を活用することで、ChatGPTの回答の精度を大幅に向上させることができます。
ChatGPTに嘘をつかせないプロンプト
LLM(大規模言語モデル)は、人間が与えるプロンプト(質問文や指示)に基づいて回答を生成します。
そして、このプロンプトの質によって、LLMの回答精度は大きく変化します。
ChatGPTを使う上で、ハルシネーションを防ぐための具体的なプロンプトを紹介します。
回答を制限したり情報源を開示させたり具体的に指示する
ChatGPTのパフォーマンスを最大限に引き出すためのプロンプト構築技術は「プロンプトエンジニアリング」と呼ばれ、ハルシネーション(もっともらしい嘘)の抑制にも一定の効果を発揮します。
効果的なプロンプトを作成するには、いくつか重要な点を押さえる必要があります。
まず、ChatGPTに対して、常に事実に基づいた回答を求めることが重要です。
例えば、情報源の開示を求めるという方法があり、「引用元を明記して」といった指示により、回答の根拠が明確になり、情報の信頼性を判断しやすくなるでしょう。
ほかにも、特定の分野に関する誤情報を頻繁に生成してしまう場合には、「〇〇についての情報は提示しないでください」とプロンプトで指示することで、その分野の情報提供自体を制限することが可能です。
ChatGPTに深呼吸をさせる
Google DeepMindの研究では、「深呼吸をして、この問題に一歩ずつ取り組もう」という言葉をプロンプトに加えるだけで、LLMの数学の問題における正答率が34%から80%にまで向上したという結果が出ています。
興味深いことに、この最新の研究で、DeepMind の研究者は、Google の PaLM 2 言語モデルで使用した場合、「深呼吸して、この問題に段階的に取り組んでください」が最も効果的なプロンプトであることを発見しました。このフレーズは、小学校の算数の文章題のデータセットであるGSM8Kに対するテストで 80.2 パーセントという最高の精度スコアを達成しました。比較すると、特別なプロンプトなしの PaLM 2 は、GSM8K で 34 パーセントの精度しか獲得できず、従来の「段階的に考えてみましょう」というプロンプトは 71.8 パーセントの精度を獲得しました。
出典:Ars Technica
まとめ
近年のAI技術の進歩により、ChatGPTは人間のように自然な文章を生成できるようになりましたが、時には「ハルシネーション」と呼ばれる嘘をつく現象が見られます。
これは、ChatGPTが膨大なデータから確率的に文章を生成しており、内容の真偽を判断していないことが原因です。
ハルシネーション対策としては、ファクトチェックの実施、情報源を明記させるプロンプトの利用、WEBブラウジング機能の活用などが有効です。
また、ChatGPTは最新情報や専門知識に弱いという点を理解し、情報源や専門家の意見も参考にしながら利用することが重要です。