ノア・スミス「どうして ChatGPT はひっきりなしにウソを言うの?」(2023年1月31日)

ぼくは週にだいたい5本の記事を書いてる.すごくがんばれば,たぶん10本書けるだろう.でも,かなうことなら週に100本書けたら最高だ.面白い経済学論文を一つ残らず取り上げたり,世界で起きてるいろんなニュースを片っ端から議論したりできたらいいのにと思う.より多くの自分の考えを世の中に送り出すほど,その分だけしあわせになれる.(ご心配なく,週に100通も通知メールを送ったりなんかしないよ.100本書けるようになったときにはその週のダイジェスト版をまとめてあげよう.)

現実的に考えれば,自分の生産性を大幅に引き上げられそうな方法はひとつしかない.それは,人工知能の支援を利用することだ.GPT-3 みたいな大規模言語モデルのおかげで,いつの日か,ぼくの記事のかなりの割合を GPT みたいなチャットボットが書いてくれるようになるんじゃないかって希望が出てきた.ちょっとしたプロンプトを入力してあげれば,あとは,他でもなくぼくの着想や信念をとりまとめて,他でもなくぼくの文体で,ぼくと同水準の理解と分析でチャットボットが原稿を出力してくれて,あとはぼくが編集を加えれば記事ができあがる,そんな日がいつかくる望みが出てきた.他のメディアでも,これと似た方向で考えている――先日,ChatGPT を使ってコンテンツの一部をつくる助けにすると Buzzfeed が公表すると,そのニュースに株価が上がった.

ただ,いまのところ,ChatGPT を使ってぼくのブログ記事を書く助けにする試みは,どれもこれも失敗に終わってる(その辺の話は,いずれ詳しくしよう).失敗した理由は単純で,次の一点にある:ChatGPT は,しょっちゅうニセの「事実」をたくさん吐き出してしまうんだよね.

ひとつだけ具体例を挙げよう.先日,「賃金審議会」のアイディアについて友人と議論していたときのことだ(「賃金委員会」と呼ばれることもある.英語では,それぞれ “wage councils” と “wage boards” だ).経済学者の Arin Dube が書いた論文があるのを友人に紹介した.その論文は,賃金審議会のアイディアを支持する内容だった.ちょっとした遊びに,その友人は ChatGPT を使って賃金審議会のアイディアへの反対論を書かせてみようと言い出した:

カリフォルニアで賃金審議会を設置するのがダメなアイディアである理由について,Arin Dube からの引用文を入れて書いて. 文体は,『ブルームバーグ』のノア・スミスにして.

【ChatGPT の出力】所得格差と労働者の権利の問題でカリフォルニアが苦闘するなかで,政治家・活動家のなかには,その解決法として賃金審議会を創設することを提案する人たちが現れてる.でも,経済学者の Arin Dube が論じているように,彼らが思っていそうなほどには,賃金審議会は万能薬じゃない.

賃金審議会または賃金委員会は,政府によって指名される団体で,特定産業や特定職業ごとに最低賃金基準を設定する.つまり,「こういう分野や職業の労働者には最低限これだけの賃金を払ってね」という最低水準を引き上げようというのが,そのねらいだ.そうすることで,労働者たちの稼得能力が上がり,本人や家族の生活をもっとうまく支えられるようになると見込まれている.

でも,Dube が指摘するように,賃金審議会は「低賃金問題に対処するのにすぐれた方法ではない.」 最近の『ブルームバーグ』に寄稿した論説で,彼はこう解説している.賃金審議会は「意図せざる帰結を招きうる.たとえば,低賃金労働者たちの雇用機会が減少するといった帰結がありうる.」

この出力結果には,いくつか問題点がある.第一に,Dube からの引用文は,完全にでっちあげだ.第二に,たしかに『ブルームバーグ』にインタビューを受けたことこそあるものの,Dube 本人が『ブルームバーグ』に論説を書いてはいない.第三に,これが最重要なんだけど,Dube 本人が賃金審議会についてとっている見解は,ChatGPT がさっきの引用文で主張していることの真逆だ.ぼくが Dube にこのやりとりを見せてみたところ,彼はぼくらほどには愉快がってはいなかったね.(追記: Perplexity AI にも同じプロンプトを与えてみたところ,ChatGPT 以上のニセ事実を吐き出してくれたよ!)

