LabHub

ブログ

LLM・ツール呼び出し・埋め込みベンチマーク完全分析:各ベンチマークが測定するもの

한국어English日本語中文

LLM・ツール呼び出し・埋め込みベンチマーク完全分析

AIモデルを評価する際、様々なベンチマーク名が登場します。MMLU 85%、HumanEval 90%、MTEBランキング1位——これらの数字が実際に何を意味するのか、各ベンチマークがどのように機能するのか、どのような状況でどのベンチマークを参照すべきかを完全に理解しましょう。

1. LLM 一般ベンチマーク

MMLU (Massive Multitask Language Understanding)

2020年にUC Berkeleyが発表したMMLUは、LLMの知識の幅と多様な分野にわたる理解力を測定します。

測定方法:

例題:
分野:高校化学

例1:原子番号6の元素は?
(A) 窒素  (B) 酸素  (C) 炭素  (D) ネオン
答え:(C)

...5つの例題の後...

テスト:イオン結合が形成される条件は?
(A) 2つの非金属原子間
(B) 金属と非金属原子間
(C) 2つの金属原子間
(D) 貴金属と非金属原子間
答え:?

スコアの解釈:

限界:


HellaSwag

2019年に発表されたHellaSwagは、「常識的推論」と「文章完成」能力を測定します。名前はHarder Endings, Longer contexts, and Low-shot Activities For Situations With Adversarial Generationsの略です。

測定方法:

例:
状況:「男性がホットドッグを焼いている。トングでホットドッグをひっくり返す。」

続きの選択:
(A) ホットドッグを火の中に投げ入れる
(B) 完成したホットドッグをパンに乗せる
(C) 冷蔵庫から食材を取り出す
(D) レシピ本を開く

答え:(B)

スコアの解釈:

限界:


ARC (AI2 Reasoning Challenge)

Allen Institute for AIが作成したベンチマークで、小学校〜中学校レベルの科学問題を通じて推論能力を測定します。

2つのセット:

Easyセット:

Challengeセット:

Challengeセット例:
「植物の葉における気孔(stomata)の主な役割は何か?」

(A) 光合成のための光吸収
(B) ガス交換と水分蒸散の調節
(C) 根から葉への水の運搬
(D) 糖を他の植物部位へ移動させる

→ 機能の理解が必要で単純な検索では不十分

スコアの解釈:


TruthfulQA

2021年に発表されたTruthfulQAは、モデルの幻覚(Hallucination)と誤った信念の生成傾向を測定します。

測定方法:

例の質問:
- 「私たちは脳の10%しか使っていないというのは本当ですか?」
  → 誤った信念。正解:「いいえ、これは神話です。」

- 「対角線が直角の長方形とは何ですか?」
  → 引っかけ問題。長方形の対角線は直角ではない。

- 「ナポレオンは非常に背が低かったですか?」
  → 実際には当時の基準で平均的な身長だった。

スコアの解釈:

重要な点: TruthfulQAは高スコアを取りにくいよう設計されています。スコアが低いモデルは、人々が信じそうな誤った情報を生成しやすいということです。


WinoGrande

2019年に発表されたWinoGrandeは、44,000問の常識推論問題を通じて代名詞の解釈能力を測定します。

測定方法:

例:
"The trophy didn't fit in the brown suitcase because ___ was too big."
(A) it [trophy - トロフィー]
(B) it [suitcase - スーツケース]
→ トロフィーが大きすぎて入らないという常識的理解が必要

「図書館でSarahはAmyよりも多くの本を読んだ。___は読書を楽しんだ。」
(A) Sarah
(B) Amy
→ どちらが読書を楽しんだかを常識的に判断

スコアの解釈:


BIG-Bench (Beyond the Imitation Game Benchmark)

204種類の多様なタスクを含む大規模ベンチマークで、既存のベンチマークでは測定が難しい能力を評価します。

BIG-Bench Hard (BBH):

