AI・機械学習
2つのMMLUスコア:ベンチマーク名が固定しないもの
The Two MMLU Scores: What a Benchmark Name Does Not Fix (zatona.dev)
要約
この記事では、同じベンチマーク名「MMLU」の下で、あるモデルファミリーの2つのビルドに対して0.781と0.79という異なる精度スコアが得られた問題点を指摘しています。これは、MMLUという名前だけでは評価手順全体が固定されず、データ分割、実装、プロンプト形式、評価者、ネットワークアクセスなどの要因が異なると、結果の比較可能性が失われることを示しています。
全文翻訳
エンジニアリングブログ
2つのMMLUスコア:ベンチマーク名が固定しないもの
コピーページ
2つのMMLUスコア:ベンチマーク名が固定しないもの
日付: 2026年9月6日 · 著者: Dmitrii Zatona
TL;DR
同じベンチマーク名の下で、あるモデルファミリーの2つのビルドに対して2つのMMLU精度スコア(0.781と0.79)が得られ、スコア差のクエリに対して検証者は比較不可能(セクション1および5)と返します。mmluは名前を固定しますが、分割、実装、プロンプト形式、評価者、および実行者のネットワークアクセスは開いたままです。公開されている測定値が存在する場合、その違いは精度のポイントであり、千分の一ではありません(セクション2)。比較可能性は、結果が追跡可能である参照の特性であり、数値自体の特性ではありません(セクション3)。APL AI-Evalプロファイルの下では、フレームはコンテンツアドレス可能なオブジェクトであり、クレームはそのハッシュを運びます。2つのフレームは異なり、「すべて」というサブセットと省略されたキーは、正規化されたバイトによって異なるスコープです(セクション4)。apl-validは構造に関する声明であり、どちらのスコアが正しいかについては何も述べていません(セクション6)。
2つの評価レコードが同じテーブルに表示されます。1つはビルド42のmmlu精度0.781を報告し、もう1つはビルド44の0.79を報告します。クレームは同じプロバイダー、モデルファミリー、メトリック識別子、単位、およびベンチマーク名を宣言しています。算術的な差は+0.009です。レコードは構造的に有効です。それらのフレームは、異なる実行者、評価者、およびデータセット分割を宣言しています。共有のmmluラベルは、データセットファミリーを識別するものであり、完全な測定手順を識別するものではありません。以下のスコア差クエリでは、検証者は比較不可能と返します。以下は、そのペアを分解したものです。mmluが固定された後に開いたままになるもの、公開されている数値が各開いた変数の価値をどのように示すか、比較可能性が数値ではなく参照にどのように付随するか、そして条件がハッシュ化されたオブジェクトであり、ブリッジがある場合とない場合がある場合、apl-ai-evalクレートの検証者が出力するものです。以下のすべてのフレームとクレームは、クレートのテストベクトルからコピーされており、検証者の出力は、クレートの公開検証関数をそれらのベクトルに対して実行することによって記録されました。
1. 2つの数値が示すもの
ワイヤー上、メタデータ.aplの位置にあるログエントリのクレームAは次のとおりです。
```json
{"apl":{"version":"0.1","claim":{"kind":"observation","subject":{"type":"model-build","id":"model:acme-gpt-7b-build-42","build_id":"42","artifact_digest":"sha256:4242424242424242424242424242424242424242424242424242424242424242","provider":"acme","model_family":"acme-gpt-7b"},"aspect_refs":["accuracy"],"statement":{"predicate":"score","content":{"benchmark_id":"mmlu","metric_id":"accuracy","value":0.781,"unit":"fraction"}}},"frame_ref":{"hash":"sha256:c7b88426f2676f3653db0fad0bdbd689318f16d589d14a315bdd4cc454bca1ab"}}}
```
クレームB、2つのビルド後:
```json
{"apl":{"version":"0.1","claim":{"kind":"observation","subject":{"type":"model-build","id":"model:acme-gpt-7b-build-44","build_id":"44","artifact_digest":"sha256:4444444444444444444444444444444444444444444444444444444444444444","provider":"acme","model_family":"acme-gpt-7b"},"aspect_refs":["accuracy"],"statement":{"predicate":"score","content":{"benchmark_id":"mmlu","metric_id":"accuracy","value":0.79,"unit":"fraction"}}},"frame_ref":{"hash":"sha256:c93a9c55422ddbd2158a5336caa3a251641cf3937f451fb13387a5f54f0d998e"}}}
```
被写体は異なりますが、それがポイントです。1つのファミリーの2つのビルドです。各クレームはアーティファクトダイジェストを宣言しており、プロファイルはこの評価されたアーティファクトの不変のIDアンカーとして扱います。ステートメントは形状と語彙において同一です - 述語スコア、ベンチマークmmlu、メトリック精度、単位フラクション。クレームBは値を0.79と記述しています。表示ではそのJSON値を0.790と表示する場合がありますが、RFC 8785の正規化された数値シリアライゼーションでは、末尾のゼロは値を変えません。クレームレベルのポインタは異なります。frame_ref.hashは一方のレコードではc7b88426…、もう一方ではc93a9c55…です。2つのフレームを解決すると、手順とスコープの両方に違いが見られます。ハッシュはクレームレベルでの全体の信号です。このペアに対する誰かの望む関係もオブジェクトです。
```json
{"left_aspects":["accuracy"],"right_aspects":["accuracy"],"predicate":"score","relation_type":"score-delta"}
```
score-deltaは減算のリクエストです。そのリクエストに回答するために保持する必要があるのはセクション2と3であり、検証者が回答がない場合に返すのはセクション5です。
2. 「MMLU」が固定しないもの
benchmark_id: mmluは名前を固定します。5つの要素が未定義のまま残され、レコードはそれぞれの価値を次のように述べています。
2.1 分割
MMLUの論文では、15,908の質問が、57の主題にわたる各主題5つの質問からなる少数ショット開発セット、1,540の検証セット、および14,079のテストセットに分割されていると報告されています(Hendrycks et al., arXiv:2009.03300, §3)。ほとんどの実行者がロードするHugging Faceデータセット、cais/mmlu config allは、テスト14,042、検証1,531、開発285を報告しています(cais/mmlu)。hendrycks/test READMEからリンクされたアーカイブは、2026年9月にチェックした際に取得できませんでした(リダイレクト後にHTTP 403)。「MMLUテストセット」は異なるサイズの2つのオブジェクトを指しますが、レビューされたドキュメントは違いを説明していません。フレームAは開発セット(論文が固定少数ショット例のソースとして定義している285の質問、§4.1)でスコアリングするため、それでのスコアリングは選択であり、フレームが可視化すべき選択の種類です。フレームBはtest-liteでスコアリングします。これはクレート自身のテストベクトルで削減されたセットに使用されるラベルです。Hugging FaceのデータセットとモデルのAPI、およびGitHubリポジトリの検索をチェックしましたが、その名前の公開されたアーティファクトは見つかりませんでした。また、tinyMMLUでもありません。このラベルは、読者にプライベートなスライスが使用されたことを伝えます。どの質問が使用されたかは伝えていません。
2.2 実装
実装のばらつきに関する公開された測定値の1つは、2023年6月のHugging FaceのOpen LLM Leaderboardに関する投稿です。3つのハーネス(HELM、Eleutherハーネス、元のコード)は同じデータセットを5ショットで実行し、llama-65bを0.637、0.488、0.636で、falcon-40bを0.571、0.527、0.558でスコアリングします。この投稿は、共有のMMLUラベルにもかかわらず、3つの結果は比較可能ではないと結論付けています(What’s going on with the Open LLM Leaderboard?)。メカニズムはスコアリングです。元のコードは4つの回答文字の確率を比較します。HELMは次のトークン出力から生成し、期待されるテキストと比較します。ハーネスはオプションテキストを含む完全な回答シーケンスをスコアリングします。ランク順もそれに伴って移動します。ハーネスの下ではfalcon-40bがllama-65bの上に位置し、他の2つでは下に位置します。実行者も1つのオブジェクトではありません。lm-evaluation-harness MMLU READMEは、mmlu、mmlu_continuation(クローズスタイル)、およびmmlu_generative(モデルが回答文字を生成する)を、異なるタスクバージョンでの同じデータに対する3つのタスクとして説明しています(lm-evaluation-harness, commit b954108c)。そのタスクガイドは、YAML設定とコードベースのコミットハッシュを、別の研究者が必要とするセットアップを再現するための単位として扱っています。num_fewshotはデフォルトで0であり、MMLU YAMLは何も設定していません。したがって、「5-shot MMLU」はタスクのプロパティではなく、コマンドラインフラグです。バージョン0.3.0ではユーザーに各タスクのバージョンを報告するように求めていましたが、現在のメインではそのような要求はありません。
2.3 プロンプト形式
Anthropicの2023年の評価に関する報告によると、プロンプト形式のみ(オプションラベル、括弧、回答前の余分なスペース)でMMLU精度が約5%変動します(Challenges in evaluating AI systems)。回答位置はさらに変動します。Zhengらの報告によると、MMLUでは、正解をDの位置に移動させるとgpt-3.5-turboのスコアが67.2から60.9に低下し、Aの位置に移動させるとllama-30bのスコアが15.2ポイント上昇して68.2(gpt-3.5-turboの65.3に対して)となり、元の53.1対67.2を逆転させます(arXiv:2309.03882)。ここでの両方のフレームはprompt_protocol: zero-shot-mcq-v1を宣言しているため、この変数は保持されています。保持されている変数は、書き留められている場合にのみ可視的に保持されます。
2.4 評価者
フレームAはexact-match-v1で評価します。フレームBはllm-judge-v3で評価します。これらは1つの関数の2つの実装ではありません。Zhengらは、ジャッジモデルが「強い位置バイアスを示す」こと、そしてGPT-4のみが60%以上のケースで一貫性を保ったこと(65.0%、他のモデルは46%)を発見しました。