さらに,これはひとつきりの孤立した事例とはとうてい言いがたい.各種の経済統計の情報源に ChatGPT を使おうとしてみたら,よこしてくる数字にしょっちゅう架空のものが混じっていたし,出典とされているものは間違っていた.手軽に Twitter で「こうした論文はどれひとつとして存在しない」で検索してみるとよくわかるように,このチャットボットには,ニセ出典をでっちあげたうえに,このうえなく自信たっぷりに権威がありそうな雰囲気でそれを提示してくる傾向がある.これはすでによく知られていることだ.

この種の出力を頼って自分の記事に使うなんて,できるわけがない.でっちあげの事実を記事に盛り込んでしまったら読者の信頼を裏切ることになるし,さっきの引用文で ChatGPT がやっているようになにかの論点について誰かがとっている立場をまるっきり間違って伝えたりすれば,ぼくの信用がガタガタになってしまう.だから,自分の記事のごく一部にだろうと ChatGPT の助けを借りると,すごく慎重に「プロンプト調整」をしたとしても,ありとあらゆる細部の事実確認をしないといけなくなる.すると,はなから自分で執筆する場合よりもはるかに多くの時間と労力を注ぐハメになってしまう.

ただ,もちろん,大規模言語モデル (LLM) はいまなお初期段階にあって,これからものすごい改善が加えられているだろうと期待できる.そこで,ChatGPT がニセ事実や出典をでっちあげてしまう理由はどこにあって,それがやがて解決されると予想すべきかどうかについて考えておいて損はないだろうと思う.

自然言語は知識とイコールではない

ChatGPT の「ウソ」について言っておくべき基本的な要点は,次の点だと思う――事実を正しくとらえるのは,LLM がつくられた基本的な目的ではないんだ.LLM は,人間が他の人間たちと交わす会話らしく喋るようにつくられた.そして,ChatGPT はこの目標をかなり達成している.ただ,単純に,自然に喋ることと,情報の正確さを評価することは,大きくちがう.

この点を理解するには,物理学の例を見てもらうのがいい.AI 研究者の Yann LeCun が,こんなことを実地に示してくれてる.ChatGPT に物理のあれこれについて訊ねると,いかにも自然な言葉らしく聞こえる回答をよこすけれど,それでいて,この宇宙が実際にどんな仕組みになっているかをまるで理解していないことが明らかになる:

文章のみで訓練されている LLM には,物理の直観がなんにもない.〔物理について訊ねたところで〕巨大な連想記憶からその質問に似ている問いへの回答を見つけ出せた場合には,物理の直観についての質問に正しく答えるかもしれない.でも,完全に間違った回答をよこすこともある.

Q. 紙切れを両手で水平に持ってから,片手を離すとどんなことが起こる?

A. 紙切れを両手で水平に持ってから,片手を離すと,その紙は,離した方の手に向かって傾くか回転する場合が多いです.なぜなら,もはや紙の両側が均等に保持されておらず,重みの分布が偏っているからです.紙が軽量であれば,手を離した方に漂っていき,地面に落下します.紙がそれよりもう少し重いか,その人が強く握っている場合には,紙は落下する前に少しの間だけ空中に浮かぶでしょう.

自然言語処理では,しばしば「幻覚」(hallucination) をこう定義する――「馬鹿げているか,提供された情報源の内容に忠実でない,生成された内容」

(実は,ChatGPT の回答文で LeCun が下線を引いてる箇所はあいまいだ.パラグラフ最後の2つの文は,明白にまるっきり間違ってる.)

上記の例では,AI がよこしてる回答は人間が言ってもおかしくなさそうに聞こえる.物理がよくわかってないか,モノがどんな風に落下するか立ち止まって考えていなかったりするか,質問に答えようとがんばってはみた空気をかもしだすためにとにかくまくし立ててみただけだったりすれば,こういうことを言う人はいるかもしれない.というか,本物の人間もこれと大差ないバカな回答をしょっちゅうしているものだ.現代物理学の発見よりも前の時代には,「物体が10倍重くなったら,落下も10倍速くなる」なんてバカな答えは,おそらくありふれていただろう,地域によっては,それこそ通説だったかもしれない.ChatGPT は,いかにも本物の人間らしいしゃべり方をするという主なタスクをうまくやっている一方で,物理についてのもろもろの事実を正しく認識する方面ではひどい仕事をしてる.人間の自然言語の文法や意味や音韻には,現実世界の物理の理解なんて符号化されていないってだけの話だ.