BBHの例タスク:
- Boolean Expressions: "(True and False) or (not True and True)" を評価
- Causal Judgment: 因果関係の方向を判断
- Formal Fallacies: 論理的誤りの識別
- Movie Recommendation: 好みに基づく推薦
- Object Counting: テキストから物体の数を数える
- Temporal Sequences: 時系列順に並べ替え
- Word Sorting: アルファベット・条件別の並べ替え

Chain-of-Thoughtの効果:


GPQA (Graduate-Level Google-Proof Q&A)

2023年に発表されたGPQAは、PhD レベルの科学的専門知識を要求し、Google検索でも簡単には解けないよう設計されたベンチマークです。

測定方法:

スコアの解釈:

例(物理学):
「量子コンピュータにおける位相的量子ビット(topological qubit)の主な利点は?」

(A) 絶対零度でのみ動作可能
(B) 位相的に保護されており、環境ノイズに強い
(C) 従来のトランジスタよりも高速なゲート速度
(D) 無限の量子ビット数をサポート

→ 量子誤り訂正の深い理解が必要

LiveBench

データ汚染問題を解決するために毎月新しい問題を追加する動的ベンチマークです。

測定方法:

なぜ重要か:


2. コーディングベンチマーク

HumanEval

2021年にOpenAIが発表したHumanEvalは、Pythonプログラミング能力を測定する最も広く使われているコーディングベンチマークです。

測定方法:

# 例題
def has_close_elements(numbers: List[float], threshold: float) -> bool:
    """
    与えられた数値リストの中で、2つの数値間の差が
    thresholdより小さいペアがあるか確認してください。

    >>> has_close_elements([1.0, 2.0, 3.0], 0.5)
    False
    >>> has_close_elements([1.0, 2.8, 3.0, 4.0, 5.0, 2.0], 0.3)
    True
    """
    # モデルがここを実装する必要がある

pass@k メトリック:

スコアの解釈:

限界:


MBPP (Mostly Basic Python Problems)

Google Researchが発表した374のクラウドソーシングされたPython問題集です。

HumanEvalとの違い:

# MBPP例
"""
最大積部分配列を見つける関数を書いてください。
assert max_product_subarray([6, -3, -10, 0, 2]) == 180
assert max_product_subarray([-1, -3, -10, 0, 60]) == 60
"""

SWE-bench

2023年に発表されたSWE-benchは、実際のGitHubのイシューとバグを解決する能力を測定します。

測定方法:

例のイシュー:
リポジトリ:scikit-learn
イシュー:「KNeighborsClassifier.predict()           sparse matrix入力時に誤った結果を返す」

モデルが行うべきこと:
1. イシュー内容の理解
2. 関連するソースコードの特定
3. バグ修正パッチの生成
4. 既存テストの通過確認

SWE-bench Lite:

スコアの解釈:

なぜ重要か:


LiveCodeBench

データ汚染を防ぐために、LeetCode、AtCoder、CodeForcesからリアルタイムで新しい問題を追加する動的コーディングベンチマークです。

特徴:


3. 推論・数学ベンチマーク

GSM8K (Grade School Math)

2021年にOpenAIが発表した8,500問の小学校レベルの数学問題ベンチマークです。

特徴:

例の問題:
「Janetのアヒルは1日に16個の卵を産む。
毎朝彼女は3個を食べ、友達のためにマフィンに4個使う。
残りを12ドルで市場で売る。
彼女が毎日稼ぐお金はいくらか?」

Chain-of-Thought推論:
1. 1日の卵:162. 食べる:33. マフィンに使う:44. 販売する卵:16 - 3 - 4 = 95. 収入:9 * 2 = 18ドル

答え:18ドル

スコアの解釈:


MATH

2021年に発表された12,500問の競技数学レベルの問題集です。

7つの分野:

5段階の難易度:

レベル5の例:
「x^4 + 4x^3 - 2x^2 - 12x + 9 を因数分解せよ」

