In Silico

AI・信頼性・評価

LLMベンチマークのスコアは信用できるか:グッドハートの法則と汚染

2026/6/20 (更新: 2026/11/3)

  • ベンチマーク
  • LLM
  • 機械学習
  • SWE-bench Verified
  • SWE-bench Pro
  • MMLU
  • LiveBench
  • グッドハートの法則
  • OpenAI
  • リーダーボード
  • 汚染
  • 漏洩
  • 弱いテスト
  • 代理指標
  • 飽和
  • held-out
  • 多肢選択
  • GPT-4
  • Llama-2-13b
  • CSQA
  • Big-Bench
  • ストラザーン
  • HuggingFace
  • canary
  • few-shot
  • 位置バイアス
目次
背景・問い・要点
背景

機械学習のモデル、とくに大規模言語モデル(LLM、Large Language Model。大量の文章で訓練され、文章を受け取って文章を返すモデル)の性能は、決まった問題集(ベンチマーク)での正答率で比べられることが多い。各モデルのスコアを順位表にまとめたものを、リーダーボードと呼ぶ。

スコアは、本当に測りたい能力そのものではなく、能力の代わりに測る数値(代理)である。分野が一つの固定ベンチマークに向けて、そのスコアが上がるようにモデルの作り方を調整し続ける(最適化を続ける)と、スコアがその代理として働かなくなるおそれがある。測る数値を目標にすると、その数値が測りたいものを映さなくなる、という指摘は、グッドハートの法則の名で広く引かれている。

スコアが能力と関係なく動く経路の一つが、汚染(contamination)である。汚染とは、ベンチマークの問題と答えが、モデルの訓練に使われたデータ(訓練データ)に入り込むことを指す。汚染された問題では、モデルは解かずに、覚えた答えを返せる。

本稿は、コーディングのベンチマーク SWE-bench と、その課題を人手で選別した版の SWE-bench Verified、4択の多肢選択式の MMLU(Massive Multitask Language Understanding)などを例に取る。SWE-bench は、実在するソフトウェアの課題報告をモデルに直させ、その修正が用意されたテストに合格するかで採点する。

問い

LLM のベンチマークでスコアが伸びたとき、その伸びはモデルの能力の向上を表していると言えるか。

要点

最適化が進んだベンチマークでは、スコアの伸びはそのまま能力の向上とは読めず、能力による伸びかどうかはスコアだけからは確かめられない。問題と答えの訓練データへの混入、課題報告に書かれた解法の漏洩、テストの欠陥、選択肢の並び順や採点方法の違いは、どれも能力と関係なくスコアを動かす。

SWE-bench Verified のある監査では、エージェント SWE-Agent+GPT-4 の解決率が、漏洩と弱いテストによる合格を除くと 22.4% から 10.0% に落ちた。ただし、本稿の出典は、現実の能力が横ばいや劣化に転じたことを直接測っていない。

モデル・例示

スコアの伸びは、能力の伸びと測り方の伸びの和として現れる

※ この節の例は、説明のために作った架空のものです。

スコアが8ポイント伸びても、そのうち能力の伸びは1ポイントだけ、ということがありうる。増えた正答を由来ごとに数えると、汚染と採点の甘さがスコアをどれだけ押し上げ、なぜスコアの差だけではそれが見えないのかがわかる。

500問のテストで、あるモデルの正答が300問(60%)から340問(68%)へ増えたとする。前に正答した300問はすべて引き続き正答し、増えた40問はそれぞれ一つの由来に分けられるとする。増えた40問のうち25問は、問題と答えが訓練データに入っていて、モデルが答えを覚えていた問題だった。別の10問は、テストが答えの正しさを確かめきれないほど弱く、誤った答えでも合格と判定された問題だった。残りの5問(1ポイント)が、見たことのない問題を解けるようになった分、つまり能力の伸びにあたる。

増えた40問を由来ごとに分けると、三つのことがわかる。

  1. スコアの差(8ポイント)だけからは、能力の伸び(1ポイント)を取り出せない。
  2. 取り出すには、答えが漏れた問題と、弱いテストで通った問題を一問ずつ調べて除く必要がある。
  3. 二つのモデルを比べるときも、それぞれのスコアに漏れと採点の誤りが混ざりうる。どちらが強いかを差から決めるには、モデルごとに、問題のある合格を調べて除く必要がある。

このスコアを目標にして作り方を選び続けると、選ばれるのは、能力の伸びが1ポイントでもスコアが8ポイント伸びる作り方でありうる。測る数値を目標にすると、その数値が測りたいものを映さなくなるのは、この形である。

