見出し画像

AIアンケートシミュレーターとその周辺

この記事は、以下の記事とペアになっています。

前回の記事で、「大量のAIたちの意見を取りまとめるツール」のAskaをご紹介をしましたが、今回はもう少し技術的な背景の話をしていきたいと思います。

といっても実装の中身を説明するというより業界地図的な技術背景です。
Aska自体の概要は、前回の記事をご参照ください。

Askaでは人々から回答を集めるような通常のアンケートの側面もありますが、今回はAIアンケートシミュレーターとしての側面に限定します。

そもそもなぜたくさんのAIエージェントが必要なのか

ChatGPTに意見を求めると、聞いてもいないことまで色々と答えてくれます。しかも、あたかも客観的な評価であるかのような文体で説明されると、それでもう満足してしまうかもしれませんが、これは人間で例えると、1人の人が「わしはこう思っとるんじゃ。その中でもこれは非常に重要だと思うんじゃ。」という状況です。

AIが何度聞いても一通りの返事しかできないならそれまでですが、幸いモダンなAI(LLM)の回答は必ずしも毎回同じとは限りません。プロンプトで属性や役割を付与することもできます。基盤モデルを変えてみるという手もあります。

この要素はわりと重要です。マルチエージェント・シミュレーションというのは昔からありましたが、どういうルールで動くかをかなり具体的に指定して作り込む必要がありました。
これらの挙動をプロンプトの指示だけで振らせるというのは、従来のマルチエージェント・シミュレーションとは一線を画すツールとなります。

AIに意見を述べさせるという操作

AIに色々と回答をさせてみてその性質を測るという操作は「AIのアライメント(alignment)」という文脈でよく研究されています。キーワードだけでは分かりづらいかもしれませんが、代表的なのはAIが倫理的によろしくない返答をしないかを調べるというものです。逆にAIから過激な回答を引き出させる操作を「脱獄(Jailbreaking)」と言います。

もう少し具体的に、AIにアンケートを回答してもらうということも研究レベルでは近年盛んに行われています。特にAI回答者に「40代・女性・日本人」などの属性を与えて、同じ属性を持つ実際の人々の回答傾向を模倣するデータを生成する営みはシリコン・サンプリング(silicon sampling)と呼ばれています。

Askaで行なっている処理はこれらの一種として位置付けられます。では既に研究レベルではAskaと同じものが実装されているのかというと、そうでもありません。

研究では正解が用意されている

AIエージェントたちに色々と回答してもらうという操作は、新しいアイディアを求めるから聞いているのであって、元来「こう答えてもらわないといけない」という縛りはないはずです。

しかし上記のようなアライメント研究を行う場合には、あらかじめ用意された「正解」が存在し、それと整合しているかどうかを測ります。なんらかの規範が用意されている場合はそれに照らし合わせ、クラウドソーシングで収集した実際の人間の回答データセット(Moral Machine Experimentなど)があればそれと比較します。

こうなるとAIの出力結果の評価は比較的単純で、正解率を何らかの指標で測定してスコアを出す、という話になります。

でも実務でやりたいことはそうではないはずです。
単なるスコアではなく、もっと使える・解るアウトプットが必要というのがチャレンジです。

例えていうと、こんなかんじです。
OpenAIが学術論文でChatGPTの性能を示すときには、ベンチマークでの性能スコアで凄さを示します。
でも一般ユーザーはそんなスコアには興味はなく、実際にChatGPTが返してきた返答を目の当たりにしたときに凄さを感じるのだと思います。

自由記述は評価が難しい

たくさんのAIエージェントが回答するといっても、通常はあらかじめ用意された回答候補から選択させる操作(選択式アンケート)をやらせます。例えば有名なMMLUは4択のアンケートデータセットになっています。
自由記述は評価が難しいですが、選択回答はアルファベット1文字出力させればよいだけなので、スコアが測れて定量評価しやすいのです。

このようなかんじで、本当は重要だけれど学術的には手をつけづらいチャレンジは回避されている傾向があります。

AIは人間の回答者の代わりになるのか?

ここからはもう少し具体的に、AIアンケート研究の現状をまとめたいと思います。

AIに意見を求める際、大きく分けて2つの視点があります:

  1. 実際の人間の代わりとして意見を表明する

  2. 人間とは関係なく、AIの独自の見解として意見を表明する

1.は上で触れたシリコン・サンプリングです。例えばプロンプトで「あなたは40代の日本人女性です。」と指示してから質問をしたら、40代の日本人女性っぽい回答をしてくれるのであれば、もう実際の対象者に聞かなくてもよいではないか、ということです。

ところで「40代の日本人女性っぽい回答」ってなんでしょう?

もちろん40代の日本人女性にもいろんな人がいるので、平均的な回答という意味ですが、それでも本当の平均的な回答というのは分からないのが普通なので、実際うまくいっているのかを確かめるのは困難です。