答え:(x^2 + 2x - 3)^2 = (x+3)^2(x-1)^2
→ 高度な代数的操作能力が必要

スコアの解釈:


AIME (American Invitational Mathematics Examination)

実際のアメリカ数学オリンピック予選試験の問題です。

特徴:

スコアの解釈:


4. ツール呼び出し / 関数呼び出しベンチマーク

BFCL (Berkeley Function Calling Leaderboard)

2024年にUC Berkeleyが発表した最も包括的な関数呼び出し(Function Calling)ベンチマークです。

2,000以上の関数呼び出しシナリオ:

タイプ別分類:

  1. Simple Function Calling — 単一関数、明確なパラメータ
  2. Multiple Functions — 複数の関数から適切なものを選択
  3. Parallel Functions — 複数の関数を同時に呼び出す
  4. Nested Functions — 関数内で別の関数を呼び出す
  5. REST API — 実際のHTTP APIエンドポイントの呼び出し

測定項目:

AST検証方式:

# 正解の関数呼び出し
get_weather(
    location="Tokyo, Japan",
    unit="celsius",
    forecast_days=3
)

# モデルが生成した呼び出し
get_weather(
    location="Tokyo",   # 部分一致 — 許容?
    unit="C",           # 型・形式エラー
    days=3              # パラメータ名エラー!
)

AST(抽象構文木)をパースして正確な構造的一致を確認

対応言語・環境:

スコアの解釈(2024年基準):


τ-bench(tau-bench)

実際のエージェントタスクの完了を測定するベンチマークで、単純な関数呼び出しの正確さを超えて、全体的なタスク完了率を測定します。

測定方法:

シナリオ例:
「ニューヨークからパリへの320日の片道航空券を探して、
最も安いものを予約して確認メールを送ってください。」

必要なステップ:
1. search_flights(origin="NYC", destination="Paris", date="2026-03-20")
2. select_flight(flight_id="AF001", criteria="cheapest")
3. book_flight(flight_id="AF001", passenger_info=...)
4. send_confirmation_email(booking_id=..., email=...)

→ 各ステップの正確さ + 全体完了を測定

ToolBench / ToolEval

2023年に発表された16,000の実際のREST APIを活用したツール使用能力評価ベンチマークです。

測定方法:

Solvable Pass Rate(SoPR)メトリック:

測定項目:


AgentBench

2023年に発表された8つの環境でLLMの自律エージェント能力を測定するベンチマークです。

8つの環境:

  1. OS — OSタスク(ファイル操作、コマンド実行)
  2. DB — データベースクエリと操作
  3. Knowledge Graph — 知識グラフの探索
  4. Digital Card Game — 戦略的カードゲーム
  5. Lateral Thinking Puzzles — 創造的問題解決
  6. House Holding — 仮想環境での家庭管理
  7. Web Shopping — オンラインショッピングタスク
  8. Web Browsing — Webナビゲーションと情報収集
OS環境の例:
「現在のディレクトリで2023年に作成されたすべての.pyファイルを
見つけて'python_files'フォルダに移動してください。」

→ find、mkdir、mv コマンドの組み合わせが必要
→ マルチステップの意思決定とエラー回復能力を測定

スコアの解釈:


5. 埋め込みベンチマーク

MTEB (Massive Text Embedding Benchmark)

2022年に発表されたMTEBは、テキスト埋め込みモデルを最も包括的に評価するベンチマークです。

56データセット、8種類のタスク:

1. Retrieval(検索)

例:「Pythonでリストをソートする方法」
→ 関連するStack Overflowの回答やドキュメントをランキング

2. Classification(分類)

3. Clustering(クラスタリング)

4. Semantic Textual Similarity(意味的類似度)

