LLM 勉強会 LLM-jp

Blog

ブログ

LLM-jp Chatbot Arenaを試験運用しました

 LLM-jp では、2025年1月末から2月中旬にかけて、日本語 LLM を対象とした Chatbot Arena「LLM-jp Chatbot Arena」の試験運用を行い、そのログデータを HuggingFace にて公開しました。本ブログでは、LLM-jp Chatbot Arena を運用するに至った経緯やその概要について紹介します。

経緯

 ChatGPT の登場以降、日本語 LLM が続々と開発・公開される状況が続いています。こうした中、ベンチマークによる性能比較だけでなく、実際にそれらのモデルを触ってみて、何がどのくらいできるのか体感的に把握・比較できるプラットフォームが欲しいというニーズが高まっていました。
 また、そうしたプラットフォームを運用すると、人間の好み(preference)のラベルがついた LLM の応答データが集まります。これは LLM の有用性や安全性を改善するための学習データとして利用でき、今後の日本語 LLM を改善していくための有用な言語資源になります。
 こうした背景から、ユーザーが日本語 LLM を実際に触って評価を行うオープンプラットフォーム「LLM-jp Chatbot Arena」を構築し、その試験運用を行うことになりました。LLM-jp Chatbot Arena は、Chatbot Arena (旧名: LMSYS) をベースに構築されており、ユーザーは2つの匿名化されたLLMと同時に会話を行い、より優れていると思う方へ投票することで評価を行います。

LLM-jp Chatbot Arena

 LLM-jp Chatbot Arena では、2つの匿名化された日本語 LLM と同時に会話し、優れていると思う方に投票することで評価を行います。

 試験運用では、収集したデータの学習利用も視野に入れ、一定の日本語性能が見込まれ、出力テキストの学習利用が禁止されていないモデル(※)として、下記の10モデルを稼働させました。

  1. Qwen/Qwen 2.5-14B-Instruct
  2. Qwen/Qwen2.5-72B-Instruct
  3. cyberagent/Mistral-Nemo-Japanese-Instruct-2408
  4. cyberagent/calm3-22b-chat
  5. google/gemma-2-27b-it
  6. llm-jp/llm-jp-3-13b-instruct
  7. llm-jp/llm-jp-3-172b-instruct3
  8. microsoft/phi-4
  9. tokyotech-llm/Llama-3.1-Swallow-70B-Instruct-v0.3
  10. weblab-GENIAC/Tanuki-8B-dpo-v1.0

※ Llama 3.1 Swallow、Qwen2.5-72B-Instruct、Gemma の生成テキストは、それぞれの独自ライセンスに従って利用する必要があります。学習目的での使用は禁止されていませんが、用途の制限やライセンスの継承義務など、いくつかの制約が設けられています。

 採用モデル以外は基本的にオリジナルの Chatbot Arena を踏襲していますが、モデル応答に対してユーザーがさらに返答を行うマルチターンの会話については、システムに改良を加えました。オリジナルの Chatbot Arena では、2ターン目以降の会話において、2つのモデル応答のどちらに対して返答をするか選べないため、しばしば文脈と返答の間に不整合が生じます。この問題に対処するため、LLM-jp Chatbot Arena では、2ターン目以降、どちらのモデル応答に対して返答するか選択するように変更しました。モデルは選択された応答を前のターンに自身が生成したものとして次の応答を生成します。この方法は Ma ら (EMNLP Findings, 2023) でも提案されています。

運用

 今回の試験運用では Amazon Web Services(AWS)を使って LLM-jp Chatbot Arena のホスティングを行いました。システムの主要な構成要素は、ユーザーからのリクエストの窓口となる Web サーバーと、実際に LLM による推論を実行するモデルサーバーです。これらを AWS の提供するクラウドコンピューティングサービスである EC2 を使用して構築しました。
 モデルサーバーでは、高速な推論エンジンである vLLM を使用してモデル応答の生成を行いました。運用コストの削減のため、モデルサーバーは AWS 製の AI アクセラレーターである Inferentia/Trainium を搭載した EC2 インスタンスと、NVIDIA 製の GPU を搭載した EC2 インスタンスを併用して構築しました。Llama アーキテクチャなど、一部の主要なモデルアーキテクチャを採用している LLM については、Inferentia/Trainium を搭載した EC2 インスタンスで vLLM による推論を容易に実行でき(※)、そうすることで NVIDIA 製の GPU を搭載した EC2 インスタンスを使うときと比較して運用コストを大きく抑えることができます。例えば、今回の稼働させた中で最大のモデルである llm-jp-3-172b-instruct3 は Llama アーキテクチャを採用していたため Trainium を搭載した Trn1 インスタンスの上で稼働させ、NVIDIA A100 GPU 80GB を搭載した EC2 インスタンスの上で同モデルを稼働させるときと比較して約 60% 程度の費用で済みました。