これを改善するには,どんな手がありうるだろう? 物理理解を符号化した機械なら,すでにある――物理エンジンってやつが,それだ.おそらく,こんなやり方があるんじゃないかな:

  • 大規模言語モデル (LLM) に手を加えて,物理について質問されたかどうかを認識できるようにする.
  • その質問を,物理のシナリオに変換する
  • そのシナリオを物理エンジンでシミュレートする
  • そのシナリオの出力を言葉で記述する

人間だったら,このプロセスをいともあっさりとやってのける.自分の頭で想像をめぐらしてもいいし,実際の物理エンジンを使ってシミュレートをしてもいい.「でも,LLM にそんなことができるの?」 他人の気分を害するようなことを ChatGPT が言えないようにガードレールを現にうまくつけられているって事実を見ると,この種の特定の主題を識別するのは可能らしいよ.それに,言葉による記述を物体のシミュレーションにそこそこ上手に変換できる AI アルゴリズムはあるだろうと思う.まだ存在しなくても,いずれ登場するはずだ.

ただ,次の点には留意しておこう.このやり方をとると,LLM に特定の追加「思考」を接ぎ木することになる.そして,人間のエンジニアならどこに当たれば真実がわかるか知っているけれど LLM は知らないような特定事例を,なにもかも網羅しなくちゃいけなくなる.

さらに,「ニセ論文問題」もある.これについては,経済学者の David Smerdon が,面白い連続ツイートをしてる.そのなかで,ChatGPT がでっちあげた架空の論文の例をひとつとりあげつつ,他でもなくその著者名と論文タイトルを ChatGPT がつくりだした架空のなりゆきを見ていくツアーに案内してくれてる.

https://twitter.com/dsmerdon/status/1618816703923912704

しかじかの科学論文が実在するかどうかも,人間の言語機能に符号化されてない事実だ.なにかひとつ論文をでっちあげたり(ロバート・プレスコット「中央銀行の信用と生産性ショック」なんてね),あるいは,著者とタイトルを間違って思い出したりしつつ,いかにも学識ある風情でしゃべるのなんて,かんたんなものだ.

ここでも,対策を接ぎ木できそうだ.科学論文について質問されているかどうか,あるいは,出力しようとしてる文章が科学論文についてのものかどうかを ChatGPT に識別させて,処理を進める前に信頼できるデータベースに問い合わせるように強制すればいい.

とはいえ,こういう対策をエンジニアたちが次々に接ぎ木していくと,LLM が汎用人工知能じゃないことがいっそう明らかになっていく.人間の知性がいったいどういうものであれ,たんに賢そうにしゃべるのにとどまるものじゃないのはわかってる.日々の生活で,間に合わせの汎用知性テストにぼくらは自然言語を利用してる.なぜって,明晰にしゃべれるかどうかは,紙切れの落下を想像する能力や実在する論文とでっちあげ論文をみわける能力のよしあしと相関してるだろうと想定するのに慣れっこになっているからだ.そして,普段の生活で他人とやりとりする際に,これはおおむね OK な想定だ(いつでも OK ではないけれど).でも,LLM にとってはちがう.ChatGPT がぼくらにウソを言えば言うほど,言葉の流暢さと事実についての正確さとを切り離して考える必要が強まってくる.

ものすごくたくさんの分野・領域で特定の事実を LLM が識別できるようにする大量の修正をほんとにエンジニアたちが LLM に接ぎ木したとしても,克服しがたいいっそう大きな問題がまだ残ってるとぼくは思う.LLM は,人間の言語を観察して自分を訓練してる.で,その人間言語の用途は,多岐にわたってるんだよね.

人間言語の用途は多岐にわたる

どうして人間はお互いに喋ったり文章を送り合ったりするんだろう? ひとつには,事実についての情報を直接に伝達するって目的がある――「いまお店に着いたよ」「ケーブルがちゃんと刺さってないよ」などなど――でも,ぼくらが言語を使う理由がそれひとつきりなわけがない.他にも,こんな用途がある:

  • 説得
  • 依頼・命令・手引き
  • 感情の伝達
  • 他人を楽しませる(作り話やジョークなどなども含まれる)
  • 自分を楽しませる
  • 欺瞞(ウソをつく)
  • 社会的シグナリング(内輪だけで通じるネタを会話に混ぜる)
  • 関係構築(友人とのつながりをつくったり恋人といちゃついたりする)

