CoolFace
Datasetpublic

FineEnvs/SmolDataEnvs-sft

πŸ› οΈ SmolDataEnvs β€” SFT 5.5K+ RL tasks for hill-climbing small models in code and data science. A 2B model on these tasks. Left: what it optimises. Right: 144 held-out tasks it never trains on. Two runs over the same 5,000 tasks β€” shuffled against a curriculum ordered easiest to hardest. 4,677 worked examples of an agent doing data science the right way. Each row is a complete, verified-correct trajectory: read the question, poke at the data with a shell tool… See the full description on the dataset page: https://huggingface.co/datasets/FineEnvs/SmolDataEnvs-sft.

sourceHugging Facemitupdated 2h agoView on Hugging Face
0likes
Dataset Card

<div align="center">

πŸ› οΈ SmolDataEnvs β€” SFT

![Collection](https://huggingface.co/collections/FineEnvs/smoldataenvs)

</div>

5.5K+ RL tasks for hill-climbing small models in code and data science.

<div align="center">

<img src="https://huggingface.co/datasets/FineEnvs/SmolDataEnvs-sft/resolve/main/curves.gif" alt="Reward and held-out pass@k climbing over 1,119 GRPO steps" width="100%">

<sub>A 2B model on these tasks. Left: what it optimises. Right: 144 held-out tasks it never trains on.<br> Two runs over the same 5,000 tasks β€” <b>shuffled</b> against a <b>curriculum</b> ordered easiest to hardest.</sub>

</div>

4,677 worked examples of an agent doing data science the right way. Each row is a complete, verified-correct trajectory: read the question, poke at the data with a shell tool, reason, compute, write the answer. Every one of them solved its task and passed the deterministic grader, so you are fine-tuning on demonstrations that are known to be correct rather than merely plausible.

Drop-in ready for TRL: conversational messages plus tools.

What's inside

  • β€”4,677 correct trajectories, one per task
  • β€”Difficulty β€” easy 1,402 Β· medium 2,640 Β· hard 635
  • β€”One tool throughout: bash

What's in a row

  • β€”`messages` β€” the full conversation in OpenAI/TRL chat format: system β†’ user (the task) β†’ assistant (reasoning plus tool_calls) β†’ tool (command output) β†’ … β†’ final assistant answer
  • β€”`tools` β€” the bash tool's JSON schema, for apply_chat_template(..., tools=...)
  • β€”task_id, difficulty (1–5), difficulty_tier, n_turns, source_agent

Fine-tune with TRL

python
from datasets import load_dataset
from trl import SFTConfig, SFTTrainer

ds = load_dataset("FineEnvs/SmolDataEnvs-sft", split="train")
trainer = SFTTrainer(
    model="HuggingFaceTB/SmolLM3-3B",
    train_dataset=ds,
    args=SFTConfig(output_dir="smoldataenvs-sft", max_length=8192),
)
trainer.train()

A runnable notebook and a single-file script for HF Jobs are in FineEnvs/04-smoldataenvs.

Where it comes from

Built from the jupyter-agent dataset β€” real data-science notebooks over 471 Kaggle datasets. Every question–answer pair was extracted and then verified: strong agent models had to solve the task in a live sandbox and reproduce the gold answer under deterministic grading. Anything ambiguous or un-checkable was dropped. So every task here is known-solvable and unambiguously gradable.

Verified by a checker, not judged by a model. Grading is an exact comparison against a known answer, through a ladder of checks: exact match β†’ numeric with tolerances β†’ list and percent normalisation β†’ symbolic equivalence. No LLM sits in the reward path, so the signal does not drift when you change the grader's model, because there isn't one.

The family

RepoWhat it is
`SmolDataEnvs`the tasks as plain rows β€” load it and prompt any model
`SmolDataEnvs-sft`4,677 verified agent trajectories, TRL-ready
`SmolDataEnvs-harbor-train`5,000 tasks as Harbor environments
`SmolDataEnvs-harbor-test`250 held-out, deliberately harder
`SmolDataEnvs-harbor-eval`144 for quick validation during a run