CoolFace
Datasetpublic

dusersad12/verl-deepscaler-curated

verl DeepScaleR Curated A cleaned, de-duplicated and evaluation-safe training split derived from the DeepScaleR-Preview-Dataset, reformatted for rule-based-reward RL post-training with verl. Total examples: 38,783 (from 41,705 raw records read across three source batches). Row format Each row follows the verl dataset_row template: field value data_source "DeepScaleR" prompt [{"role": "user", "content": <problem text>}] ability "math" reward_model… See the full description on the dataset page: https://huggingface.co/datasets/dusersad12/verl-deepscaler-curated.

sourceHugging Facemitupdated 4d agoView on Hugging Face
0likes50downloads
Dataset Card

verl DeepScaleR Curated

A cleaned, de-duplicated and evaluation-safe training split derived from the DeepScaleR-Preview-Dataset, reformatted for rule-based-reward RL post-training with verl.

Total examples: 38,783 (from 41,705 raw records read across three source batches).

Row format

Each row follows the verl dataset_row template:

fieldvalue
data_source"DeepScaleR"
prompt[{"role": "user", "content": <problem text>}]
ability"math"
reward_model{"style": "rule", "ground_truth": <answer>}
extra_info{"index": <0-based row position>, "solution": <solution text>, "id": <original record id>}

Rows are sorted by original record id ascending, and extra_info.index is simply the 0-based row position. extra_info.solution is carried through verbatim from the source export — an empty solution string is normal in these exports and is left empty.

Files:

  • data/deepscaler_curated.jsonl — JSONL mirror of the curated parquet (same rows, same order, same fields, one JSON object per line), loadable with plain json.loads.

Filtering rules

Records were triaged with the following checks, applied in this exact order; a rejected record is assigned the first reason it triggers, never two.

  1. 1.`malformed` — the line is not valid JSON at all, or problem is missing / not a string / blank after trimming, or answer or solution is missing or not a string.
  2. 2.`blocklisted` — the record id appears in an evaluation blocklist, i.e. it leaked into the evaluation split. Such records must never enter a training set.
  3. 3.`invalid_answer`answer is empty / whitespace-only, or is literally just quote marks ('' or ""), which the export tool wrote in place of a missing answer.
  4. 4.`duplicate` — the same problem text (compared after trimming surrounding whitespace) occurs in several surviving records with an identical answer across all copies. The copy with the smallest id is kept; the rest are dropped. Solutions are allowed to differ between copies — only the answer is compared.
  5. 5.`conflicting_answer` — the same problem text (again, trimmed) has copies whose answers are not all identical. Every copy is dropped. Answers are compared exactly after trimming whitespace; no attempt is made to normalize math notation, so two answers that merely "mean" the same thing are still treated as a conflict.

Build statistics

sourcerecords readkeptrejected
batch_a.jsonl13,90212,912990
batch_b.jsonl13,90212,910992
batch_c.jsonl13,90112,961940

| | total | 41,705 | 38,783 | 2,922 |

Rejections by reason:

reasoncount
malformed12
blocklisted150
invalid_answer28
duplicate2,148
conflicting_answer584
total rejected2,922

Curated parquet SHA-256: 24d6374e9832dedfd9454d2521edd010c5610558c0ff653023b16e17cc393805

Intended use

RL post-training (GRPO / rule-based rewards) on small reasoning models, e.g. to study emergent "aha moment" behaviour. Because every blocklisted id and every contested-label problem has been removed, evaluation numbers measured on the held-out split are not contaminated by this training set.

Source data

Problems and answers originate from the DeepScaleR-Preview-Dataset (~40k math problem-answer pairs compiled from AIME, AMC, Omni-MATH, Still, and CN_K12), which is distributed under the MIT license. This repository only re-organizes and filters that data.