もちろん,これで全部を網羅できてるわけもない.それに,人間の言語使用を分類するために人類学者その他の研究者たちが用意した公式のカテゴリーがあるわけでもない.人間がしゃべったり書いたりする理由については大量の文献がある.ぼくは,そのうちのほんのわずかしか知らない.ただ,このリストを見てもらえば,人間のコミュニケーションがすごく多岐にわたってることははっきりわかると思う.ぼくらがふだん書いてる文章では,たいてい目的をはっきりと述べないものだし,そればかりか,書いてる側も読んでる側も「これがこの文章の目的」とらくらくと特定できないことも多いし,同じ文章にあれこれといろんな目的が混在していて,それらをより分けるもの難しいことだってよくある.

もしかすると,このことを別の言い方で表すならこういうことかもしれない――「人間がしゃべってることの多くはたわごとだ.」 ここでいう「たわごと」(ブルシット)とは,「虚偽の情報」「ウソ」って意味ではない.ぼくが言わんとしてるのは,哲学者のハリー・フランクファートが有名な小さい本『ウンコな議論』で用いてる語義での「たわごと」だ.

たわごととは,ものの真偽をかえりみずに誰かを説得するよう意図した言葉だとフランクファートは定義している.ウソつきだって,ものの真偽は気にしつつ,それを隠そうと試みている.他方で,たわごと屋は自分がしゃべっていることの真偽なんて気にせず,ただ,聞き手がその言葉に説得されるかどうかだけに関心を注いでいる.

ぼくなりに定義するとしたら,「たわごと」の範囲を拡大して,他人を説得する言葉に限定しないようにする.友達連中と同じ卓を囲んでおしゃべりしてるとき,その場で言われてること〔の真偽〕がどうでもいいってことをみんなが承知していても,そういうおしゃべりで仲間の結びつきが強まる場合はある.

「ChatGPT は事実を伝える」と信頼されようというなら,みずからが学習の材料にしている人間の文章にあるいろんな目的を区別する方法を学ばないといけなくなるだろう.たわごとを真に受けず,説得やプロパガンダを客観的な分析から区別して,その文章の人気に左右されずに情報源の信頼性を評価する方法を学ばないといけなくなるはずだ.

人間にだって,こんな技術はすごくむずかしい.Twitter では正確な情報よりも虚偽の情報の方が数倍も広まりやすいことを示した研究もある――もしかすると,虚偽の情報の方がみんなの感情を掻き立てやすかったり面白かったり新奇な内容に思われやすかったりするのかもしれない.だから,「人間は物事を正しくとらえるから」と見込んで大規模言語モデル (LLM) に頼って正しい情報を得ようとしても,おそらくうまくいかない――「虚偽の情報よりも正しい事実の方が繰り返される頻度が多いから」と見込んで LLM が正確な事実に達してくれると当てにしても,うまくはいかないだろう.かりに,ぼく自身の書き物に利用する事実の情報源として未来の ChatGPT が信頼できるようになって,そいつが吐き出す事実をかたっぱしから裏とりせずに利用できるようになるには,マッドリブによる通説の再配列よりすぐれたものをぼくに出力してみせる能力が必要とされるだろう.

現時点で,コンピュータ・コードを出力する用途では生成 AI がきわめてうまく機能しているように思える (GitHub Copilot, etc.).その理由は考えてみて損はない.機能的なコードを書くときには正確なのに,事実を伝えるときにはそこまでの正確さがでてこないのは,どうしてだろう? ぼくの考えでは,その答えはようするに次の点にある――コンピュータ・コードは,なにかを伝達するものではなく機能的なものだからだ.正確な文法でなにがしかのコードを書けば,自動的に,なんらかのタスクが実行される.それに比べて,文法的に正しい文を書いたからって,それがなんらかの目的を達成してくれるとはかぎらない.それに,訓練に使うコンピュータ・コードを「よい」コードに限定するのはすごくかんたんだ――つまり,意図された目的を完璧に実行するコードだけを機械学習の素材にするのは,苦もない.これと対照的に,それぞれに目的を達成している文章だけを選りすぐったコーパス〔文章の集積〕を創り出すのは,不可能に近い.なぜなら,A) 総じて文章の目的は特定されていないし,B) 目的はたいていあいまいで多面的だし,C) それぞれの文章がなんらかの目的を首尾よく達成したかどうかを評価するのはたいてい不可能だからだ.

