【学習メモ】LLM評価のあれこれについて調べてみました
最近、大規模言語モデル(LLM)の進化が凄まじいですが、「結局どのモデルが賢いの?」「どうやって性能を測っているの?」という点が気になり、評価手法について個人的に調べてみました。
専門用語が多くて混乱しそうだったので、**「データセット(試験問題)」「メトリクス(採点基準)」「リーダーボード(ランキング)」**の3つの観点で整理しています。あくまで自分の理解をまとめたものですが、同じように学習中の方の参考になれば幸いです。
逐次更新予定
1. データセット:何を解かせるか(試験問題集)
モデルの能力を測るために、どのような問題セットが使われているのかを整理しました。かつては文法問題が中心だったようですが、現在はより高度な知識や推論が求められているようです。
MMLU (Massive Multitask Language Understanding)
調べた限り、現在のデファクトスタンダードと言えそうなのがこれです。
- 概要: 科学・技術・数学(STEM)、人文科学、社会科学など、57の科目(歴史、法律、医学など)を網羅した4択問題セットとのこと。
- 理解: モデルの「教養」や「世界知識」を測るテストという位置付けのようです。GPT-4などの高性能モデルの発表では、必ずこのスコアが出てきます。
GLUE / SuperGLUE
自然言語理解(NLU)の基礎力を測る、少し前の定番データセット?
- 概要: 文法判定や感情分析など。
- 現状: 以前はこれが基準だったようですが、**最近のLLMにとっては簡単になりすぎて差がつかない(飽和した)**ため、より難しいMMLUなどが主流になっているそうです。
HumanEval / MBPP
エンジニア視点だと、これが重要になりそう
- 概要: Pythonなどのプログラミングコード生成能力を測定するもの。
- 特徴: モデルに関数を書かせて、ユニットテストが通るかどうかで判定するという、非常に実践的なテストです。
GSM8K / MATH
数学的な推論能力を測るセットのようです。
- 概要: 算数の文章題など。
- 特徴: 単に答えが合うかだけでなく、「CoT(Chain of Thought:思考の連鎖)」プロンプトを使って、論理的に答えを導けるかを測る時によく使われているようです。
JGLUE
日本のモデルを評価するならこれ、というベンチマークのようです。
- 概要: 海外製モデルは日本語の文脈に弱いことがあるため、国内での実用性を測る指標として重要視されているようです。
2. 評価メトリクス:どう採点するか(採点方式)
生成されたテキストの「良し悪し」をどう計算するのか、という指標(メトリクス)についても学びました。
古典的指標:単語の一致度を見る
昔から翻訳や要約のタスクで使われてきた指標です。「正解データ」と「生成された文章」の文字列がどれくらい似ているかを計算するようです。
| メトリクス | 本来の用途 | 学んだこと・注意点 |
|---|---|---|
| BLEU | 翻訳タスク | 正解文と**「単語の並び」**が一致しているかを見る指標。ただ、「意味」を理解して採点するわけではないので、単語が違っても意味が合っている場合に低く評価されてしまう欠点があるようです。 |
| ROUGE | 要約タスク | 正解文の内容をどれだけ網羅できているかを見る指標。BLEU同様、単語の一致に依存するため、最近のチャットAIの評価にはあまり向かないのかもしれません。 |
モダンな指標・トレンド:意味と質を見る
最近は「文字の一致」よりも「意味の近さ」や「人間にとって役に立つか」を重視する傾向があるようです。
BERTScore
BERTというモデルを使って、単語そのものではなく**「意味の類似度」**を計算する指標とのこと。BLEUなどの「単語が一致しないとダメ」という弱点を克服しており、より実態に近い評価ができるようです。
Perplexity (PPL)
モデルが文章を生成する時の「迷い」の少なさを示す数値。数値が低いほど流暢らしいですが、人間が感じる「文章の良さ」とは必ずしも一致しないこともある、という点は覚えておきたいです。
LLM-as-a-Judge
個人的に一番面白いと思ったのがこれです。**「AIの回答を、別の賢いAI(GPT-4など)に採点させる」**という手法。
- 背景: 人間が全部読むのは大変でお金もかかるため。
- 特徴: 「有益性」や「安全性」などの観点でAIに点数をつけさせる(例:MT-Bench)方法で、今の主流になっているそうです。
- 最新トレンド Agent-as-a-Judgeのほうが現在のトレンドぽい
3. 評価一覧サイト・リーダーボード:どこで比較するか
「現時点でどのモデルが最強なのか?」を知りたい時に、どのサイトを見ればいいのかもメモしておきます。
LMSYS Chatbot Arena (チャットボットアリーナ)
- 特徴: ユーザーが名前を伏せられた2つのAIとチャットして、どっちが良かったか投票するというサイト。
- 感想: ベンチマークの数値だけじゃなく、**「人間が実際に使った時の感覚(Vibe)」**がランキングに反映されるので、一番信頼されている雰囲気を感じました。
Hugging Face Open LLM Leaderboard
- 特徴: Llama 3などのオープンソースモデルの性能比較ならここ。MMLUなどのテスト結果の平均点でランク付けされている、開発者向けの権威あるランキングのようです。
Nejumi LLM Leaderboard / LLM-jp
- 特徴: 日本語のモデル(Elyza, Swallowなど)や、海外モデルの日本語能力を知りたい時はここを見るのが良さそうです。JGLUEのスコアなどが参照されています。