学術研究でよくあるのは、アメリカの国勢調査をベンチマークとして評価したものです。Pew Researchなどが過去に収集してきた大規模調査データを基に、属性を与えられたAI回答者がその傾向を模倣するのかを検証します。

シリコン・サンプリングについては、2023年までの論文を見ていくと「出来そう」という期待感がありましたが、2024年になると揺れ戻しというか、「実は全然出来ていないんじゃないか」という空気感になってきたという状況です。

"出来ていない"とはどういうことでしょうか。

有名なのは、質問内容とは無関係に生じるバイアスです。A-バイアスとかトークンバイアスと呼ばれています。これは、例えばA, B, C, Dの選択肢ラベルの中で、"A"のラベルが選ばれやすいというバイアスです。
人間に対してアンケートをしたときも「最初の項目が回答されやすい」(プライマシー効果)というバイアスが生じることがあることが知られていますが、これは順番をシャッフルすることで回避できます。
一方トークンバイアスは、順番ではなくラベルの文字自体に起因しているバイアスなので、順番をシャッフルしても取り除くことができません。
ちなみに必ずしも"A"というラベルが選択されやすいわけではなく、使用する言語モデルによって選択されやすいラベルは異なります。
このバイアスが生じる原因については、言語モデルの学習(pretraining)過程で特定の文字ラベルが頻出するからという説もありますが、確かなことは分かりません。
また、Chain-of-Thoughts(CoT)などのプロンプティングを使うと、そこで例として使われた回答ラベルに引きづられるという報告もあります。(なのでCoTをしないほうが性能が良くなることがあります)

他にも「日本語で回答してもらうようにしたら日本人っぽい回答になるのか」というような検証をした研究もあります。使用言語がその国の文化的背景を反映するのかという疑問です。質問内容をうまく選べばこういうことも可能だと思いますが、結論を言うと、「使用言語と回答傾向は無関係」と報告されています。

この記事を書いている現在、シリコン・サンプリングを言語モデルはほぼ実現出来ていないという認識が広まっています。
プロンプトに「あなたは40代の日本人女性です。」と書いたからといってそれを正しく反映してくれる保証などないのです。

個人的にはシリコン・サンプリングには期待していますが、楽観視はしていないといったところです。

それでもAIアンケートには価値がある

なんですが、弊社のAskaにはAIアンケートシミュレーターが実装されています。

実機を作った理由は、これは2.の使い方、つまり「人間とは関係なく、AIの独自の意見」として使えると考えるからです。
ChatGPTに反応を伺うのは、必ずしも人間に似せたいというわけではなく、「ChatGPTならどう答えるのかな?」という疑問のもとに聞いているはずです。

学術研究で対象になるのはアメリカの国勢調査や社会問題ばかりですが、Askaを使えばあなたの個人的な課題に対して大量のAIエージェントたちがなんと反応するのか、見てみることができます。

シリコン・サンプリングをやってみることもできます。
AI回答者に属性を与えてみた場合の回答が妥当かどうかはもちろん議論の余地がありますが、実際にやってみることで得られる知見もあるはずです。

さらに、今はシリコン・サンプリングがちゃんとできなくても、今後の基盤モデルの発展やデバイアシング技術の開発を受けて、次第に現実味を帯びてくるのではないかという期待も持っています。

AIアンケートシミュレーションにご興味ある方へ

弊社では、主に「質問設計の壁打ち」としてAIアンケートシミュレーターを提供していますので、ご興味ある方はぜひご覧ください。

Alaska Plusというパックでは、300人分のエージェントまで何度でも使いたい放題でご提供しています。

補足

マルチエージェントモデルとの比較

AIエージェントを複数用意するというと、マルチエージェントのAIツール・サービスが思い浮かぶ人もいるかもしれません。
タスクを投げると、それぞれの役割を持ったAIエージェントが勝手にお互いにやり取りをしてくれて、何かしらの成果物を生成してくれるというプロダクトです。

マルチエージェントモデルは、イメージ的には直列回路に近い構造です。最終的な成果物のために、他のAIエージェントが生成した出力を次のAIエージェントが受け取って次の処理をし、問題があれば差し戻してという操作を繰り返します。1つの役割を担うAIエージェントが複数いる必要は基本的にはありませんし、それぞれのエージェントの役割は重複しません。また、エージェントの数も役割の数程度なので、数人から数十人程度になるはずです。

一方Askaは、イメージ的には並列回路の構造です。AIエージェントたちは情報共有をしますが、異なる役割を担っているわけではなく、どれも平等です。また、エージェントの数も統計的な性質が見られる程度まで増やすので、数十〜数百人程度と、非常に多くなります。


この記事が気に入ったらサポートをしてみませんか?