wflying/nemotron-nano-rl-mcqa-19k
Nemotron Nano RL MCQA 19K Nemotron Nano RL MCQA 19K is a 19,670-example English multiple-choice question answering dataset prepared for reinforcement learning with verifiable rewards (RLVR). Its nano_v3_sft_profiled_stem_mcqa identifier and schema correspond to the knowledge-MCQA component of NVIDIA's Nemotron-3-Nano-RL-Training-Blend, represented here in a compact prompt / label / metadata JSONL format. Each record contains a formatted user prompt, the correct option identifier… See the full description on the dataset page: https://huggingface.co/datasets/wflying/nemotron-nano-rl-mcqa-19k.
Nemotron Nano RL MCQA 19K
Nemotron Nano RL MCQA 19K is a 19,670-example English multiple-choice question answering dataset prepared for reinforcement learning with verifiable rewards (RLVR). Its nano_v3_sft_profiled_stem_mcqa identifier and schema correspond to the knowledge-MCQA component of NVIDIA's Nemotron-3-Nano-RL-Training-Blend, represented here in a compact prompt / label / metadata JSONL format.
Each record contains a formatted user prompt, the correct option identifier, explicit answer choices, prompt-template and output-regex metadata, per-model reward profiles, and an additional aggregate pass-rate profile. The dataset contains questions and reference answers, not model responses or chain-of-thought traces.
Despite the internal stem_mcqa name, sampled content includes law, human rights, public policy, mathematics, natural sciences, and other professional or academic knowledge domains. No reliable per-topic label is included, so this card describes the release as broad knowledge MCQA rather than a pure STEM dataset.
Dataset summary
All 19,670 lines parse as JSON and contain the top-level fields prompt, label, and metadata.
Upstream provenance
- nvidia/Nemotron-3-Nano-RL-Training-Blend: upstream profiled training blend.
- nvidia/Nemotron-RL-knowledge-mcqa: upstream knowledge-MCQA component.
- NeMo Gym: agent and verifier framework referenced by the upstream release.
Every row in this release has:
metadata.data_type == "nemotron_mcqa";metadata.dataset == "nano_v3_sft_profiled_stem_mcqa";metadata.agent_ref.name == "mcqa_simple_agent".
Data structure
Each line follows this structure:
{
"prompt": [
{
"role": "user",
"content": "<formatted question and choices>"
}
],
"label": "",
"metadata": {
"data_type": "nemotron_mcqa",
"num_tokens": 312,
"expected_answer": "C",
"uuid": "...",
"options": [
{"A": "first choice"},
{"B": "second choice"},
{"C": "third choice"}
],
"reward_profiles": [
{
"model_hf_path": "Qwen/Qwen3-235B-A22B-Instruct-2507",
"num_generations": 8,
"pass_rate": 1.0
},
{
"model_hf_path": "openai/gpt-oss-120b",
"num_generations": 8,
"pass_rate": 0.0
}
],
"template_metadata": {
"template_id": "mcqa_generated_047",
"template_prompt": "... {problem} ...",
"output_regex": "...",
"weight": 0.005952380952380952,
"prompt_type": "generated",
"format_type": "mcqa"
},
"agent_ref": {
"type": "responses_api_agents",
"name": "mcqa_simple_agent"
},
"pass_rate": 0.375,
"pass_rate_total": 8,
"pass_rate_passed": 3,
"dataset": "nano_v3_sft_profiled_stem_mcqa"
}
}Fields
prompt: A list containing exactly one formatted user message. It includes the question, choices, and a template-specific answer-format instruction.label: A compatibility field. It is an empty string in every record and must not be used as the target.metadata.expected_answer: Correct option identifier and the target field for training or evaluation.metadata.options: A list of singleton dictionaries mapping option identifiers to option text. Do not assume this is a single dictionary.metadata.uuid: Source-provided record identifier.metadata.reward_profiles: Eight-generation pass rates for each of two named models.metadata.template_metadata: Prompt template, answer-extraction regex, template type, weight, and format identifier.metadata.agent_ref: Intended MCQA agent/verifier family.metadata.pass_rate,pass_rate_total,pass_rate_passed: A separate aggregate profiling result.metadata.num_tokens: Precomputed prompt token count.metadata.data_typeandmetadata.dataset: Reward-routing and provenance identifiers.
Choices and answers
Number of choices
Reference option identifiers are distributed as follows:
All metadata.expected_answer values are non-empty strings. One 16-choice record uses P as its correct option identifier.
Option integrity caveats
The file preserves upstream option structures exactly. Validation found:
- 4 records where
metadata.expected_answeris not present among the parsed option keys; - 21 records with a duplicated option key;
- variable choice counts from 1 to 24.
Consumers should validate option keys before training or scoring:
def valid_options(example):
metadata = example["metadata"]
keys = [key for option in metadata["options"] for key in option]
return (
len(keys) == len(set(keys))
and metadata["expected_answer"] in keys
)
dataset = dataset.filter(valid_options)Flattening metadata.options into a dictionary can silently overwrite duplicated keys, so validation should happen first.
Prompt templates and answer extraction
The release contains 128 prompt templates:
All templates have format_type: "mcqa", but their response formats vary. Across the 128 templates there are 29 distinct extraction regexes. Formats include boxed answers, plain Answer: X, italic Markdown, angle brackets, and template-specific phrases.
For verifier-based evaluation, use metadata.template_metadata.output_regex rather than assuming one global answer format.
Difficulty and reward profiles
Every record contains two named model profiles, each based on 8 generations:
The top-level profiling fields in metadata are a separate measurement and should not be reconstructed by averaging the two reward_profiles:
For every record, the aggregate fields satisfy:
pass_rate == pass_rate_passed / pass_rate_totalAll pass rates are empirical results for the specific upstream models, prompts, sampling settings, and verifiers. They are not model-independent difficulty scores.
Loading the dataset
from datasets import load_dataset
dataset = load_dataset(
"wflying/nemotron-nano-rl-mcqa-19k",
split="train",
)
example = dataset[0]
prompt = example["prompt"]
answer = example["metadata"]["expected_answer"]
options = example["metadata"]["options"]
output_regex = example["metadata"]["template_metadata"]["output_regex"]Do not train against label, which is empty by design. Route verifier logic using metadata.data_type, metadata.agent_ref, and the per-example output_regex.
Data quality and validation
- 19,670 of 19,670 lines are valid JSON.
- Every record contains
prompt,label, andmetadatawith consistent field types. - Every prompt contains exactly one user message.
- Every
expected_answeris a non-empty string. - Every record has both named reward profiles with 8 generations per model.
- Every aggregate pass-rate tuple is arithmetically consistent.
- There are 19,667 unique prompts and 19,667 unique UUID values.
- Three UUID values occur twice.
- Three prompt occurrences repeat an earlier prompt.
- One record is an exact byte-for-byte duplicate of an earlier JSONL record.
- Option-key anomalies are documented above.
These checks validate syntax and structural invariants; they do not constitute a manual correctness review of every question, option, or expected answer.
Intended use
This dataset is intended for research and development involving:
- reinforcement learning with verifiable multiple-choice rewards;
- knowledge and reasoning post-training;
- prompt-format and answer-extraction robustness;
- curriculum construction using empirical pass rates;
- controlled comparisons between model-specific reward profiles;
- MCQA verifier development and evaluation.
It should not be treated as a standalone benchmark because it contains only a training split, lacks topic labels, and includes a small number of duplicated or malformed option structures.
Limitations
labelis empty in every record; usemetadata.expected_answer.- The release has no validation or test split.
- The internal
stem_mcqaidentifier overstates domain specificity; examples cover broader knowledge areas. - Four records have a reference answer absent from the parsed option keys, and 21 have duplicate option keys.
- One exact duplicate record and three repeated UUID values are present.
- Prompt templates use 29 distinct output regexes; a single hard-coded answer parser will not cover all examples.
- Pass rates depend on model, prompt, sampler, and verifier configuration.
- Topic distribution, class balance within each source domain, and benchmark contamination have not been independently audited.
- Source questions may contain incorrect answers, ambiguous choices, outdated information, or domain-specific biases.
- This compilation has not been independently audited for personal information or harmful content.
Users should validate answers, deduplicate as needed, inspect option integrity, and enforce train/evaluation separation for their application.
Licensing and attribution
This release uses the ODC Attribution License (odc-by) metadata of the upstream nvidia/Nemotron-3-Nano-RL-Training-Blend.
The upstream knowledge-MCQA component does not currently expose a separate license identifier in its Hub metadata. Users should review and comply with the NVIDIA blend license and any applicable source terms and attribution requirements. This section is informational and is not legal advice.
Citation
Please cite and attribute the upstream releases and tooling used by this component:
