feat(metrics): consolidate gpt-oss/deepseek accuracy, dedup reporting, surface TPS#400
feat(metrics): consolidate gpt-oss/deepseek accuracy, dedup reporting, surface TPS#400arekay-nv wants to merge 4 commits into
Conversation
|
MLCommons CLA bot All contributors have signed the MLCommons CLA ✍️ ✅ |
There was a problem hiding this comment.
Code Review
This pull request introduces support for consolidating multiple accuracy datasets into a single combined score using a consolidation group tag, which is particularly useful for rolling up subsets like gpt-oss (e.g., AIME25, GPQA, and LiveCodeBench) into a sample-weighted overall score. It extracts shared accuracy breakdown helpers into a new module, refactors compliance and plotting utilities to use them, and updates the benchmark finalization process to attach consolidated accuracy breakdowns to the report. The feedback suggests a cleaner and safer approach to retrieving the dataset sample count during per-subset audit entry generation by avoiding fragile assert statements and direct internal attribute access in favor of the public num_samples() API.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
213b8c5 to
1ecb9e8
Compare
Squashes the feat-consolidate-accuracy-reporting branch into one commit: - Consolidate gpt-oss/deepseek accuracy into per-dataset scoring; dedup reporting; surface TPS. - Add composite MLPerf gpt-oss-120b accuracy dataset + scorer: one results.json entry with a headline score plus a per-subset breakdown (aime25 / gpqa / livecodebench), mirroring the DeepSeek-R1 model. - Score each accuracy dataset into its own entry; drop the group dispatch/config field so examples emit one entry per dataset. - Delete the superseded GptOssAccuracyScorer orchestrator. - Enable per-dataset max-osl; cover the performance num_samples branch. - Bake the MLCommons-standard per-subset repeats (aime25 8 / gpqa 5 / livecodebench 3) into the gpt-oss-120b composite dataset: load() replicates each subset's rows in-memory by its factor, and the composite scorer divides the replication back out so the headline stays weighted by unique problem count. A config-level num_repeats multiplies on top. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
8eb098f to
d29c111
Compare
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Summary
Deduplicates the reporting layer, gives gpt-oss-120b and deepseek-r1 a uniform per-subset accuracy breakdown, and surfaces TPS everywhere QPS appears.
Reporting dedup
evaluation/accuracy_results.py(to_float,find_accuracy_breakdown,ACCURACY_METRIC_KEYS,build_breakdown);metrics/results_plots.pyandcompliance/checker.pynow import it instead of their copy-pasted helpers.results.jsonresultsblock is single-sourced from theReport(drops the duplicate QPS recompute inexecute.py).Accuracy consolidation (uniform BFCL-shaped breakdown:
overall_accuracy/subset_scores/total_samples, 0–100)LegacyMLPerfDeepSeekR1Scorernow surfaces its per-subset breakdown viascore_breakdown()(was discarded to a scratch file).GptOssAccuracyScorerruns the 3 member scorers once and rolls them up sample-weighted by unique problem count (matchingendpoints-launch/…/generate_points.py).finalize_benchmarkemits both the per-subset<subset>::gptossentries (audit + downstream compat) and one consolidatedgptossentry with a breakdown — from the single scoring pass, no re-scoring.accuracy_config.group(the::variantsuffix is a naming convention, not a grouping signal). Group members must return scalar scores in[0,1].Report.display()/report.txt/result_summary.json; the report is written in afinallyso a scoring failure can't discard the perf run's artifacts.TPS
results.json;Report.display()gains a symmetricTPS: N/Abranch.Test plan
test_accuracy_results.py,test_gptoss_scorer.py,test_score_accuracy.py; extended deepseek/report/plots/checker tests. 412 unit tests pass; all pre-commit hooks pass.🤖 Generated with Claude Code