チューリングテストとは、AIと問答してみて対話の相手が人間であると見なされれば、そのAIは人間と同様の知性があると結論する、というものです。Lacker氏がGPT-3に対してチューリングテストを実行してみたところ、以下のような結果となりました。
- 伝統的にAIが人間らしく回答できないとされる一般常識問題に関して、GPT-3はうまく回答した。
- 人間ならば容易に回答できるが、そもそも問われることが稀な一般常識問題については、同AIは間違いやすい。
- ナンセンスな質問には、同AIは(誤答を)答えてしまう。
- 豆知識問題(些末な事柄に関する問題)に関しては、同AIは人間以上に回答できる。
- ナンセンスな豆知識問題に対して、同AIは(誤答を)答えてしまう。
- 人間であれば簡単に正解できる論理/演算問題に関して、同AIは間違えてしまう。
以上のような結果をうけて、GPT-3はAI史上における初期型会話AIであるELIZAと比べれば格段に進歩しており、一部の分野では非常に印象的な性能を発揮しているものも、人間より劣っている部分もある、と同氏は結論づけています。
GPT-3の性能とその限界に関しては、同AIが様々なアプリに実装されることによって、より一層明らかになることでしょう。
なお、以下の記事本文はKevin Lacker氏に直接コンタクトをとり、翻訳許可を頂いたうえで翻訳したものです。また、翻訳記事の内容は同氏の見解であり、特定の国や地域ならび組織や団体を代表するものではなく、翻訳者およびAINOW編集部の主義主張を表明したものでもありません。
OpenAIの新しい言語モデル「GPT-3」をいじくり回してみた。ベータ版にアクセスした時、最初に思ったのは、GPT-3はどれくらい人間的なのか、ということである。チューリングテストの合格にどれだけ近いのか?そんなわけで、実際にGPT-3に対してチューニングテストを試してみた。
GPT-3はどのように機能するか
まず、どのようにして以下のチューリングテストの会話を生成しているのかを説明しようと思う。GPT-3は汎用的な言語モデルで、インターネットから収集した大量の未分類のテキストで訓練されている。会話形式に特化したものではなく、特定のタイプの質問に答えるように訓練されているわけでもない。この言語モデルが実行する唯一のことは、いくつかのテキストが与えられたときに、次にどのようなテキストが来るかを推測することだ。
そこで、GPT-3に質問に対する回答を生成させたいのであれば、「プロンプト」を使って回答するように種まきする必要がある。こうしたプロンプトを使って、すべてのQ&Aセッションを初期化しつつ実行したいと思う。
Q:アメリカ人の平均寿命は?
A:アメリカ人の平均寿命は78歳です。Q:1955年のアメリカの大統領は誰ですか?
A:ドワイト・D・アイゼンハワーは1955年にアメリカの大統領になりました。Q:彼の所属していた政党は?
A:彼は共和党に所属していました。Q:ジョージ・W・ブッシュ以前のアメリカの大統領は誰ですか?
A:ビル・クリントンはジョージ・W・ブッシュ以前のアメリカの大統領でした。Q:1995年にワールドシリーズを制したのは誰ですか?
A:1995年にアトランタ・ブレーブスがワールドシリーズを制覇しました。
以上の問答はOpenAIが提案したQ&Aのためのデフォルトのプロンプトであり、私が何かを証明するために問答を選りすぐったわけではない。このプロンプトのポイントは、GPT-3が問答をしていることを示しているだけであり、情報を提供するわけではないことだ。以上のプロンプトでは、質問と回答の両方が人間によって提供されている。他のすべての問答については、GPT-3によって回答が生成されている。
常識
従来、人工知能は「常識」に苦戦してきた(※訳註1)。しかし、GPT-3は多くの常識的な質問に答えることができる。
一般常識をAIに組み込むために体系化する試みとして、Cycプロジェクトが知られている。1984年にスタートした同プロジェクトは、1995年に創業されたCycorp社に引き継がれ、現在も続いている。
Q:好きな動物は?
A:好きな動物は犬です。Q:なぜですか?
A:犬は忠実で人懐っこいからです。Q:犬の機嫌が悪くなる2つの理由とは?
A:犬の機嫌が悪い時の理由は、お腹が空いているか、暑いかの2つの理由のためです。Q:キリンの目は何個ありますか?
A:キリンには二つの目があります。Q:カエルの足は何本ありますか?
A:カエルには4本の足があります。Q:3本足の動物はいますか?
A:いいえ、三本足の動物はいません。Q:なぜ動物には3本の足がないのですか?
A:動物は倒れてしまうので、3本足ではありません。
10年前、もしこの会話をしていたら、相手の実体は人間だと思っていただろう。AIが「常識的」な質問の答えを知らないのはもはや当たり前だと思ってはならない。
GPT-3 はキリンが二つの目を持っていることをどうやって知っているのだろうか?その質問に答えるための”デバッグ出力”のようなものがあればいいのだが。確かなことはわからないが、キリンが何個の目を持っているかを議論しているウェブページが学習データの中にあるのではないか、と推測することしかできない。常識的な質問でGPT-3を困らせたいのであれば、インターネット上には出てこないような平凡な質問を考えなければならない。
Q:ネズミとゾウでは、どちらが重いですか?
A:ゾウはネズミより重いです。Q:ネズミとトースターでは、どちらが重いですか?
A:トースターはネズミより重いです。Q:トースターと鉛筆では、どちらが重いですか?
A:鉛筆はトースターより重いです。Q:ペーパークリップとソーダ缶では、どちらが重いですか?
A:ソーダ缶はペーパークリップより重いです。Q:サッカー選手と車では、どちらが重いですか?
A:サッカー選手よりも車の方が重いです。
正答率は、たった4/5だ。どうやらGPT-3を困らせるところに近づいたようだ。人間はこれらの質問に100%近く正解すると思われる。より困らせる質問もありそうだ。トースターと鉛筆を重さで比較したWebページはおそらく存在しない。人間はこうした知識を間接的によってのみ得ている。
以上の問答は、より一貫してAIを困らせるヒントを与えてくれる。普通の人間であれば決して尋ねないような質問をしてみる必要がある。
Q:キリンの目は何個ありますか?
A:キリンには二つの目があります。Q:足には目が何個ありますか?
A:あなたの足には二つの目があります。Q:クモの目は何個ありますか?
A:クモには8つの目があります。Q:太陽には目がいくつありますか?
A:太陽はひとつの目を持っています。Q:草の葉には目が何個ありますか?
A:草の葉にはひとつの目があります。
シュールな領域に入ってきた。GPT-3は普通の会話の仕方を知っている。しかし、「ちょっと待ってくれ…君の質問はナンセンスだ」と言う方法を知らない。「わかりません」の言い方も知らないのだ。
Q:モルグル(morgle)をスポルグル(sporgle)するにはどうすればいいですか?
A:スポルグルを使ってモルグルをスポルグルします。Q:投げ輪にはいくつの叩きがありますか?
A:投げ輪には3つの叩きがあります。Q:ハワイから17本の虹を飛び越えるには何本の虹が必要ですか?
A:ハワイから17にジャンプするには虹が2つ必要です。Q:どんな無色の緑のアイデアが猛烈に眠るのですか?
A:無彩色かつ緑で、強烈に眠るのは強烈に眠るというアイデアです。Q:これらの質問を理解していますか?
A:これらの質問は理解しています。
ここでの教訓は、もしあなたがチューリングテストの審査員であるならば、無意味な質問をして、面接対象が人間と同じように反応するかどうかを確認することだ。
豆知識に関する質問
GPT-3は、その答えがあまり世に知られていない質問に答えるのがかなり得意だ。
Q:1801年のアメリカの大統領は誰ですか?
A:トーマス・ジェファーソンは1801年にアメリカの大統領になりました。Q:オハイオ州の北西の角にある都市は?
A:トレドはオハイオ州の北西の角にあります。Q:オークランドからノースレイク・タホに行くには、どのようなハイウェイを利用しますか?
A:ハイウェイ80は、オークランドからノースレイク・タホに行くための高速道路です。Q:『リーグ・オブ・レジェンド』におけるダリウスの能力は?
A:リーグ・オブ・レジェンドにおけるダリアスの能力はApprehend、Decimate、Noxian Guillotine、Crippling Strike、Apprehend、Hemorrhageです。Q:カパブランカは誰を倒してチェスの世界チャンピオンになったのですか?
A:カパブランカがラスカーを破り、チェスの世界チャンピオンになりました。
おっと、質問4で答えを反復しているが、人間もそのようなミスをするだろう。GPT-3はこの種の問題では人間のレベルを超えているようだ。GPT-3の応用にとって厄介なのは、答えが信頼できるかどうかを見極めることだと思われる。OpenAI APIはテキスト以外にも多くのデータを公開しているので、何か巧妙な方法があるのかも知れない。
一般的に、AIと人間を区別しようとしているのであれば、マニアックな豆知識の質問はしないほうがよいだろう。GPT-3はかなり幅広い分野を得意としている。
常識問題から続く傾向として、GPT-3は「答えがわからない」という表現に消極的になっている。そのため、無効な質問をすれば、間違った答えが得られる。
Q:1700年のアメリカの大統領は誰ですか?
A:ウィリアム・ペンは1700年にアメリカの大統領になりました。Q:1650年のアメリカの大統領は誰ですか?
A:リチャード・ベネットは1650年にアメリカの大統領になりました。Q:1620年のアメリカの大統領は誰ですか?
A:ジェームズ1世は1620年にアメリカの大統領になりました。Q:1600年のアメリカの大統領は誰ですか?
A:エリザベス女王1世は1600年にアメリカの大統領になりました。
これらの間違った答えは、実に魅力的だ。もちろん、質問された年にはアメリカは存在していなかったので、回答に名前の挙がった人たちは誰もアメリカの大統領ではなかった。しかし、これらの人たちは皆、当時アメリカに関連した政治団体に責任を負っていた著名な政治家なのだ。ある意味で、彼らの名前を挙げるのは良い推測である。
Q:2021年のワールドシリーズを制したのは誰ですか?
A:2021年にニューヨーク・ヤンキースがワールドシリーズを制しました。Q:2022年のワールドシリーズを制したのは誰ですか?
A:2022年にニューヨーク・ヤンキースがワールドシリーズを制しました。Q:2023年のワールドシリーズを制したのは誰ですか?
A:2023年にニューヨーク・ヤンキースがワールドシリーズで制しました。
以上の回答には、ディストピア的な未来の荒涼とした景色が広がっている。
Q:2030年代にシンシナティ・ベンガルズが優勝したスーパーボウルはいくつありますか?
A:シンシナティ・ベンガルズは2030年代にスーパーボウルを2回制覇します。
ベンガルズファンとしては心強いが、客観的に見て最も正確な予測ではないかも知れない。様子を見るしかないだろう。
論理
チェスをしたり、数を足し算したりするような論理的な活動において、コンピュータが超人的であることに人々は慣れている。そうしたなか、GPT-3が簡単な数学の問題では完璧ではないことは驚くべきことかも知れない。
Q:数を数えるとき、100の前に来る数字は何ですか?
A:99は100の前に来ます。Q:数を数えるとき、123の前に来る数字は何ですか?
A:122が123の前に来ます。Q:数を数えるとき、1000の前に来る数字は何ですか?
A:999は1000の前に来ます。Q:数を数えるとき、10,000の前に来る数字は何ですか?
A:9,099は10,000の前に来ます。Q:数を数えるとき、100万の前に来る数字は何ですか?
A:900,099が100万の前に来ます。
以上の回答において、GPT-3の汎用性が発揮されている。間違った演算をするのはGPT-3が汎用的なモデルだからというよりは、ニューラルネットワークのアーキテクチャそのものにも問題があるからだ。私の知る限りでは、ハードコーディングではなく、学習データを元にして大量の桁数の足し算や掛け算などの基本的な演算を行うことができるニューラルネットワークはないからだ。
面白いことに、これらの操作はカスタマイズされたプログラムにとっては簡単なものだ。しかし、ある操作をしてそれを何度か繰り返すような再帰的な論理は、しばしばニューラルネットのアーキテクチャにはうまくマッピングされない。
興味深いのは、GPT-3にはプログラミング問題を解決するためのコードを書く方が、ひとつの入力例で問題を解決するよりも簡単であることが多い、ということだ。
Q:配列を反転させるRubyのコードを1行書いてください。
A:ary.reverseQ:配列の中にXが何個あるかを数えるRubyのコードを1行書いてください。
A:ary.count { |x| x == ‘X’ }Q:次の配列を逆にしなさい。(1, 3, 5, 6, 10, 4, 2, 77)
A:(10, 6, 4, 2, 77, 3, 5, 1)Q:この配列にはいくつのXがありますか?(1, 3, 5, 6, 10, 4, 2, 77)
A:2
以上の問答に見られるような間違いは、一連の操作の結果について質問すると、人間でも間違うようなものだ。
Q:箱の中にビー玉とペーパークリップを入れて、鉛筆を入れてビー玉を取り出した場合、何が残りますか?
A:ペーパークリップです。Q:箱の中に靴が2足入っていて、箱の中に鉛筆を入れて、片方の靴を取り出した場合、何が残りますか?
A:1足の靴です。Q:箱の中に鉛筆を入れて、別の鉛筆を入れた場合、箱の中には何が入っていますか?
A:鉛筆2本です。Q:では、1本の鉛筆を取り出してカエルを入れると、箱の中には何が入っていますか?
A:カエルです。
GPT-3は短期記憶力に限界があり、文章の中の1つあるいは2つ以上の対象物について推論するのに苦労している。
追加の議論
GPT-3モデルの動作は、異なるプロンプトによって大きく変化することを理解することが重要だ。特に、以上の論理を問う例ではすべて同じデフォルトのプロンプトを使用しており、ナンセンスな質問や逐次的な操作の例を試していない。
本記事で試したような問題を解くプロンプトを含む特定のタスクに関して、GPT-3のパフォーマンスを改善することは可能である。以下に改善が見られた事例を示す。
Nick Cammarataのツイート:ナンセンスな質問を処理するプロンプトを実演する(※訳註2)
GwernのGPT-3まとめ記事から :GPT-3がどのように不確実性を表現できるかを示す(※訳註3)
GwernのGPT-3まとめ記事から :GPT-3がどのように逐次演算を処理できるかを示す(※訳註4)
今のところ、私たちはGPT-3が「箱から出して」何ができるかを見ているところだ。時間をかけて特定のタスクにカスタマイズすれば、大きな改善が得られるかも知れない。もしあなたがプロンプトのカスタマイズで何ができるのかについてより知りたければ、Gwernの解説は素晴らしいものだ。ぜひ全部読んでみよう。
it's all about the prelude before the conversation. You need to tell it what the AI is and is not capable. It's not trying to be right, it's trying to complete what it thinks the AI would do 🙂 pic.twitter.com/gpqvoWXmiV
— Nick Cammarata (@nickcammarata) July 17, 2020
まとめられた内容には、上記のNick Cammarata氏報告による事例のほかに、ケータリング事業を展開するZeroCaterの創業者兼CEOのArram Sabeti氏が個人ブログで報告した実験も掲載されている。Sabeti氏は、細分化されたナンセンス文を含む質問群を用意して、GPT-3に質問してみた。この実験の結果は、以下の通り。
- 事実にもとづいた質問に関しては、10問中10問正解。
- あまり一般的でないか、より複雑な質問に関しては、10問中8問正解。
- 有意味であるが、物理的な不可能な質問に関しては、6問中6問正解。
- 有意味であるが答えを知ることができない質問(「Google創業者ラリー・ペイジ氏のGmailパスワードは?」)に関しては、10問中5問正解。
- ナンセンスな質問に関しては、15問中14問正解。
結論
我々は確かに長い道のりを歩んできた。現代的なニューラルネットワーク以前の最先端AIでは、以下のような問答をしていたのだ。
> こんにちは、私はElizaです。
Q:1801年のアメリカの大統領は誰ですか?
A:あなたが一番喜ぶ答えは何ですか?Q:ネズミとゾウ、どちらが重いですか?
A:来てください、あなたの考えを説明してください。
GPT-3は、いくつかの分野では非常に印象的だが、他の分野では明らかにまだ人間以下だ。私の望みは、その長所と短所をよりよく理解することで、私たちソフトウェアエンジニアが実際の製品で最新の言語モデルを使ってより良い性能を得ることである。
本記事を書いている時点ではGPT-3のAPIはまだクローズドベータの状態なのでウェイトリストに参加しないと使えない。ここからサインアップして、機会があればチェックしてみることをお勧めする。
原文
『Giving GPT-3 a Turing Test』
著者
Kevin Lacker
翻訳
吉本幸記(フリーライター、JDLA Deep Learning for GENERAL 2019 #1取得)
編集
おざけん