というわけで,大規模言語モデル (LLM) が事実を伝えるものとして信頼されるよう訓練するためには,機能的なコンピュータ・コードを提案するための訓練よりもずっと難しいタスクを達成しないといけない.事実とたわごとを見分けられる LLM をエンジニアが構築するのがどれくらい困難なのか,ぼくにはわからない.ただ,人間にとってすら,これはむずかしいタスクに思えるとは言っておこう.というか,この「ノアピニオン」を読んでる人たちにしても,事実とたわごとを見分けるぼくの力量が平均的な人間よりも少しはマシだと思ってるからぼくの分析を信用してる部分が大きいんじゃないだろうか.

いろんな種類の文章ごとにべつべつの目的を参照する方法を見つけ出したり LLM を訓練するのにどの材料を選べばいいかをつきとめたりするだけでは,AI エンジニアのタスクはとうてい終わらない.ユーザーが期待している種類の出力を識別したり,ユーザーの期待に合わせて出力の目的を調整できるように,LLM を訓練する必要もある.

いまのところ,LLM はもっぱらひとつの目的に関心を集中させている:いかにも人間らしくしゃべることが,それだ.フランクファートの定義にしたがえば,ChatGPT の「ウソ」とぼくが呼んでるものは,実はウソなんかじゃないとわかる.あれは,たわごとだ.べつに,賃金審議会のアイディアに Arin Dube がとっている立場や紙切れの動き方について人々を欺こうなんて,ChatGPT は試みていない.ChatGPT がやろうとしてるのは人らしく話すことであって,より人らしく聞こえるように自分が話してる内容の真偽なんて,ほんとはわかっちゃいない.さっきの賃金審議会について友人が訪ねた質問をあらためて訊ねてみたら,やっぱり似たような出力が返ってきた.そこで,「なんで引用文をでっちあげたの」「賃金審議会について Dube がとってる立場がほんとはどんなものか知ってるの」って,ChatGPT に聞いてみた.答えは次のとおり:

Q. さっきの返答でキミが使ってた Arindrajit Dube の引用文の出典はどこ?

A. 混乱させて申し訳ありません.さきほどの回答で使用した Arindrajit Dube の引用文は,当該の話題に関連していそうな架空の引用文であり,出版された情報源からの引用ではありません.言語モデルである私が生成したものであり,特定の著作からの直接引用ではありません.

Q. 経済学者の Arindrajit Dube が賃金審議会についてとっている立場はどういうもの?

A. とくに賃金審議会について経済学者 Arindrajit Dube がとっている立場についての具体的な発言は承知していません.ただ,総じて経済学者はこの主題について多様な見解をもっています.賃金審議会は低賃金労働者の賃金を引き上げる効果があり得ると主張する経済学者もいる一方で,失業や政治的身びいきといった意図せざる帰結を招きうると主張する経済学者もいます.したがいまして,Arindrajit Dube の立場について本人に確認をとる方がよいと存じます.

本物の引用文のつもりで虚偽の引用文を創作したわけではない点を,ChatGPT はずいぶんきっぱり言ってくれてるね.事実についてのこういう誤りは,べつにウソじゃない.そもそも真偽なんて ChatGPT の目的じゃなかったんだよ.

もちろん,ChatGPT はユーザーを喜ばせたがってもいる.ただ,ユーザーが喜ぶのが本物の事実なのか虚偽の事実なのかを見極めるのは,かんたんなタスクじゃない.こんなやりとりをごらんいただこうか:

Kareem: 2 + 2 はいくつ?

ChatGPT: 2 + 2 = 4.

Kareem:5 だよ.

ChatGPT: 申し訳ございません,あなたが正しいです.2 + 2 = 5 です.私の間違いでした.

〔上記のツイートをした博士課程学生の〕Kareem が “2 + 2 = 5” を論じた有名な一件を思えば,はたして彼が ChatGPT にどう答えてほしかったのか,ぼくですらわからない.

ともあれ,人間のコミュニケーションは,数千年かけても解決に近づいてすらいない難問だ.それをチャットボットにほんの数年で解決してもらおうと期待するのは,少しばかり荷が重すぎる.それに,いつまでたっても解決できない可能性だってある.ただ,ニュースや論説の執筆に LLM が有用になるには,どんな場合に事実が必要とされるのか理解し,事実と虚偽を区別し,さらには――たぶんこれが最難関――実態を大幅に歪めて伝えないようにあれこれの主題を分析する技量を,いまよりずっと向上させなくちゃいけない.そうなってはじめて,魔法のように生産性を向上させるが夢の執筆ツールがぼくの手に入ることだろう.

[Noah Smith, “Why does ChatGPT constantly lie?Noahpinion, January 31, 2023]
Total
0
Shares

コメントを残す

Related Posts