Repository navigation
Conversation
D3 Test asks d3:lite 60 MMMU-Pro vision questions, drawn with a fixed seed, through POST /v1/systemone on the linux, linux-hrx, windows and windows-hrx portable builds of the commit. On a pull request, main's latest build runs first on the same machine as the baseline, as in the ASR test. - build_d3_mmmu_eval.py: downloads MMMU/MMMU_Pro (vision, test) into the runner's Hugging Face cache, keeps the questions d3 can be asked and draws --count of them with random.Random(--seed); records the dataset commit - d3_mmmu_test.py: one choice question over the option letters per screenshot; fails on unanswered questions, images missing from the prompt, and, against a baseline, under 90% same answers or more than 3 fewer right - d3_mmmu_summary.py: one job summary, platforms side by side Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
A new workflow, D3 Test (
.github/workflows/d3-test.yml). It asksd3:lite60 MMMU-Pro vision questions, drawn with a fixed seed (0), throughPOST /v1/systemone. It runs on the linux, linux-hrx, windows and windows-hrx portable builds that "Build Linux Portable" and "Build Windows Packages" produce for the commit. It followsasr-test.yml: the job that waits for the builds is the same, and on a pull request main's latest build runs first on the same machine as the baseline.build_d3_mmmu_eval.pyruns on the runner. It downloadsMMMU/MMMU_Pro(configvision, splittest) into the Hugging Face cache (/scratch/huggingfaceon Linux, the profile's default cache on Windows). It keeps the questions d3 can be asked: a PNG/JPEG/WebP image of at most 8 MB, 2–26 options, and an answer among them. It sorts them by id, draws 60 withrandom.Random(seed), and records the dataset commit inmanifest.json.d3_mmmu_test.pysends one request per question. The screenshot is the only image, and the question is achoiceover the option letters with no option text, as in MMMU-Pro's vision setting.d3_mmmu_summary.pywrites one job summary with the platforms side by side.When a run fails
d3-lite is close to chance on this set (the benchmark page has 15.0% for the NPU), so accuracy alone says little. Agreement with main's build is the check that catches a broken image path. Pushes to main and the weekly run (Tuesdays) have no baseline, so they only require every question to be answered and report the accuracy.
The trigger paths are the decision model and its contract, the
d3_npulibraries andD3-Lite-NPU2kernels, the image reader and processor,FlmImageCodecs.cmake, the server files that host/v1/systemone, and the test scripts. This PR changes the workflow itself, so it runs here.Not yet verified
/v1/systemone. A clean run and a run against a baseline both passed. A server that dropped images and a build whose answers drifted both failed. Drawing twice gave the same questions.vision/test-*.parquetwithid,options,answerandimagecolumns, and stops with a clear error if they aren't there.D3_MMMU_REVISIONismain. Once this has run, it should be pinned to the commit printed in the log. A PR and its baseline always get the same questions, because one job draws them for both.🤖 Generated with Claude Code