Inferentia/Trainium 環境で vLLM を動かす際は、公式ドキュメントの最新情報を参照し、その通りに実行することを強くお勧めします。vLLM も Inferentia/Trainium 用の SDK(Neuron SDK)も開発が盛んであり、推奨のインストール方法がしばしば変わります。古い情報を参照すると、インストールに失敗したり、動作が不安定になったりする場合があります。特にユーザーコミュニティの情報を参照する場合は情報の鮮度によく注意してください。最近、Inferentia/Trainium/Neuron SDK ユーザー間の情報共有を目的としたコミュニティ「AWS Neuron Community (Discord)」が発足しました。同コミュニティによるオンサイトのイベントも開催されています。最新の情報を得る場としておすすめします。

 試験運用は1月30日から2月11日までの約2週間にわたって実施しました。2月5日までは LLM-jp の参加者のみがアクセスできる形で限定的に公開し、システムの動作やモデルの挙動に特段の問題がないことを確認しました。2月6日からはユーザーの拡大を図るため、誰でもアクセスして利用できる形に移行し、そのまま最終日まで運用を続けました。

結果・分析

 今回の試験運用で、2,713件の文脈とモデル応答のペアが集まりました。このうちマルチターンのものは 853 件でした。また、2つのモデル応答のうち、どちらが優れているかの評価は 1,003 件集まりました。

 これらのデータを用いて、LLM-jp Chatbot Arena での評価に基づくイロレーティングと自動評価指標の相関分析、ユーザー発話のトピック分析の2つの分析を行いましたので、本ブログにて紹介します。

イロレーティングと自動評価指標の相関分析

 イロレーティングは、対戦型の競技においてプレイヤーの実力を数値化する仕組み(レーティングシステム)の一つです。チェスや将棋のオンライン対戦などでプレイヤーの実力を表す指標として広く利用されています。

 イロレーティングでは、プレイヤー同士が対戦したときの勝率に基づき実力を「レーティング」と呼ばれる数値で表します。例えば、プレイヤー$X$のプレイヤー$Y$に対する勝率が$ 2/3 $ だとすると、これは「$X$は$Y$と3回対戦すると2回勝ち1回負ける」ことを意味します。同様に、プレイヤー$Y$のプレイヤー$Z$に対する勝率が $ 3/4 $ の場合、これは「$Y$は$Z$と4回対戦すれば3回勝ち1回負ける」という意味になります。

 ここで、直接の対戦がない$X$と$Z$の間の勝率を計算するため、イロレーティングでは「$X$の$Z$に対する勝敗比(勝率/敗率)」は「$X$の$Y$に対する勝敗比」と「$Y$の$Z$に対する勝敗比」の積で表されるという仮定を置きます。例えば、$X$の$Y$に対する勝率が $ 2/3 $(勝敗比 = 2)、$Y$の$Z$に対する勝率が $ 3/4 $(勝敗比 = 3)のとき、$X$の$Z$に対する勝敗比は $2 \times 3 = 6$ になり、勝率に直すと $ 6 / (1 + 6) \approx 0.857 $ となると仮定します。

 $X$と$Y$のレーティングをそれぞれ$R_X$、$R_Y$とすると、イロレーティングでは、$10^{(R_X – R_Y) / 400}$ が$X$と$Y$の勝敗比に近づくように、対戦結果に基づきレーティングを逐次的に更新します(慣習的に400で割りますが、これは単に数値を見やすくするためのものです)。例えば、$X$のレーティングが$1600$、$Y$のレーティングが$1200$のとき、$10^{(1600 – 1200) / 400} = 10$ となるため、$X$の$Y$に対する勝率は $ 10 / (1 + 10) \approx 0.909 $ と推定されます。

 試験運用で集まったユーザー評価をもとに各 LLM の算出したイロレーティングと、人手評価の代替としてしばしば利用される日本語 MT-Bench のスコアを示します。イロレーティングの算出にはオリジナルの Chatbot Arena のコードを使用しました。日本語 MT-Bench のスコアは llm-jp-judge (中山ら, 2025) のもと gpt-4o-2024-08-06 を評価モデルとして用いて算出しました。 

