AI・機械学習
上級

信頼度校正ベンチマーク(シンライドコウセイベンチマーク)

信頼度校正ベンチマーク(Calibration Benchmark)とは、LLMや機械学習モデルの信頼度校正品質を標準化された条件下で定量的に評価するためのデータセット・評価指標・実験プロトコルの総称である。ECE、ACE、Brier Score等の校正指標をTriviaQA、MMLU、MedQA等の標準データセット上で計測しモデル間の校正性能を公正に比較する。

0 回閲覧
0 いいね

信頼度校正ベンチマークとは

信頼度校正ベンチマーク(Calibration Benchmark)は、モデルの校正品質を再現可能かつ公正に評価するための標準化されたフレームワークである。個別のタスクやデータセットでの校正評価は条件のばらつきにより比較困難であるため、統一的なベンチマークの必要性が高まっている。

2024-2025年にかけてLLMの校正評価に関する研究が急増し、複数のベンチマークスイートが提案された。代表的なものとして、Kadavath et al.(2022)のTruthfulQAベース評価、Tian et al.(2023)のJust Ask for Calibration評価、Kuhn et al.(2023)のSemantic Uncertainty評価がある。

校正ベンチマークが満たすべき要件は以下の通りである。

要件説明重要度
再現性同一条件で同一結果が得られる必須
公正性モデル間の比較が妥当である必須
包括性多様なドメイン・難易度をカバー高
効率性評価コスト(API料金・時間)が現実的高
解釈性結果からの改善示唆が明確中

主要な評価データセット

LLMの校正評価に広く使用されるデータセットを分類別に整理する。

一般知識・推論

データセット問題数タスクドメイン難易度
TriviaQA95,000+短答式QA一般知識中
MMLU15,9084択57学術分野中〜高
ARC-Challenge2,5904択理科中
HellaSwag10,0424択常識推論中
WinoGrande1,2672択代名詞解決中
BoolQ3,270Yes/No読解低〜中
TruthfulQA817自由回答事実性高

専門ドメイン

データセット問題数タスクドメイン校正の重要度
MedQA12,7234択医療(USMLE)極高
LegalBench10,000+多様法律極高
FinanceBench10,231数値/4択金融高
SciQ13,6794択科学全般中
CodeContests13,328コード生成プログラミング中

数学

データセット問題数難易度校正の特徴
GSM8K8,792小中学校推論ステップ数と校正の関係を評価
MATH12,500高校〜大学高難易度での過信傾向を評価
AIME900+数学オリンピック極高難易度での校正を評価

校正評価指標の詳細

ECE(Expected Calibration Error)

最も標準的な校正指標。確信度をM個のビンに等間隔分割し各ビンの確信度と正答率の乖離を加重平均する。

def compute_ece(confidences, correctness, n_bins=15):
    bin_boundaries = np.linspace(0, 1, n_bins + 1)
    ece = 0.0
    for i in range(n_bins):
        mask = (confidences > bin_boundaries[i]) & (confidences <= bin_boundaries[i+1])
        if mask.sum() == 0:
            continue
        bin_acc = correctness[mask].mean()
        bin_conf = confidences[mask].mean()
        ece += (mask.sum() / len(confidences)) * abs(bin_acc - bin_conf)
    return ece

ACE(Adaptive Calibration Error)

ECEのビン幅依存性を解消するため等サンプル数ビン(各ビンに同数のサンプルを含む)を使用する。

Brier Score

確率予測の精度を測る複合指標。校正(Calibration)と識別力(Refinement)の両方を捕捉する。

Brier Score = (1/N) Σ (p_i - y_i)^2

p_iは予測確率、y_iは実際のラベル(0 or 1)。0に近いほど良い。Brier Scoreは以下のように分解可能である。

Brier Score = Calibration + Refinement + Uncertainty

AUROC(Area Under Receiver Operating Characteristic)

確信度スコアを用いて正解と不正解を分離する能力を測る。校正そのものではなく識別力の指標だがSelective Predictionの性能評価に重要である。

指標測定対象範囲最適値ビン依存性
ECE校正誤差[0, 1]0あり
ACE校正誤差(適応型)[0, 1]0なし
MCE最大校正誤差[0, 1]0あり
Brier Score校正+識別力[0, 1]0なし
AUROC識別力[0.5, 1]1なし
AUPRC識別力(不均衡対応)[0, 1]1なし

LLMの校正ベンチマーク結果

2025年時点の主要LLMの校正性能を代表的データセット上で比較する(Temperature Scaling適用前後)。

モデルMMLU ECE(校正前)MMLU ECE(TS後)TriviaQA ECE(校正前)TriviaQA ECE(TS後)
GPT-4o0.150.040.180.05
Claude 3.5 Sonnet0.12N/A(logit非公開)0.14N/A
Gemini 1.5 Pro0.140.030.160.04
Llama 3.1 70B0.190.050.220.06
Llama 3.1 8B0.250.080.280.09
Mistral Large0.160.050.190.06
Mixtral 8x22B0.200.060.230.07

校正の傾向分析

上記結果から以下の傾向が読み取れる。

  1. モデルサイズと校正: 大規模モデル(70B+)は小規模モデル(8B)より校正が良好。ただし完全校正には至らない
  2. Temperature Scalingの効果: logit公開モデルではTemperature ScalingによりECEが60-80%改善
  3. ドメイン依存性: 一般知識(TriviaQA)より専門知識(MMLU)の方が校正が良好な傾向
  4. 過信の普遍性: 全モデルが校正前に過信傾向を示す。ECE > 0.10が一般的

