nemotron-gym-math-openmathreasoning
收藏数据集概述
基本信息
- 数据集名称:
laion/nemotron-gym-math-openmathreasoning - 许可证: CC-BY-4.0
- 语言: 英语
- 任务类别: 强化学习
- 数据规模: 100K < n < 1M
数据格式
每个数据行包含以下列:
| 列名 | 类型 | 描述 |
|---|---|---|
path |
字符串 | 确定性短ID(格式:<family>-<sha256[:12]>.tar.gz) |
task_binary |
二进制 | 包含完整Harbor任务的gzip压缩tar包 |
Harbor任务布局
压缩包内部遵循Harbor的任务布局:
instruction.md— 给智能体的提示environment/Dockerfile— 基于python:3.11-slim-bookworm基础镜像及任务依赖tests/test.sh— 验证器入口(输出到/logs/verifier/reward.txt)tests/verifier.py— 验证器实现(内嵌、确定性)tests/verifier_data.json— 每个任务的验证器输入(JSON格式,无代码注入)metadata.json— 来源信息:源数据集、行索引、类别等task.toml— 标准Harbor任务配置(CPU、内存、超时默认值)
验证器类别
math_boxed — 从oxed{…}中提取内容,使用SymPy与标准答案进行比较。
来源与衍生
本数据集是 nvidia/Nemotron-RL-math-OpenMathReasoning 的Harbor格式转换版本,属于NVIDIA的 NeMo-Gym集合。
转换特点
- 安全构建: 数据集内容从不注入到shell、Python或Dockerfile源码中,所有值通过
tests/verifier_data.json(JSON格式)在运行时解析。 - 基础镜像固定: 使用名称固定的
python:3.11-slim-bookworm镜像,pip依赖经过严格白名单正则验证。 - 文本字段处理: 移除C0/C1控制字符并对长度进行限制,tarball路径经过遍历/NUL/绝对路径攻击验证。
- 确定性打包: tarball保证确定性(条目排序、
mtime=0、uid/gid=0),字节可复现。
使用示例
加载数据集: python from datasets import load_dataset ds = load_dataset("laion/nemotron-gym-math-openmathreasoning", split="train") print(ds[0]["path"], len(ds[0]["task_binary"]))
运行单个任务: bash python - <<PY import gzip, io, tarfile from datasets import load_dataset ds = load_dataset("laion/nemotron-gym-math-openmathreasoning", split="train") row = ds[0] with tarfile.open(fileobj=io.BytesIO(row["task_binary"]), mode="r:gz") as tar: tar.extractall("/tmp/math-openmathreasoning-task") PY harbor run -t /tmp/math-openmathreasoning-task -e daytona # 或 -e docker




