Skip to content

Fix MMR-Bench data integrity and optional joint input splitting - #21

Merged
AIGNLAI merged 1 commit into
mainfrom
fix/mmrbench-loader-integrity
Oct 16, 2026
Merged

AIGNLAI merged 1 commit into
mainfrom
fix/mmrbench-loader-integrity

Conversation

@AIGNLAI

@AIGNLAI AIGNLAI commented Oct 16, 2026

Copy link
Copy Markdown
Collaborator

Summary

Fix production MMR-Bench V1 loader issues found during the full-7 reproduction, without changing router algorithms or metrics.

  • Parse mixed boolean/string/numeric correctness labels into numeric values; reject malformed/out-of-range labels and invalid monetary costs. Preserve original costs, including valid zeros.
  • Make candidate coverage explicit. The shipped config selects complete-models: on the audited release, exclude GPT-5-nano (missing 3,040 MathVision observations), keep nine candidates in canonical order and all 10,370 queries. No missing-cell imputation or query dropping. Strict error policy is available and is the fallback for programmatic configs without a policy.
  • Expose actual released answers as model_i_response, retaining model_i_prediction as an identical backward-compatible alias. This allows EA-RAM to train its ex-post evaluator instead of silently skipping response-dependent training.
  • Support archive-native and prepared image layouts, with explicit errors for missing/ambiguous paths.
  • Add opt-in joint-grouped in-domain splitting using transitive components of identical decoded RGB images OR whitespace-normalized query text. The default remains the historical legacy row-random split, with an overlap warning.
  • Add regression tests, a complete example config and protocol documentation.

Protocol caveats

The corrected nine-model candidate pool is not the historical ten-model evaluation. Joint grouping is optional and is not the untouched default protocol: fractions are approximate, grouping is not per-task stratified, and an entire task can fall in test. It prevents split input overlap, not external pretrained-model exposure.

Validation

  • Full local offline/unit smoke suite: 135 tests passed, including 17 new MMR-Bench regression tests.
  • Regression coverage includes EA-RAM actually fitting its evaluator on released-response aliases; original costs and model-column identity; strict missing-data behavior; transitive image/text grouping; duplicate image encodings; image failures; and exact legacy-split compatibility.
  • Complete official raw-data validation through the production loader with the joint-grouped protocol: 2,059 train / 8,311 test, nine complete candidates, all 10,370 queries retained. Every ID, prompt, image path, answer, task, quality, cost and model response matches the audited frozen reproduction inputs.
  • Python compilation and git diff --check passed.

Scope

Only the loader, benchmark/example configs, documentation and regression tests are included. No experiment runners, cache machinery, datasets, results, weights, NIRT gateway changes, credentials or machine-specific paths are committed.

@AIGNLAI
AIGNLAI merged commit 7f3e770 into main Oct 16, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant