nemotron-gym-instruction-following-adversarial
收藏数据集概述
数据集名称:laion/nemotron-gym-instruction-following-adversarial
许可证:CC-BY-4.0
语言:英语
任务类别:强化学习
数据规模:1,000 至 10,000 条记录
数据集来源与转换
- 该数据集是对 NVIDIA 的 nvidia/Nemotron-RL-Instruction-Following-Adversarial-v1 数据集的 Harbor 格式转换版本,属于 NVIDIA 的 NeMo-Gym 集合的一部分。
- 转换由 OpenThoughts-Agent 中的
data/nemotron_gym适配器生成。
数据内容与格式
每条记录包含两列:
| 列名 | 类型 | 描述 |
|---|---|---|
path |
字符串 | 确定性短ID(格式:<family>-<sha256[:12]>.tar.gz) |
task_binary |
二进制 | 包含完整 Harbor 任务的 gzip 压缩 tar 包 |
压缩包内部结构(Harbor 任务布局)
instruction.md # 提供给代理的提示(Prompt) environment/Dockerfile # 基于 python:3.11-slim-bookworm 镜像 + 任务特定的 pip 依赖 tests/test.sh # 验证器入口(输出 /logs/verifier/reward.txt) tests/verifier.py # 验证器实现(嵌入式,确定性) tests/verifier_data.json # 每个任务的验证器输入数据(JSON格式,无代码插值) metadata.json # 元数据:来源数据集、行索引、家族等 task.toml # 标准 Harbor 任务配置(CPU/内存/超时默认值)
安全性设计
- 安全构建:数据集内容从不插入到 shell、Python 或 Dockerfile 源码中,所有值通过
tests/verifier_data.json(JSON格式,运行时解析)传递。 - 基线镜像固定:使用固定名称的
python:3.11-slim-bookworm镜像,pip 规格经过严格允许列表正则校验。 - 文本清理:文本字段移除 C0/C1 控制字符,长度有上限,tar 包路径经过遍历/NUL/绝对路径攻击校验。
- 确定性打包:tar 包内容确定性排序(
mtime=0,uid/gid=0),保证字节可重现。
验证器家族
- 验证器采用 LLM法官(LiteLLM) 方式,每个任务使用上游行中的
rubric和judge_prompt_template进行评判。
使用示例
Python 加载数据集
python from datasets import load_dataset
ds = load_dataset("laion/nemotron-gym-instruction-following-adversarial", split="train") print(ds[0]["path"], len(ds[0]["task_binary"]))
使用 Harbor 运行单个任务
bash
提取一个任务到目录并指向 Harbor
python - <<PY import gzip, io, tarfile from datasets import load_dataset ds = load_dataset("laion/nemotron-gym-instruction-following-adversarial", split="train") row = ds[0] with tarfile.open(fileobj=io.BytesIO(row["task_binary"]), mode="r:gz") as tar: tar.extractall("/tmp/instruction-following-adversarial-task") PY harbor run -t /tmp/instruction-following-adversarial-task -e daytona # 或 -e docker




