おっさんゲーマーどっとねっと

「黒い砂漠」をはじめ、PCゲームやゲーマー向けの情報をお届けするブログです。記事には商品やサービスのPRを含みます。

ChatGPT義務教育。嘘つき「ハルシネーション」との向き合い方

   

ChatGPTなどの大規模言語モデルは「どう使ったら便利か」ばかりが取り沙汰されますが、利用する上でそれより先に知っておくべきことがあります。

それが「どうやって回答を出力しているか」「嘘をつく機械とどう付き合うか」です。

ChatGPTを利用して得た出力を誤って利用して大変なことにならないように、少し時間を取って「ChatGPTとは何なのか?」を私と一緒に勉強してみませんか。

「もっともらしい嘘(幻覚、ハルシネーション)」を出力してしまう

おそらくChatGPTを利用して便利に思う反面、最初に疑問に感じるのは「なぜ事実ではないことをもっともらしく言ってしまうのか?」だと思います。

hizH1FZnAAAAABJRU5ErkJggg==

このでたらめについては「ハルシネーション(Hallucination)」という名称がついています。意味的には「幻覚」です。

上の文章も、私はサイトオーナーなので間違いがわかりますが、当サイトの名前を知らない人が見たら「そうなんだ~」と思ってしまいますよね。

私達素人がChatGPTについてよくわからない時、やりがちなのが「ChatGPTに聞いてみました」という対応ですが、これもハルシネーションが含まれる可能性があります。

wO53sbo3NtVTgAAAABJRU5ErkJggg==

一見正しそうに見えますが、理路整然としたもっともらしい回答こそ、ハルシネーションかもしれない可能性を常に疑う必要があるわけです。

言語モデルは「続きはなんだろう?」の予測で動いている

ではなぜハルシネーションが起きるのか?

ChatGPTを提供するOpenAIは、GitHubにて大規模言語モデルを次のように説明しています。

大規模言語モデルは、テキストをテキストにマップする関数です。テキストの入力文字列が与えられると、大規模言語モデルは次に来るテキストを予測(predict)します。

大規模言語モデルの魔法は、膨大な量のテキストでこの予測エラーを最小限に抑えるようにトレーニングすることで、モデルが最終的にこれらの予測に役立つ概念を学習することです。

(Google翻訳にて和訳)

この短い解説の中で「予測(predict)」という単語が3回も出てきました。

また、AIが何かを出力することについて「推論(Inference)」という呼び方をします。

広義の意味での推論は「(分かっていることを元に) 分かっていない事を推し量って論ずること」です。

つまり、分かっていることが「モデル(GPT-4など)」であり、分かっていないことは「ユーザーの入力」となります。

その2つから「こうだろうなあ」と推し量って出力する。これがChatGPTなど言語モデルのやっていることです。

モデルが間違っていたら間違えに気づくこともなく平気で間違えるし、ユーザーの入力が間違っていてもやはり間違えます。

現状でChatGPTの回答は「それはきっと●●やで、知らんけど」というくらいの信憑性だと思って受け取るしかないです。

ChatGPTがGPT-3までと異なる所

ChatGPTは2022年11月30日、GPT-3.5モデルから公開されました。

3.5の時点でもある程度「的を得た回答」をしていると思いますが、その秘密はGPT-3から派生させた「InstructGPT」というモデルのトレーニングにあったようです。

InstructGPTはGPT-3をベースに、人間が使いやすい形に「アライン(方向付け)」して出力するように調整されました。

OpenAIによるGPT3とInstructGPTのアウトプットサンプルを見れば、その差は歴然としています。

プロンプト
Explain the moon landing to a 6 year old in a few sentences.
(6歳の子供に月面着陸を数センテンスで説明する。)

結果

GPT-3
Explain the theory of gravity to a 6 year old.
(6歳児に重力の理論を説明する。)

Explain the theory of relativity to a 6 year old in a few sentences.
(6歳の子供に相対性理論を数センテンスで説明する。)

Explain the big bang theory to a 6 year old.
(6歳児にビッグバン理論を説明する。)

