Repository navigation
Add mbpp benchmark - #1257
Merged
bxyu-nvidia merged 1 commit intoMay 8, 2026
Merged
Add mbpp benchmark#1257
Conversation
Add MBPP+ benchmark (378 Python function-completion tasks) as a data-only follow-up on the HumanEval+ migration. Reuses the evalplus resource server unchanged via the existing 'dataset: humaneval | mbpp' knob; mirrors NeMo Skills' nemo_skills/dataset/mbpp/prepare.py: same evalplus source, same 4-space β tab transform, drops base_input/plus_input. The default codegen prompt is character-for-character identical to Skills' generic/codegen.yaml. Validated via Skills-vs-Gym prepare-output parity: 378/378 rows match across question, entry_point, canonical_solution, and task_id (renamed into verifier_metadata.task_id to match the resource server contract β same convention as the human_eval sibling). Signed-off-by: gwarmstrong <georgea@nvidia.com>
bxyu-nvidia
approved these changes
May 8, 2026
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.
Add mbpp benchmark
Summary
Migrates the MBPP+ benchmark (378 Python function-completion tasks)
from NeMo Skills into Gym as a data-only follow-up to the HumanEval+
migration (#1201). Reuses the
evalplusresource server unchanged βits
dataset: humaneval | mbppknob was already in place β so thisPR adds only the new
benchmarks/mbpp/directory.Includes
benchmarks/mbpp/β benchmark dataset bindingevalplus.data.get_mbpp_plus()(378 tasks, MIT license).
prepare.pymirrors NeMo-Skills'nemo_skills/dataset/mbpp/prepare.py:same
evalplussource, same per-rowprompt.replace(" ", "\t")(Skills comment: "models like tabs more than spaces"), drops
base_input/plus_input(re-fetched at eval time by EvalPlus).prompts/default.yamlis character-for-character identical toSkills'
nemo_skills/prompt/config/generic/codegen.yaml.config.yamlinherits theevalplusresource server withdataset: mbpp; reuses theevalplus_simple_agentconfiguration.Validation (data-only / Mode 2)
Skills-vs-Gym prepare-output parity, run on the same
evalplus==0.3.1upstream:
Documented schema rename: Skills' top-level
task_idis moved intoverifier_metadata.task_idto match theevalplusresource server'sverifier contract; Skills' extra informational fields (
assertion,atol,contract,prompt) are dropped (not consumed by eitherevaluator). This mirrors the schema convention adopted in the
benchmarks/human_eval/sibling.The
evalplusresource server's existing test suite (24 tests,including
TestLoadDatasetAndExpected.test_mbpp_path) continues topass without modification.
Licensing
MBPP+ is MIT-licensed (https://github.com/evalplus/evalplus).