nemo_rl.data.datasets.response_datasets.numinamath#

Module Contents#

Classes#

NuminaMath15Dataset

Simple wrapper around the NuminaMath-1.5 dataset.

Data#

API#

nemo_rl.data.datasets.response_datasets.numinamath.NON_VERIFIABLE_ANSWERS#

‘frozenset(…)’

class nemo_rl.data.datasets.response_datasets.numinamath.NuminaMath15Dataset(
split: str = 'train',
verifiable_only: bool = True,
require_valid: bool = True,
split_validation_size: float = 0.0,
seed: int = 42,
**kwargs,
)#

Bases: nemo_rl.data.datasets.raw_dataset.RawDataset

Simple wrapper around the NuminaMath-1.5 dataset.

AI-MO/NuminaMath-1.5 is a large competition-math corpus (896,215 rows). A sizeable portion of it has no checkable answer, so by default the wrapper keeps only rows suitable for verifiable-answer training — otherwise the literal strings "proof" / "notfound" would be handed to the math verifier as ground truth.

Parameters:
  • split – Split name for the dataset, default is “train” (the only split).

  • verifiable_only – Drop rows whose answer is a non-verifiable sentinel and rows whose question_type is "proof", default is True. Both checks are needed: the two sets only partially overlap, so a row can be tagged "math-word-problem" and still carry answer="proof".

  • require_valid – Keep only rows the dataset marks as both problem_is_valid == "Yes" and solution_is_valid == "Yes", default is True.

  • split_validation_size – Size of the validation data, default is 0

  • seed – Seed for train/validation split when split_validation_size > 0, default is 42

Initialization

static _has_verifiable_answer(data: dict[str, Any]) bool#
static _is_marked_valid(data: dict[str, Any]) bool#
format_data(data: dict[str, Any]) dict[str, Any]#