数字が能力と切り離される、その仕組み

グッドハートの法則として広く引かれる「測定が目標になると、それは良い測定でなくなる」という言い方は、いまの機械学習の分野をよく言い当てている。この言い方は、M. ストラザーンによる定式である1。OpenAI は自社の監査から、SWE-bench Verified の伸びはもはや実世界の開発能力の意味のある向上を映しておらず、訓練時にどれだけそのベンチマークに触れたかを次第に映すようになっている、と結論している2。同社はこの判断の射程を、最前線モデルの現在の水準に限って述べている。ただしいずれの出典も、現実の能力そのものが横ばいや劣化に転じたことを直接測ったわけではない。

スコアを能力から切り離す具体的な仕組みは、いくつもある。

訓練データの汚染(contamination)。ベンチマークの問題と答えが、知らぬ間にモデルの訓練データに混入する。モデルは「解いて」いるのではなく「思い出して」いる。Web から自動で集めた大量の文章で訓練する以上、公開された問題が訓練データに入るおそれがある。OpenAI も、SWE-bench の課題は多くの開発元が訓練に使う公開リポジトリから採られていると書き、公開された素材から作ったベンチマークには汚染のリスクがあると述べている2。

ただし「答えが漏れる」経路は訓練データへの混入だけではない。コーディング系の代表格 SWE-bench では、モデルに渡す入力である課題報告の側から答えが漏れる。ある監査は、当時首位だった SWE-Agent+GPT-4 の合格パッチ(テストに合格した修正コード)251件を人手で精査した。その約33%(82件)では、課題報告またはそのコメント側に解法そのものが直接書かれていた。原典はこれを “cheating” と呼び、課題文が正解のコードパッチをそのまま載せていた例を挙げている。漏洩と弱いテストによる合格を除き、ログで合格を確かめられなかった分も外して数え直すと、同じモデルの解決率は 12.47% から 3.97% へ落ちる3。

人手で選別された SWE-bench Verified でも漏洩は残り、同じエージェントが合格した112件のうち37件で、課題報告かその GitHub 上の議論に解法が直接書かれていた。SWE-Agent+GPT-4 の Verified での解決率は、漏洩と弱いテストによる合格を除くと 22.4% から 10.0% まで下がる。漏洩のある課題を外し、しかもモデルの訓練データを集め終えた時点より後に集め直した別のデータセット(SWE-bench+)では、このエージェントの解決率は 0.55% で、先の 3.97% よりさらに低かった3。

訓練データの汚染には、より深刻な形もある。タスクIDや課題文の断片のようなわずかな手がかりを与えるだけで、モデルが正解パッチや課題文を一字一句再現できてしまう汚染で、OpenAI は多ターンの誘導実験でこれを検出したと公表した。誘導の標的は推論モデルを除いて選んだ GPT-5.2-Chat・Claude Opus 4.5・Gemini 3 Flash Preview で、3モデルとも一部の課題で正解パッチか課題文の細部を一字一句再現した。最初に兆候を見たのは自社のモデルだったといい、その例として、ほぼ解けないと判定していた31問を GPT-5.2 が解いた件を挙げている。同社は2026年2月の同じ記事で、SWE-bench Verified の報告をすでに取りやめたと述べている2。

代理指標そのものの脆さ。MMLU(Massive Multitask Language Understanding)のような4択形式のスコアは、推論能力そのものの代理としては弱い。少なくとも、選択肢の並び順を変えるだけでスコアは動く。正解を知ったうえで選択肢の並び順を最良と最悪に選び分ければ、正答率の最大と最小の差は13〜85ポイントに開く。原典はこの量を、正解を知ったうえで到達できる最良と最悪の並びの差として定義している。つまり並べ替えが与えうる上限であって、適当に並べ替えたときに起きる典型的な変動ではない。13〜85ポイントという幅は、CSQA(CommonsenseQA)、MMLUの3科目、Big-Benchの論理推論という5つの多肢選択課題で、GPT-4・InstructGPT・Llama-2-13b の3モデルに解き方の例を添えず問題だけを与える形(ゼロショット)で解かせて測った結果だ。上限の85ポイントは Llama-2-13b で出た値で、GPT-4 での最大幅は53ポイントだった。ただし、GPT-4 が90%を超える正答率を出している課題でも、13.1ポイントの幅は残る4。