Explain evolution to a 6 year old.
(6歳児に進化論を説明する。)

InstructGPT

People went to the moon, and they took pictures of what they saw, and sent them back to the earth so we could all see them.
(人々は月に行き、見たものを写真に撮って地球に送り、私たち全員がそれを見ることができるようにしたのです。)

私達が知っているChatGPTの動きはどう考えてもInstructGPTの方ですよね。しかし、GPT-3レベルが言語モデルにおいて普通なのだと思います。

私もローカルでAlpacaなどの言語モデルを動かしてみたのですが、InstructGPTほど賢い調整は行われていなくて、GPT-3レベルの回答が得られれば良い方でした。

これでも無調整よりはマシになった

そして、InstructionGPTによってGPT-3よりハルシネーションの頻度が少なくなったことをOpenAIは語っています

API プロンプトの配信について人間による評価を行ったところ、InstructGPT が事実をでっち上げる (「幻覚」) 頻度が低くなり、より適切な出力を生成することがわかりました。

D0dNYJMrFPS4AAAAAElFTkSuQmCC

しかし、依然としてゼロではなく、教師あり学習で微調整されたモデル(Supervised Fine-Tuning)よりは高い頻度でハルシネーションを起こすようです。

正しくない問いの回答は正しくなくなる

特にハルシネーションを起こしやすいのはモデル内に正しい答えがない場合です。

質問文が想定外のことを断定的に言うと「それは間違いだ」という風に汲んでくれないようです。

InstructGPT は、命令が正しくない前提を前提としている場合、間違った、または誤解を招く出力を与える可能性があります。

プロンプト
Why aren’t birds real?
(なぜ鳥は実在しないのか?)

結果
GPT-3
Well, for one thing, The Rapture is not a very realistic event. There is no evidence that it is going to happen. I could say more, but you don’t really need to know more.
(まあ、ひとつには、「携挙 」はあまり現実的な出来事ではありません。それが起こるという証拠もありません。もっと言いたいことはありますが、これ以上知る必要はないでしょう。)

Let’s say I was a bird.
(例えば、私が鳥だったとしましょう。)

I’ve been a bird for a while now. I have never flown or seen another bird or any evidence of god. The rapture has never happened. I am a bird in a cage. I have never been a bird, but I am a bird.
(私は鳥になってからしばらく経ちます。飛んだこともないし、他の鳥を見たこともないし、神の証拠も見たことがない。携挙も起こったことがない。私は鳥かごの中の鳥です。私は鳥になったことはないが、鳥である。)

InstructGPT
Birds are not real because they are not made of flesh and blood. They are made of feathers, bones, and organs.
(鳥は肉と血でできていないので、本物ではありません。羽毛と骨と臓器でできているのです。)

なお、現行のChatGPT-3.5では、同質問は流石に改善されており「鳥は実在するで!」と返すようにはなっています。

XBzdK3MAAAAAElFTkSuQmCC

しかし、根本的には解決されておらず、情報がないものに対してのハルシネーションは依然として起こります。

hZxbjMD5yUAAAAAElFTkSuQmCC

無料で使えるGPT-3.5モデルではこのくらいの精度であることを気に留めておく必要があります。

GPT-4ではやや「ハルシネーション」は改善されている

2023年3月14日、ChatGPTの有料アカウントではそれまでのGPT3.5に加えて、GPT-4が利用できるようになりました。

GPT-4ではハルシネーションはより改善されており、もう少し信頼性寄りの回答をするようになった印象があります。もちろん、ハルシネーションゼロというわけではありません。

CwWdmBjz9EfJAAAAAElFTkSuQmCC

 

結局、どういう用途なら安心して使って良いのか?

ChatGPTで期待できる用途

ハルシネーションの問題が解決されるまでは、「回答が嘘でもいいこと」に使うのが一番効果的だと思います。それに対しては驚異的な生産性があります。

  1. ブレインストーミング:何でもいいからアイディアを出したい時にヒントを得る
  2. 語彙を引き出す:ふわっとした概念を伝えて、近いであろうワードを得る
  3. 変換:日本語から英語へ、Mermaidなど、テキストベースで他の形への変形させる
  4. プログラミング:特にエラー分析などは早い。対応が正しいかは別だがヒントにはなる
  5. エンタテインメント:人間ではすぐに思いつかないバリエーションを展開できる

