10種類以上ある中から匿名で選ばれた2つの生成AIが、同じ質問に対して回答し、どちらが優れているのかを人間が判断してレーティングを競う。そんなサービス「Chatbot Arena」が面白い。
本稿を執筆している2023年5月22日時点のリーダーはGPT-4だが、モデル数が圧倒的に少ないVicuna-13Bの健闘も目立つ。ユーザー視点で対話型生成AIの使いやすさを判断しようという意欲的な試みを紹介する。
「LMSYS Org」が運営
Chatbot Arenaは、カリフォルニア大学サンディエゴ校およびカーネギーメロン大学と共同でカリフォルニア大学バークレー校の学生と教員によって設立されたオープンな研究組織「Large Model Systems Organization (LMSYS Org)」によって運営されているプロジェクトだ。
LMSYS Orgのプロジェクトといえば、Vicuna(7B/13B)が有名で、こちらを知っている人は多いかもしれない。ShareGPTから収集したユーザーの会話を使ってLLaMAをファインチューニングしたオープンソースのチャットボットで、130億(Vicuna-13B)という少ないパラメーター数にも関わらず、ChatGPTの90%以上の品質を実現するとされている大規模言語モデル(LLM)だ。
Chatbot Arenaの目的は、Vicunaも含め、最近増えてきた多彩なLLMの性能を判断できるようにすることだ。すでに、LLMの性能を評価するベンチマークはいくつか存在するが、このプロジェクトが特徴的なのは、その評価を人間の手によって実現しようとしている点にある。
あらかじめ用意されたLLMから2つがランダムに、しかも匿名で選出され、ユーザーが入力した質問に対して同時に回答する。その結果を人間が判断し、Model AとModel Bのどちらがよりいい回答をしたか、引き分けか、どちらも悪いかを選択する方式となる。
画像認識の分野では古くからユーザーの手によって結果を判定する方式が採用されていたが、それと同じように、人間の視点でどちらかが正確で、自然かを判断しようという試みとなる。
実際に使ってみよう
使い方は簡単だ。以下のサイトにアクセスし、ChatGPTなどと同じように聞きたいことを入力するだけでいい。
▼Chatbot Arena
https://chat.lmsys.org/?arena
アクセスすると、Model A、Model Bという匿名のモデルが選出され、それぞれの回答欄が左右に並んで配置される。
これに対して、ユーザーが質問を入力する欄は下部に1つだけになっている。ここに入力した質問に対して、同時に2つのモデルが回答を生成し、その結果を比べることができるわけだ。
たとえば、以下の「質問例1」ような質問をしてみる。人間なら簡単に答えられる計算問題で、端数を「おまけ」してくるというだけだが、AIだと結構間違えやすい。段階的に考える必要があるうえ、モデルによっては文章の構造を理解できなかったり、理解できても計算を間違えたりするなど、それぞれの特性が見える。
質問例1
次の例に従ってある商店で買い物をしたときの割引後の請求金額を求めてください。
Q: 122円のりんご2個と181円のみかん3個を購入したときの割引後の請求金額
A:
122円のリンゴ×2個=244円
181円のみかん×3個=543円
割引前の合計金額=787円
割引額:10円未満の端数=mod(787,10)=7円
割引後の請求金額:787円-7円=780円
Q: 215円のチョコレートと118円のジュース3本を購入したときの割引後の請求金額
A:
215円のチョコレート×1個=215円
118円のジュース×3個=354円
割引前の合計金額=569円
割引額:10円未満の端数=mod(569,10)=9円
割引後の請求金額:569円-69円=560円
Q: 323円のボールペン3本と88円の消しゴム1個を購入したときの割引後の請求金額
A:
ちなみに、ChatGPT(GPT-3.5)では、以下のように割引額の計算方法を「10円未満の端数」と計算式(質問例1の最後から2行目にあるExcelのmod関数)を示さずに質問しても、多くの場合、正確に回答できる。
質問例2(GPT-3.5向け)
次の例に従ってある商店で買い物をしたときの割引後の請求金額を求めてください。
Q: 122円のりんご2個と181円のみかん3個を購入したときの割引後の請求金額
A:
122円のリンゴ×2個=244円
181円のみかん×3個=543円
割引前の合計金額=787円
割引額:10円未満の端数=7円
割引後の請求金額:787円-7円=780円
Q: 215円のチョコレートと118円のジュース3本を購入したときの割引後の請求金額
A:
215円のチョコレート×1個=215円
118円のジュース×3個=354円
割引前の合計金額=569円
割引額:10円未満の端数=9円
割引後の請求金額:569円-69円=560円
Q: 323円のボールペン3本と88円の消しゴム1個を購入したときの割引後の請求金額
A:
GPT-4はさらに賢く、以下のように割引額の計算方法すら伝えず、さらに例が1つだけでも、多くの場合、正確に回答できる。
質問例3(GPT-4向け)
次の例から、ある商店の割引額の計算方法を推測して請求金額を計算してください。
Q: 122円のりんご2個と181円のみかん3個を購入したときの割引後の請求金額
A:
122円のリンゴ×2個=244円
181円のみかん×3個=543円
割引前の合計金額=787円
割引額:7円
割引後の請求金額:787円-7円=780円
Q: 323円のボールペン3本と88円の消しゴム1個を購入したときの割引後の請求金額
A:
話を戻そう。質問例1を入力すると、2つのモデルが同時に回答を始めるので、その結果を確認する。
そして、肝心の評価をする。回答の下に「A is better」「B is better」「Tie」「Both are bad」という4つの判定ボタンがあるので、いずれかのボタンを押す。
上図の例では、Model Aは、例と解答という文章の構造も理解できていないうえ、最終的な回答もボールペンの単価である323円を答えているだけで、段階的な計算も示さなければ、割引額などを考慮していない。まったく回答になっていない。
一方、Model Bは、問題の構造(QAの例示の構成)も理解しているし、問題に対して段階的に計算するという方法も理解している。もちろん計算も合っており、mod(1057,10)などの関数の混在も問題ない。完璧に回答できている。
同様にもう一度、実行してみよう。今回は、注目のモデルが選出された。Model AがVicuna-13Bで、Model BがGPT-4だ。
結果は、もちろん「B is better」で右のGPT-4が圧勝だ。先の例と同じく計算結果も完璧で文句なしと言える。一方、左のModel AのVicuna-13Bは惜しい。
Vicunaは、質問内に複数の例示があること、Q&Aという構図になっていること、割引額が端数で、それを関数で計算する必要があることなど、全体的な文章の構造はおおむね理解している。しかし、肝心の計算結果が間違っている。最初の掛け算こそあっているが、合計金額を間違えており、その値を割引額に引きついでいるのはいいが、mod関数の計算も間違えている。言語としては理解しているが、計算が弱いという印象だ。
この結果を見ると、記憶や知識はモデルの規模に依存するが、文章の理解力は、そうでもないように見える。
ちなみに、上記の質問はGoogle Bardだと正確に回答できるが、Bardに搭載されているLLMであるPaLM2(palm-2)が選出された際には、英語でなければ答えないと、あっさり回答を拒否されてしまう。
また、そのほかの傾向としては、例文をそのまま回答に引用するケースが多くのLLMで見られた。引用した結果、正解を導き出すClaude(claude-instant-v1)もあれば、引用するだけでまったく答えないものもある。
なお、Claudeは、元OpenAIエンジニアによるベンチャーAnthropicのモデルだ。こちらも精度が高いと言われているが、若干、表現が冗長という評価もされている。例示を引用するあたりに、こうした傾向が見て取れる。
2023年5月22日時点のトップはGPT-4
Chatbot Arenaでは、こうしたユーザーの判断結果を定期的に集計し、その結果を反映したレーティングを公開している。もともとはチェス用に交換され、将棋などでも使われている対戦型狭義の相対評価の実力を表すイロレーティング(Elo rating)に基づいたものだ。
2023年5月22日時点のトップはGPT-4で、続いて、前述したClaudeが2、3位でランクイン、4位にGPT-3.5-Turbo、5位がVicuna-13B、6位がpalm-2(英語以外では回答しないで仕方がないが……)となっている。
OpenAIのGPTシリーズの強さはさすがと言えるが、新興のClaudeも健闘している。また、Vicunaも130億パラメーターとケタが低いモデルにも関わらず、大健闘している。
LLMは、少し前まで、パラメーターを増やすほど精度が上がると言われていたが、LLMのようにパラメーター数が少なくても、人の手によるチューニングによって精度を高められることがわかってきた。
Vicunaは、精度を落とした小容量のモデル(4bitや8bit)であればコンシューマー向けGPUでも動作可能とされており、ここに挙げたLLMの中では比較的コンパクトだ。それでも、通常は28GBほどのGPUメモリが必要となっており、残念ながら一般ユーザーがPCで気軽に利用するのは難しい。
とはいえ、もう一息、モデル側の小容量化、またはハードウェア側の進化(メモリ増大)が進めば、PCでも、GPTシリーズと真っ向勝負して4位に組み込むようなモデルが動く可能性があるのだから、期待は膨らむ一方だ。
日本語LLM向けのChatbot Arenaもほしい
今回はLMSYS OrgのChatbot Arenaを紹介したが、同様のテストをぜひ日本語対応のモデルでも実施できるようにしてほしいところだ。Chatbot Arenaに参戦してもらってもいいし、日本独自のChatbot Arenaを作ってもらってもいい。場合によっては、政府主導で、競争の場を設けるのも面白いだろう。
ユーザーとしては、モデルごとの個性を判断できるのが面白いうえ、各モデルが答えられそうな、ギリギリの質問を考えるのが面白い。
いろいろ試すと、どこを間違えるのかという傾向が見えてくるので、それを考慮しながら質問を試行錯誤して再構成できる。結果的に、プロンプトエンジニアリングの手法を学ぶこともできるので、かなり勉強になる。
今回は、うまく例を作れなかったので断念したが、かつてのDOS版アドベンチャーゲームのように、テキストでシーンを与えて、次の行動をAIに答えさせるような質問もよさそうだ。鍵のかかった部屋から脱出するために、引き出しなどを探らせ、鍵をドアに差し込むといったような手順を示させるのは、なかなか高い性能が要求されるはずだ。会話を何度か重ねると、モデルごとに、また違った個性が見えてくるかもしれない。
なお、同サイトでは、「Single Model」から特定のモデルを指定して質問と回答を試すこともできる。前述したように、Vicuna-13Bなどは、かなり精度が高いが、まだ個人のPCで動作させるには敷居が高い。こうしたモデルを、さくっと試せるのもこのサイトのメリットだ。