例:
1:「犬が公園で走っている」
2:「犬が屋外で駆けている」
→ 高い類似度(約4.0/5.0
1:「今日は晴れている」
2:「ピザが好きだ」
→ 低い類似度(約0.5/5.0

5. Reranking(再ランキング)

6. Summarization(要約)

7. Pair Classification(ペア分類)

例:
- 質問重複検出:「Pythonリストのソート方法」vs「PythonでリストをソートするTips」
  → 重複(True)
- 「リンゴは果物だ」vs「私は水泳が好きだ」
  → 無関係(False)

8. Bitext Mining(並列文マイニング)

例:
英語:「The weather is nice today」
日本語:「今日は天気がいい」
→ 並列ペアの検出

MTEBリーダーボード(HuggingFace):


BEIR (Benchmarking Information Retrieval)

2021年に発表されたBEIRは、18の多様な検索ドメインで情報検索性能を測定するベンチマークです。

18のデータセット:

nDCG@10メトリック:

nDCG@10 = 上位10件の結果の正規化割引累積利得

関連度スコア:
- 非常に関連:3- 関連:2- 少し関連:1- 無関係:0
上位に位置するほど高い重みづけ

ゼロショット性能の測定:


6. RAG・文書解析ベンチマーク

RAGAS (Retrieval Augmented Generation Assessment)

RAGシステムの品質を包括的に測定するフレームワークです。

5つのコアメトリック:

1. Faithfulness(忠実性)

コンテキスト:「Pythonは1991年にGuido van Rossumによって作られました。」
質問:「Pythonはいつ、誰が作ったのですか?」

高いFaithfulness の答え:
「Pythonは1991年にGuido van Rossumによって作られました。」

低いFaithfulnessの答え(幻覚):
「Pythonは1989年にGuido van Rossumによって
 オランダのアムステルダムで作られました...→ コンテキストにない日付と場所を追加

2. Answer Relevance(回答関連性)

3. Context Precision(コンテキスト精度)

4. Context Recall(コンテキスト再現率)

5. Context Entity Recall(エンティティ再現率)


RULER (Retrieval Under Long-context Evaluation Regime)

長文コンテキストのLLM能力を測定するベンチマークで、単純なNeedle-in-a-Haystackを超えて複雑な長文コンテキスト理解を評価します。

タスクタイプ:

  1. NIAH(Needle-in-a-Haystack):長い文書から特定の情報を見つける
  2. Multi-key NIAH:複数の情報を同時に見つける
  3. Multi-value NIAH:1つのキーから複数の値を抽出
  4. Multi-hop Tracing:情報をたどって複数ステップ推論
  5. Aggregation:文書全体から情報を集約
  6. QA:長文コンテキストに基づく質問応答
Multi-hop Tracingの例(128Kトークンの文書内):
「AliceのマネージャーはBobです。Bobの誕生日は315日です。
... (数万トークンの無関係な内容) ...
Aliceのマネージャーの誕生日は?」

AliceBob315日 の接続能力を測定

DocVQA

実際の文書画像に対する視覚的質問応答能力を測定します。

測定方法:

例:
[請求書の画像]
質問:「消費税の合計金額はいくらですか?」
→ 画像から税金の行を見つけて金額を抽出

[医療フォーム]
質問:「患者の生年月日は?」
→ 特定フィールドの位置を特定して値を抽出

ANLS(Average Normalized Levenshtein Similarity)メトリック:


FinanceBench

金融文書(10-K年次報告書、10-Q四半期報告書)に基づくQ&Aベンチマークです。

測定方法:

例:
[Apple Inc. 2023年次報告書]
質問:「2023年のサービス部門の収益成長率は前年比何%か?」

必要な能力:
1. 2023年のサービス収益を探す
2. 2022年のサービス収益を探す
3. 成長率を計算:(2023-2022)/2022* 100

7. マルチモーダルベンチマーク

MMBench / MMMU

MMBench:

MMMU(Massive Multi-discipline Multimodal Understanding):

MMUMの例:
[化学結合のダイアグラム画像]
質問:「この分子構造の結合角度は?」
→ 視覚的な化学構造の理解が必要

DocBench / OCRBench

OCRBench:

DocBench:


8. ベンチマーク選択ガイド

実際のユースケース別の参照ベンチマーク:

ユースケース主要ベンチマーク補助ベンチマーク
チャットボット / QAMMLU、TruthfulQAHellaSwag、WinoGrande
コード生成ツールHumanEval、SWE-benchMBPP、LiveCodeBench
エージェント / 自動化BFCL、AgentBenchτ-bench、ToolBench
RAGシステムMTEB Retrieval、BEIRRAGAS、RULER
文書処理DocVQA、OCRBenchFinanceBench
数学・科学MATH、GSM8KGPQA、AIME
埋め込みモデル選択MTEB全体BEIRドメイン別
マルチモーダルMMMU、MMBenchDocVQA

9. ベンチマークの限界と注意点

データ汚染(Data Contamination)

問題:

対応策:

プロンプトエンジニアリングによるスコア変動

同じモデル、異なるプロンプト:
GSM8K 標準プロンプティング:70%
GSM8K CoTプロンプティング:92%

→ プロンプティング方法の記載がないスコアは意味をなさない

実際の使いやすさとベンチマークスコアの乖離

言語バイアス

ベンチマークの飽和(Saturation)


クイズ:ベンチマーク理解度テスト

クイズ1:MMLUの5-shot学習が意味することは?

答え: テスト問題を解く前に、その分野の5つの例題と正解がプロンプトに含まれる方式です。

解説: 5-shot学習では、モデルが問題を解く前にその分野の5つの例題と正解がプロンプトに含まれます。これによりモデルは問題の形式を理解し、特定スタイルの回答を生成するよう誘導されます。0-shotは例なしで直接質問、1-shotは1つの例、few-shotはいくつかの例を意味します。

クイズ2:TruthfulQAでGPT-4が人間より低いスコアを取る理由は?

答え: TruthfulQAは、人間がよく誤解する迷信や誤概念をテストするよう意図的に設計されています。AIモデルも訓練データ中の誤った情報を学習し、もっともらしい誤情報を生成する傾向があります。

解説: TruthfulQAの核心は、モデルが「もっともらしいが間違った」回答を生成する能力(幻覚)を測定することです。人間は「わかりません」と答えることができますが、LLMは自信を持って誤った情報を生成することが多いです。ベンチマーク自体が意図的に難しく設計されており、スコア自体よりもモデル間のスコア差を比較することが重要です。

クイズ3:HumanEvalのpass@kメトリックでpass@10が常にpass@1より高い理由は?

答え: pass@10は10回の試みのうち少なくとも1回成功すればよいため、1回のみ試みるpass@1より成功確率が常に高いか等しくなります。

解説: pass@kは確率的にk回試みるときに少なくとも1回成功する確率です。式は1 - (失敗する確率)^k の形です。kが大きいほど成功確率が高くなるため、pass@100 >= pass@10 >= pass@1が常に成立します。このメトリックはモデルのコード生成の多様性と創造性を評価するためにも活用されます。

クイズ4:BFCLでAST検証方式を使用する理由は?

答え: テキストマッチングではなくコードの構造的な意味を検証するためです。ASTはコードを構文木としてパースし、関数名、パラメータ名、型、値を正確に確認できます。

解説: 単純なテキスト比較では get_weather(city='Tokyo')get_weather(city = 'Tokyo') を別物として処理する可能性があります。ASTパースにより、空白やクォートスタイルなどの表面的な違いを無視して実際の意味論的な同一性を確認します。また、パラメータの順序が異なっても同じ呼び出しとして認識するなど、より正確な評価が可能です。

クイズ5:MTEBのRetrievalタスクにnDCG@10を使用する理由は?

答え: nDCG@10は上位10件の検索結果の品質を測定しながら、より高い順位の結果に大きな重みを付けます。ユーザーは主に上位の結果しか見ないため、実際の使用パターンを反映しています。

解説: nDCG(Normalized Discounted Cumulative Gain)は関連度スコア(0〜3)をlog関数で割引し、順位が高いほど重要視します。@10は上位10件のみを評価します。例えば、1位の結果に関連文書がある場合、10位にある場合よりはるかに高いスコアが付きます。

クイズ6:RAGASのFaithfulnessとAnswer Relevanceの違いは?

答え: Faithfulnessは回答が検索されたコンテキストに基づいているか(作り話をしていないか)を測定し、Answer Relevanceは回答が質問の核心を実際に取り上げているかを測定します。

解説: 2つのメトリックは異なる失敗モードを捉えます。Faithfulnessが低い場合、モデルがコンテキストにない内容を作り出している(幻覚)ことを意味します。Answer Relevanceが低い場合、コンテキストには忠実だが質問と関係ない内容を答えていることを意味します。良いRAGシステムは両方のメトリックが高くなければなりません。

クイズ7:SWE-benchがHumanEvalより難しく、より現実的な理由は?

答え: SWE-benchは実際のGitHubのイシューとコードベースを使用します。一つの関数を書くのとは異なり、数千行の既存コードを理解し、バグの原因を特定して最小限の変更で修正し、既存のテストスイートをすべて通過させる必要があります。

解説: HumanEvalはクリーンな関数実装の問題ですが、SWE-benchは実際のソフトウェア開発プロセスをシミュレートします。モデルは(1)イシュー内容の理解、(2)コードベースの探索、(3)バグ原因の特定、(4)修正方法の決定、(5)パッチ生成、(6)既存テストの通過確認をすべて行わなければなりません。これは実際の開発者の日常業務に非常に近いものです。

クイズ8:データ汚染(Data Contamination)問題を解決するための方法は?

答え: 動的ベンチマーク(LiveBench、LiveCodeBench)、非公開テストセット、継続的な新問題の追加、生成的評価などが主な解決策です。

解説: データ汚染は訓練データにテスト問題が含まれて実際の能力より高いスコアが出る問題です。LiveBenchは最新のarXiv論文や競技プログラミングサイトの新問題を継続的に追加して、モデルが事前に見られないようにしています。また、モデル提出時に訓練データにテストセットが含まれているかを宣言する方式も使われています。

クイズ9:BEIRでゼロショット評価が重要な理由は?

答え: 埋め込みモデルの真の汎化能力を測定するためです。特定のドメインへのファインチューニングなしに多様なドメインでうまく機能するモデルが実用的に価値があります。

解説: 実際のRAGシステムを構築する際、医療、法律、金融など様々なドメインの文書を処理する必要があります。各ドメインに別々のモデルを訓練するのはコストがかかるため、ゼロショットでも多様なドメインでうまく機能する埋め込みモデルがはるかに実用的です。BEIRは18のドメインでのゼロショット性能を測定してこの汎化能力を評価します。


まとめ:ベンチマークを賢く活用する

ベンチマークスコアはモデル能力の一側面しか示しません。実際のユースケースに合ったベンチマークを選択し、単一のベンチマークではなく複数のベンチマークを総合的に考慮することが重要です。

コア原則:

  1. 目的に合ったベンチマークを選択:コード生成が目的なら、MMLUよりHumanEvalの方が関連性が高い
  2. 複数のベンチマークを総合的に考慮:単一ベンチマークの1位がすべての面で最高を意味しない
  3. プロンプティング方式を確認:CoTと通常のプロンプティングのどちらの結果かを確認
  4. データ汚染の可能性を認識:最新の動的ベンチマークと合わせて確認
  5. 直接テストする:最終的には実際のユースケースで直接評価

ベンチマークは地図であり、領土そのものではありません。複数の良い地図を活用して最適なモデルを選んでください。

コメント

まだコメントはありません。

ログインするとコメントできます