ベンチマーク実行の実装

import json
from dataclasses import dataclass

@dataclass
class CalibrationResult:
    model: str
    dataset: str
    ece: float
    ace: float
    brier: float
    auroc: float
    coverage_at_95: float
    n_samples: int

def run_calibration_benchmark(model_client, dataset, calibrator=None):
    confidences = []
    correctness = []
    for item in dataset:
        response = model_client.generate(item["question"])
        conf = model_client.get_confidence(item["question"], response)
        if calibrator:
            conf = calibrator.transform(conf)
        is_correct = evaluate_answer(response, item["answer"])
        confidences.append(conf)
        correctness.append(is_correct)

    confs = np.array(confidences)
    corrs = np.array(correctness)
    return CalibrationResult(
        model=model_client.name,
        dataset=dataset.name,
        ece=compute_ece(confs, corrs),
        ace=compute_ace(confs, corrs),
        brier=compute_brier(confs, corrs),
        auroc=compute_auroc(confs, corrs),
        coverage_at_95=compute_coverage_at_accuracy(confs, corrs, target_acc=0.95),
        n_samples=len(confidences)
    )

Reliability Diagram(信頼性図)

校正品質を視覚的に評価する最も重要なツールがReliability Diagram(信頼性図)である。横軸に確信度、縦軸に正答率をプロットし対角線(完全校正)からの乖離を可視化する。対角線より上にプロットされた領域は過小評価(Underconfident)、下の領域は過信(Overconfident)を示す。

import matplotlib.pyplot as plt

def plot_reliability_diagram(confidences, accuracies, n_bins=10, title="Reliability Diagram"):
    bin_boundaries = np.linspace(0, 1, n_bins + 1)
    bin_accs = []
    bin_confs = []
    bin_sizes = []
    for i in range(n_bins):
        mask = (confidences > bin_boundaries[i]) & (confidences <= bin_boundaries[i+1])
        if mask.sum() > 0:
            bin_accs.append(accuracies[mask].mean())
            bin_confs.append(confidences[mask].mean())
            bin_sizes.append(mask.sum())
        else:
            bin_accs.append(0)
            bin_confs.append((bin_boundaries[i] + bin_boundaries[i+1]) / 2)
            bin_sizes.append(0)
    fig, ax = plt.subplots(1, 1, figsize=(8, 6))
    ax.bar(bin_confs, bin_accs, width=1.0/n_bins, alpha=0.7, label="Model")
    ax.plot([0, 1], [0, 1], "r--", label="Perfect Calibration")
    ax.set_xlabel("Confidence")
    ax.set_ylabel("Accuracy")
    ax.set_title(title)
    ax.legend()
    return fig

よくある質問(FAQ)

Q1: 校正ベンチマークのビン数はいくつが適切ですか?

A1: ECE計算のビン数は結果に大きく影響する。ビン数が少なすぎると(M=5)局所的な校正不良を見逃しビン数が多すぎると(M=50)各ビンのサンプル数が不足し統計的に不安定になる。一般的な推奨はM=10〜15であり、Nixon et al.(2019)はM=15を標準として提案している。より頑健な評価にはACE(等サンプル数ビン)を併用することが推奨される。サンプル数が1,000未満の場合はM=10、10,000以上の場合はM=20まで増やしてもよい。

Q2: 校正とモデル精度(Accuracy)の関係は?

A2: 校正とモデル精度は独立した概念である。精度が高くても校正が悪いモデル(過信する高性能モデル)も精度が低くても校正が良いモデル(自身の限界を正しく認識するモデル)も存在する。GPT-4oは精度86%でECE 0.15(校正前)であり高性能だが過信気味である。一方Llama 3.1 8Bは精度65%でECE 0.25と精度も校正も低い。重要なのは両方の指標を並行して評価し用途に応じて重み付けすることである。

Q3: 新しいLLMの校正評価にはどのベンチマークを使うべきですか?

A3: 用途に応じた推奨ベンチマークセットは以下の通りである。(1)汎用評価: MMLU(57分野カバー) + TriviaQA(一般知識) + TruthfulQA(事実性) + GSM8K(数学推論)の4データセット。API費用は約$50-100/モデル。(2)医療特化: MedQA + PubMedQA + 臨床シナリオデータセット。校正評価に加えSelective Prediction性能も測定必須。(3)最小評価セット: 予算制約がある場合はMMLU(15,908問)のみで一定の信頼性ある校正評価が可能。ただし1データセットでの評価はドメインバイアスのリスクがあるため、少なくとも2データセット以上での評価が望ましい。

Q4: 校正評価の結果をどのように報告すべきですか?

A4: 校正評価の報告には以下の5要素を含めるべきである。(1)使用した評価データセットとサンプル数。(2)ビン数Mと分割方法(等間隔 vs 等サンプル数)。(3)ECE/ACE/Brier Scoreの数値(標準誤差付き)。(4)Reliability Diagramの可視化。(5)Selective Prediction性能(95%精度時のカバレッジ等)。複数回実行した場合は平均値と標準偏差を報告する。プロンプト(System Prompt含む)の全文も再現性のために公開すべきである。