モデルイロレーティング日本語 MT Bench
Qwen2.5-72B-Instruct 10478.06
Llama-3.1-Swallow-70B-Instruct-v0.310267.41
gemma-2-27b-it10247.71
calm3-22b-chat10247.17
llm-jp-3-172b-instruct310246.61
phi-410138.27
Qwen2.5-14B-Instruct9867.30
Mistral-Nemo-Japanese-Instruct-24089657.73
llm-jp-3-13b-instruct9475.71
Tanuki-8B-dpo-v1.09436.14

  イロレーティングと日本語 MT-Bench との間にはピアソンの相関係数 0.642 が認められ、中程度の正の相関が確認されました。一方、順位の一致度を示すスピアマンの順位相関係数は 0.460 であり、順位レベルではやや弱めでした。

 イロレーティングがどの程度安定した値になっているか確認するため、各モデルのイロレーティグの変動を時系列でプロットしました。  全体として収束傾向は見られるものの、特に中位のモデルにおいてはランキングが依然として細かく変動しており、レーティングが収束しているとは言えません。このことから、イロレーティングと日本語 MT-Bench の相関(特に順位相関)が高くない理由として、イロレーティング自体がまだ安定していないことが考えられます。より信頼性の高いレーティングを得るためにはさらに多くのユーザー評価を蓄積する必要があります。

ユーザー発話のトピック分析

試験運用を通じて集まったユーザー発話のトピック分析を行いました。トピック分析は、オリジナルの Chatbot Arena の論文 (Chiang ら, 2024) にて紹介されている方法を参考に、以下の3ステップで行いました:

  1. ユーザー発話の埋め込みの計算
  2. ユーザ発話のクラスタリング
  3. クラスタのラベルの生成

 ユーザー発話の埋め込み計算では、OpenAI の text-embedding-3-small を使用し、各ユーザー発話を1,536次元のベクトルに埋め込みました。これを UMAP (McInnes ら, 2018) を用いて5次元のベクトルに次元削減しました。ユーザ発話のクラスタリングでは、次元削減したベクトル集合に対して、HDBSCAN (Campello ら, 2013) による階層的クラスタリングを適用しました。最後に、各クラスタの中から10件のユーザプロンプトを乱択し、それを GPT-3.5-turbo (0301) に与え、クラスタの内容を端的に表すフレーズを生成しました。

 結果を示します。

 科学・技術、数学、料理、小説執筆、観光などのトピックが上位に現れるのは、オリジナルの Chatbot Arena の論文 (Chiang ら, 2024) の報告と一致します。しかし内容に踏み込むと、観光トピックが日本国内の観光に関する内容が大部分を占めているなど、地理的な発話の特性が反映されたデータになっていることが分かりました。こうしたデータは、オリジナルの Chatbot Arena のログを単純に日本語に翻訳することでは得られず、日本語話者を対象に実データを収集する必要があるものと考えられます。

まとめ

 本ブログでは、LLM-jp Chatbot Arena について紹介しました。この度の試験運用では、10個の日本語 LLM を約2週間の間ホストし、約2,700件の文脈-モデル応答ペアと約1,000件のユーザーによるモデル応答の評価を得ることができました。

 今後の取り組みとして、LLM-jp Chatbot Arena の常時稼働を検討しています。常時稼働の目的は三つあります。一つ目は、より多くのユーザ評価を蓄積することです。分析で示したように、今回の試験運用で収集されたユーザ評価は、モデルの細かい優劣を判断するにはやや不足していた可能性があります。より多くのユーザ評価を蓄積し、人手評価の結果を安定させることで、自動評価の有効性検証をよりソリッドに行えると考えています。二つ目は日本語・日本文化に固有のユーザ発話を収集することです。これは、オリジナルの Chatbot Arena のログを単純に翻訳して手に入る類のデータではなく、日本語話者を対象に新しく収集する必要があるものと考えられます。三つ目は、最新の日本語 LLM の性能を体感する場を提供することです。日本語 LLM は現在も盛んに続いています。新たにリリースされたモデルを随時稼働モデルに加えることで、その性能を体感的に把握・比較できるプラットフォームにしたいと考えています。常時稼働で課題となるのは運用コストです。運用コストを抑えつつ、多くの日本語 LLM を試せる環境を提供するため、計算資源は一定として、稼働させるモデルを日替わりや週替わりでローテーションさせることを検討しています。

 本試験運用で収集した選好ラベル付きの文脈-モデル応答ペアデータは HuggingFace にて公開しています。文脈中のユーザー発話については CC-BY-4.0 のもと提供していますが、モデル応答についてはモデルごとのライセンスに従ってご利用いただく必要があります。ご留意の上、どうぞご活用ください。