選択肢の位置によって答えが偏る現象(位置バイアス)が起きるのは、モデルが上位2〜3択で判断に迷うときだろう、と著者らは推測している。例示を数個添える few-shot にすれば直るのか、という当然の問いにも原典は一節を割いており、答えは、例示を加えても並び順への感度は大きいまま残り、例示を増やせば縮むとも限らない、というものだった4。

選択肢記号の付け替えや、記号で答えさせるか選択肢の文言そのものを答えさせるかという採点方法の違いだけでも、MMLUで11モデルを比べたリーダーボードの順位は動く。とくに Yi-6b は、記号をめったに使われない記号に替えたときや選択肢の文言側を採点したときに、3位から7位や8位まで落ちた。一方、同じ規模帯の Mistral-7b と Llama2-7b は、どの付け替えや採点方法でも1〜2位しか動かず、揺れの大きさはモデルごとに違う。原典は理由を不明としつつ、ベンチマークの出題形式への過学習の可能性を挙げ、訓練データが非公開なので確かめられないと断っている5。

つまり、選択肢の並び順や記号、採点方法によるスコアの動きは能力の向上を意味するとは限らない。スコアは、評価フォーマットの癖を突く技術や、測り方そのもののノイズを拾っているだけのこともある(なお、4択に向けた訓練が推論能力を犠牲にするかどうかは、本稿の出典では測っていない)。

採点に使うテストそのものの欠陥。汚染はスコアを押し上げるが、テストの欠陥はスコアを上下どちらの向きにも、モデルの能力とは無関係に動かす。下げる向きでは、OpenAI は、o3 が64回の試行で安定して解けなかった138問を監査した。この問題数はデータセットの 27.6% にあたる。監査の結果、少なくともその 59.4% が、テスト設計か課題文、あるいはその両方に実質的な問題を抱えていた。138問に対する割合で見ると、実装の細部まで強制して正しい提出を落とすテストが 35.5%、課題文に書かれていない機能まで検査するテストが 18.8%、分類しきれない雑多な欠陥が 5.1% で、合わせて 59.4% になる2。

押し上げる向きでは、合格パッチ251件を精査した先の SWE-bench の監査が、合格パッチの 31.08% を、テストが弱く正しさを確かめきれないまま通った「疑わしい合格」と判定した3。しかも OpenAI は、汚染とテストの欠陥が独立ではない証拠も見つけたと書いている。課題文に無い細部までテストが要求するとき、訓練で問題を見たモデルはその細部を知っているぶん通りやすい、というのだ2。

ベンチマークの陳腐化。固定された問題集は、公開された瞬間から、モデルどうしの差を見分ける力(識別力)を失い始める。みなが同じテストに向かってチューニングすれば、テストは飽和する。つまり上位のスコアが伸びなくなり、上位陣の差は誤差やノイズと区別できなくなる。ストラザーンが法則の直後に挙げた例も、この現象である。ある成績が「取れて当たり前」になるほど、その成績は個々の力量を見分ける道具として劣化していく1。SWE-bench Verified でも、OpenAI の発表時点で最高性能の伸びは直近6か月で 74.9% から 80.9% へと鈍っており、同社は「残る失敗はモデルの限界を映しているのか、それともデータセット自体の性質を映しているのか」と問うている2。こうなると、上位どうしのわずかな差は性能の優劣の根拠として使えない。

汚染を抑える評価の実例と、その限界

「テストで強い」ことと「現場で役に立つ」ことのあいだに乖離があるかどうかを、本稿の出典は直接測っていない。測っているのは、テスト側の数字がその問いに答えられなくなっていく過程のほうだ。

汚染を抑える手立てとして、問題を更新し続ける評価、非公開の問題で測る評価、汚染の検出手法が実在する。

問題を継続的に更新して汚染を構造的に抑える設計の例が、LiveBench である。LiveBench は2024年の論文時点で、数学・コーディング・推論・言語・指示追従・データ分析という6分野の問題を毎月更新すると公表していた6。もっとも、HuggingFace で誰でも取れる6分野の問題は、いちばん新しいものでも2024年11月のリリースで、配布ファイルも2025年4月から更新されていない(2026年10月時点)。一方で運営は、その配布とは別に問題の差し替えや追加を続けており、変更履歴には2026年1月までに5回の更新が並ぶ。2025年11月の更新は、ベンチマークの飽和と汚染への対処を目的に掲げている。リポジトリの説明は最新リリースの問題がすべては HuggingFace に出ていないと断っており、更新の間隔も毎月ではない6。

