【免费下载链接】bev-decision-150K
BEV 150K Decision Mix(仓库名bev-decision-150K)是一个由 4 个独立构建批次合并而成的15 万行英文有界决策数据集,共包含 296,582 个决策问题,覆盖情感分类、工具路由、金融报表等 17 个领域。其中 20,000 行切片由GPT-6 Luna完成了问题重写与源引文选取,所有标签均保留原始来源支撑。这篇文章带你拆解它的批次构成、三种决策格式和重写过程,帮你在动手使用前先搞清楚这份数据的来历。
🧩 三种决策格式:CHOICE、NOUL、SCORE
BEV 150K 的设计目标是训练"做有界决策"的模型:给定输入状态,模型只需选一个选项、判断一个命题、或打一个有序分数,而不是生成大段自由文本。
每一行数据包含state(输入状态)和questions_json(决策问题集合)两个核心字段,问题分为三种类型:
| 类型 | 任务目标 | 问题数 | 占比 | ||||
|---|---|---|---|---|---|---|---|
| CHOICE | 从有界的criteria选项表中选一个 key | 120,842 | 40.7% | ||||
| NOUL | 判断一个 yes/no 命题是否成立 | 118,265 | 39.9% | SCORE | 在有序、带描述的刻度上选一个下标 | 57,475 | 19.4% |
| 总计 | 296,582 | 100% |
三者的标注方式各不相同:
- CHOICE:
criteria把稳定的答案 key 映射到选项描述,label就是其中一个 key; - NOUL:
label是布尔值(true / false); - SCORE:
criteria是有序锚定等级的列表,label是它的零基下标。
⚠️ 注意:SCORE 的标签是序数目标(ordinal target),既不是校准过的概率,也不是无约束的数值预测。
为什么问题数(296,582)远多于行数(150,000)?因为同一个 state 可以携带多个决策目标,多个问题共享同一条输入状态。
📊 4 个独立批次:50,000 + 19,997 + 50,000 + 30,003
这份混合数据集并非一次性生成,而是由4 个独立构建的批次贡献而成:
| 批次 | 行数 |
|---|---|
| 批次一 | 50,000 |
| 批次二 | 19,997 |
| 批次三 | 50,000 |
| 批次四 | 30,003 |
| 合计 | 150,000 |
大部分标签来自上游标注、记录结果、测试转移、模拟器重放或声明的确定性策略,而非模型凭空生成。
打包时的 169 行调整:一行未增、一行未删
最终发布的切分为:train 125,614 行 / test 24,386 行,且没有验证集(validation split)。
为什么切分数和 4 个批次直接相加有出入?因为打包时有169 行被重新分配:
- 166 条 Upworthy 行从 test 移到 train;
- 3 行从 train 移到 test。
移动的唯一目的是:让重复的输入状态和相关的来源组保持在同一侧,避免同一状态在 train / test 两侧"泄漏"。整个过程没有新增或删除任何行,原始的 4 个批次也保持不变。
发布版共包含140,007 个去重后的归一化输入状态;同一个切分内重复出现的状态可以携带不同的决策问题。
✍️ GPT-6 Luna 重写过程:改的是措辞,不是答案
关于数据来源,README 中的 Construction and provenance 章节给出了明确的边界。GPT-6 Luna 的参与分两层:
第一层:20,000 行切片的问题重写
在这 20,000 行中,GPT-6 Luna 做了两件事:
- 重写有界决策问题的措辞,让问题表达更自然;
- 从现有记录中选取源引文(source quotes),为问题提供文本依据。
关键点:所有有来源支撑的标签都被原样保留——模型只动"问法",不动"答案"。
第二层:更小规模的重写步骤
其他较小的 Luna 步骤包括:
- 为现有响应选项命名;
- 生成日期可核验的截止日期类问题(date-checkable deadline questions)。
一条明确的红线:模型没有为本发布撰写任何新的原始来源段落(primary source passages)。
另外需要坦诚的一点:部分上游语料本身就是合成的、模板生成的或模型生成的——所以这不是一个"纯人类撰写 prompt"的集合。
每行数据带有主domain类别,README.md 中的领域表格列出了各上游来源;不过行级来源标识、原始来源下载和生成脚本都不随发布提供。
🌍 17 个领域的覆盖:从情感分析到游戏状态
数据集按"每行一个主领域"统计,实际发布的混合构成如下(节选占比前列的领域):
| 领域 | 行数 | 占比 | 代表性上游来源 |
|---|---|---|---|
| 情感、情绪与内容审核 | 25,156 | 16.8% | SST-5、GoEmotions、Civil Comments |
| 零售、商品与购物 | 19,883 | 13.3% | Online Retail II、Online Shoppers、Recipe Reviews |
| 空间与逻辑推理 | 19,579 | 13.1% | SpaRTQA、SpaRP/SpaRTUN、ProofWriter |
| 客服与意图路由 | 12,656 | 8.4% | CLINC150、MASSIVE、BANKING77 |
| 工具与工作流决策 | 10,224 | 6.8% | Taskmaster-1、Glaive Function Calling v2 |
| 科学与论文理解 | 9,133 | 6.1% | SciCite、SciFact、SciRIFF |
| 金融报表与银行 | 9,003 | 6.0% | TAT-QA、UCI Bank Marketing |
| 响应偏好与质量 | 8,693 | 5.8% | HelpSteer2、UltraFeedback Binarized |
| 软件工程与代码 | 8,186 | 5.5% | SWE-smith-py、MBPP |
| 软件安全 | 7,000 | 4.7% | NIST NVD |
| 其余 7 个领域 | 24,161 | 16.0% | 浏览器交互、标题吸引力排序、阅读理解、合同证据、游戏状态、垃圾短信、感官质量、市政与安全运营 |
可以看出,数据集的长尾刻意压得比较短:排名靠后的领域(如垃圾短信检测 1,399 行、葡萄酒质量评分 1,300 行)都是"小而精"的补充,保证决策场景足够多样。
📦 文件结构:两个 Parquet 文件与 5 列
整个发布只包含两个数据文件:
- data/train.parquet —— 125,614 行
- data/test.parquet —— 24,386 行
每个文件有 5 列:state、questions_json、domain、question_types、question_count,其中 JSON 列存放灵活的 JEV 风格问题对象。
为什么用 Parquet 而不是 JSON?因为异构的嵌套问题对象无法被可靠地推断为单一的 Arrow JSON schema,Parquet 是更稳妥的容器。
加载示例(Hugging Facedatasets):
import json from datasets import load_dataset ds = load_dataset("avbiswas/bev-decision-150K") example = ds["train"][0] state = example["state"] questions = json.loads(example["questions_json"])⚖️ 使用前的三个注意事项:许可、评测与标签
1)没有"一揽子"许可
这是混合来源发布,Hub 元数据标注为license: unknown,不主张任何统一的宽松许可。再分发或商用前,请逐个核对各领域表格中链接的上游来源及其条款,并对实际用到的每个来源做归属说明。
2)test 切分不是独立基准
test 只是混合体中留出的一部分,而且数据集本身包含多个现有基准家族——如果你要在同样的公开基准上评测,先检查记录与来源家族的重复情况。
3)部分标签的含义比名字更窄
- 银行"订阅"是观测结果,不是"应该联系该客户"的因果建议;
- CVSS 基础严重度不是资产专属风险;
- 游戏分数描述的是即时状态转移,而非长期期望收益;
- Taskmaster 的服务选择来自标注对话的推导,不是工具执行日志。
此外:部分选择题选项是采样或构造的,答案频率有时被重新平衡过——因此 test 切分和 SCORE 输出都不意味着现实世界校准;部分源判断与 LLM 重写的问题可能存在噪声;自动化的英文过滤也不能保证每条节选都是完美英文。
🚀 快速上手:三步开始使用
- 加载数据集:用
load_dataset("avbiswas/bev-decision-150K")读取 train / test 两个切分; - 解析问题:
json.loads(row["questions_json"])得到问题对象,按CHOICE/NOUL/SCORE类型分别处理标签; - 按领域采样:利用
domain与question_types两列做分层抽样,验证模型在决策任务上的表现。
小结
BEV 150K Decision Mix 的构建思路可以概括为一句话:4 个独立批次贡献 150,000 行有界决策数据,标签尽量保留上游来源,GPT-6 Luna 只负责重写问题措辞和选取源引文,不改动答案、不新造来源。如果你需要一个覆盖多领域、格式统一(CHOICE / NOUL / SCORE)、以 Parquet 交付的决策训练混合集,它可以是一个不错的起点——只需留意它的许可边界和"test 非独立基准"这一属性即可。
【免费下载链接】bev-decision-150K
相关推荐
5分钟快速上手BEV 150K Decision Mix:用datasets库加载并探索首批数据
5分钟快速上手BEV 150K Decision Mix:用datasets库加载并探索首批数据 BEV 150K Decision Mix 是一个包含 15
Rivet Actors React 集成实战:用 @rivetkit/react 构建类型安全的 Actor 前端
Rivet Actors React 集成实战:用 @rivetkit/react 构建类型安全的 Actor 前端 Rivet Actors 是面向有状态负载
winget-cli 开发者指南:从环境搭建、源码构建到调试与本地化实践
winget cli 开发者指南:从环境搭建、源码构建到调试与本地化实践 本篇指南基于 winget cli 仓库的 doc/Developing.md htt
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考