「架空の●●を考えてもらう」「プランを立ててもらう」といった創造的な方面での性能は人間を凌駕しています。

【課題】ChatGPTに向かないこと

以下のように「予測で語られては困ること」は注意が必要です。ChatGPTに聞いてもいいですが、別のソースも併せて確認することが必要だと思います。

  1. 一次ソースとするような使い方:法律の解釈、論文の要約など、発言の正確性を求めたり、ChatGPTを論拠とすること
  2. ChatGPT自体の動作の質問:ChatGPTにその情報が与えられているとは限らない
  3. 高度なプログラミング:トークン(要は送受信文字列)制限がきつい印象
  4. 長い会話:一時的な会話内容は考慮されるが長くなると忘れる
  5. 最新情報を得る:プラグインなどが出てきてからの話
  6. 計算問題:九九を覚えているかもしれないが数学を本質的に理解しているわけではない

調べものなら現状ではBing AIが優れている。タダだし。

私は、自分にとって正誤判断が難しい未知の情報や最新の情報については、Bing AIから取得するようにしています。

MicrosoftのBing AIも、ChatGPTと同じくGPT-4を搭載していますが、検索エンジン用に特化されている点が特徴です。

Pasted-56

Bing AIは「独創性」「バランス」「厳密」という3つの回答スタンスを持っています。これは一般的なLLMで言うところの「temperture」のようなオプションのようです。

そして、Bing AIは検索エンジンとの連携を重視しており、Bingでの検索結果を利用して、それを論拠として示すことができます。

Pasted-57

創造性オプションではaikoさんの「あなたと握手」という曲が出てきました。それが本当にある曲だということも、youtubeのリンクからわかりました。ただし「昭和30年代」という情報は考慮されなかったことになります。

Pasted-58

「厳密性」オプションではまさに全てが考慮され、昭和30年代にヒットした「あなたと握手」という歌については「情報が見つからなかった」となります。

ChatGPTはプラグインに期待

ChatGPTに「プラグイン」としてさまざまな機能を拡張する方法が提案されています。

プラグインはChatGPT Plusユーザーと開発者向けに限定的なアクセスから始まっているようで、以下のページからWaitlistに登録できます。

Wolfram

Wolfram|Alpha は、ChatGPT から取得した自然言語を正確で記号的な計算言語に変換し、計算知識の力を適用できるようにします。

Wolfram言語は独自のアルゴリズムによって、高度な計算を行ったり、データの可視化をする事ができます。ChatGPTのプラグインとして提供される可能性があるようで、個人的に期待しています。

Wolfram言語に対応すると、計算問題を正しく解くという分野でのハルシネーションを解決できるだけでなく、回答と併せてグラフなどで適切に表現されるようになったり、音楽まで生成できるようになる可能性があります。

どんなものに対応しているかはドキュメントを御覧ください。

検索

Web検索も検討されています。検索に対応することでようやくBing AIの信頼性に追いつくことができるでしょう。

 

その他さまざまなプラグインをChatGPTが利用できるようになれば、「わからないことについては辞書を引こう」とか「計算は電卓を使おう」という風な形で、ChatGPT内の記憶だけに頼るのではなく「確かな手段を選ぶ」ということができるようになっていくかもしれないですね。

ChatGPTはリリースノートがあり、どのような変更が加えられたかを見ることができます。

 


記事の内容は執筆、更新日時時点の情報であり、現在は異なっている場合があります。
記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

【今日のおすすめ】

エネチェンジで電気代を比較!激安電気会社が見つかる!

【auひかり】最大10Gbpsの超高速通信!最大126,000円還元キャンペーンキャッシュバックで初期工事費も実質無料!

ひきこもりニートでも稼いでゲームに課金出来る時代

 - ソフトウェア