非公開の問題で測る held-out の評価にも実例はある。OpenAI は、専門家が非公開で書き起こした課題を訓練された評価者が採点する方式を挙げ、費用はかかるが真の能力の伸びを測るにはますます必要になっている、と述べている。乗り換え先についても具体的で、当面は SWE-bench Pro の公開サブセット(public split)での結果を報告しているという。完全ではないが汚染は経験的には少ないようで、見つかった例も Verified よりずっとまれで軽く、正解パッチを丸ごと一字一句出せたモデルは無かった、というのが理由だ。同じ記事は、データセットをパスワード保護のもとに置くことと、訓練データ側で canary 文字列(ベンチマークの文書に埋め込み、その文書を訓練データから除くための目印の文字列)を厳守することの2つも対策に挙げている2。ただし SWE-bench Pro については、OpenAI は2026年7月に課題を監査して約3割が壊れていると見積もり、Pro への乗り換えの推奨を撤回した7。

汚染そのものも、検出不能というわけではない。更新型・書き換え型・予防型という複数の対策手法が整理されており、モデルの内部をどこまで見られるか(白箱・灰箱・黒箱)に応じた検出手法も存在する。ある調査はこれらを体系的に整理し、より厳密な評価プロトコルの必要性を指摘している。ただし同じ調査は、既存の黒箱検出は経験則(ヒューリスティック)に依存して条件次第で破綻するとも述べており、頑健な検出手法の確立自体をこれからの課題に挙げている。さらに根に近いところでは、汚染と汎化、つまり「思い出している」のか「本当に解けるようになった」のかの曖昧さがなお未解決だとして、両者の区別を今後の研究が重視すべき点に挙げている8。少なくとも汚染については、検出と対策の手法を改良していく研究がある。ただし、汚染の検出と対策は、選択肢記号の付け替えや採点方法の選び方でスコアが動く問題を、それだけでは解消しない。

出典8件
  1. M. Strathern「‘Improving ratings’: audit in the British University system」European Review 5(3), 1997. https://doi.org/10.1017/S1062798700002660 — 「測定が目標になると…」は p.308 の地の文で、Goodhart の名を冠したのは Hoskin と書く。 ↩ ↩2

  2. OpenAI「Why SWE-bench Verified no longer measures frontier coding capabilities」2026年2月23日. https://openai.com/index/why-we-no-longer-evaluate-swe-bench-verified/ — 3モデルの一字一句の再現と138問の監査から、Verified の報告をやめ SWE-bench Pro へ移ると述べる。 ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7

  3. R. Aleithan ほか「SWE-Bench+: Enhanced Coding Benchmark for LLMs」arXiv:2410.06992, 2024. https://arxiv.org/abs/2410.06992 — 合格パッチの解法漏洩と弱いテストを人手で数える。掲載版は AIware ‘26(H. Xue ほか)で、数値は arXiv v2 による。 ↩ ↩2 ↩3

  4. P. Pezeshkpour & E. Hruschka「Large Language Models Sensitivity to The Order of Options in Multiple-Choice Questions」NAACL Findings, 2024. https://aclanthology.org/2024.findings-naacl.130/ — 並び順による正答率の差(13〜85ポイント)。 ↩ ↩2

  5. N. Alzahrani ほか「When Benchmarks are Targets: Revealing the Sensitivity of Large Language Model Leaderboards」ACL, 2024. https://arxiv.org/abs/2402.01781 — MMLU の順位が記号の付け替えや採点方法だけで動くことを示す。 ↩

  6. C. White ほか「LiveBench: A Challenging, Contamination-Limited LLM Benchmark」ICLR 2025. https://arxiv.org/abs/2406.19314 https://github.com/LiveBench/LiveBench/blob/main/changelog.md https://github.com/LiveBench/LiveBench/blob/main/README.md — 毎月の問題更新を論文時点で公表。変更履歴は2026年1月までの更新を記録する。 ↩ ↩2

  7. OpenAI「Separating signal from noise in coding evaluations」2026年7月8日. http://web.archive.org/web/20260708213039/https://openai.com/index/separating-signal-from-noise-coding-evaluations/ — SWE-bench Pro の課題の約30%が壊れていると見積もり、Pro の採用を勧めた以前の推奨を撤回する。 ↩

  8. Y. Cheng, Y. Chang & Y. Wu「A Survey on Data Contamination for Large Language Models」arXiv:2502.14425, 2025. https://arxiv.org/abs/2502.14425 — 吉林大学の調査。汚染と汎化の区別を未解決とする。査読の記録は見当たらず、被引用9件(2026年10月)。 ↩

この記事はAIを使用して執筆されました。内容には誤りが含まれる可能性があります。事実や数字の出典は脚注から確かめられます。