ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

时间与数字不再难:BEV Decision Mix numeric_temporal配置的43种计算题构建原理

时间与数字不再难:BEV Decision Mix numeric_temporal配置的43种计算题构建原理
  • 数据集
  • 人工智能

【免费下载链接】bev-decision

项目地址:https://ai.gitcode.com/hf_mirrors/avbiswas/bev-decision
点击查看免费下载

BEV Decision Mix(bev-decision)是一个面向有界决策模型训练的英文决策数据集,numeric_temporal配置专门覆盖时区换算、时间跨度、保修窗口、按比例分摊(proration)、单位换算这类"时间与数字"题目。本文将带你拆解其中43 种计算题的构建原理:它们如何被程序化生成、标签如何保证 100% 可验证,以及测试集为何能真正考察"没见过模板"的泛化能力。

numeric_temporal 配置全景:19,806 行数据怎么来的

打开 README.md 的 Additional configs 一节可以看到,numeric_temporal由五个来源拼成,数据文件位于 numeric_temporal/train.parquet 和 numeric_temporal/test.parquet:

数据来源行数考察的决策
TimeQA8,873某个时刻哪条事实成立;答不上来选none_at_that_time
生成器·模板渲染3,97743 种计算类型,套短/中/长三档模板
生成器·模型写作渲染3,997同一批计算类型,改写成自由对话口吻
FinQA2,604精确执行值、临界阈值判断、变化幅度分档
TAT-QA355基于报表表格的精确数值

整个配置的题型分布为18,004 道 CHOICE(单选)、17,204 道 NOUL(是/否判断)、4,158 道 SCORE(有序量表打分),训练集 16,477 行,测试集 3,329 行,与全项目共享统一的五列结构(state、questions_json、domain、question_types、question_count)。

一句话总结定位:这个配置训练的不是"会聊天"的模型,而是能把带时间限定词和数字的输入压成一个有界答案(选一个选项、判一个布尔、打一个有序分)的模型。

43 种计算题的构建原理:生成器 × 模板渲染

这是本配置最有"工程味"的部分,也是标题里 43 的来源。

172 个组合 = 43 种计算类型 × 4 种渲染风格

README 的 Caveats 一节透露了一个关键数字:172 个"计算类型/渲染组合"。它的构成可以这样理解:

  • 43 种计算类型:时区换算、时间跨度、保修窗口、按比例分摊、算术、单位换算、时间限定事实等(详见配置 Focus 描述);
  • 4 种渲染风格:短、中、长三档模板 + 模型自由写作(free-form messages)。

43 × 4 = 172,正好对上。每个计算类型都被渲染成不同长度、不同口吻的题干,让模型学到的是"计算关系"而不是"模板腔"。

28 个组合只在测试集出现:这才是真正的泛化测试

172 个组合中有 28 个是 test-only(只在测试集出现)。也就是说,模型在训练时从没见过这 28 种"计算类型 × 渲染风格"的搭配,测试时却要答对它们。

这比"同分布测试"严格得多:它衡量的是模型能否把学会的时间/数值推理规则迁移到全新表述上,而不是背模板。📊

标签从哪来?——程序算的,模型只动嘴不动笔

这一点是理解"构建原理"的核心。README 明确写道:

Inhard_50kandnumeric_temporal, labels come from source annotations, executed programs,time-zone computation (IANA tz database), or rules evaluated in code.

  • 时区题:答案由 IANA 时区数据库(tz database)计算得出,不是人估的;
  • 算术/换算/分摊题:由执行过的程序和代码里求值的规则产生标签;
  • GPT-6 Luna 的角色:它只在 3,997 行中负责"把题目改写成自然语言",从未参与打标签。它的每一行输出都要通过两层关卡——确定性程序校验 + 独立模型质检,不合格的整行丢弃。

简单说:模型只负责把题"说人话",答案永远来自可重算的代码。这保证了这道题算出的数,你和程序算出的数一定一致。

三种决策类型如何包装数值计算

numeric_temporal里的每一行都遵循 BEV Decision Mix 统一的 JEV 风格契约(CHOICE/NOUL/SCORE),对应到数值场景就是:

类型数值题中的典型形态标签
CHOICE4 个候选答案选一个(如"跨越 DST 后本地时间是什么")criteria中一个稳定 key
NOUL临界判断(如"此刻是否在保修期内?"、"是否超过阈值?")布尔值
SCORE变化幅度分档(FinQA 的 change-size bands 就是典型)有序量表索引

注意 README 的提醒:SCORE 标签是序数目标,不是校准过的概率,也不是自由数值回归。做 FinQA/TAT-QA 类"精确值"题时,答案是程序执行出来的数,但打分本身仍落在有界量表上——这正是"bounded decision(有界决策)"训练范式的精髓。

上手建议与必须知道的注意事项

加载方式

数据与项目内其他配置一样走标准 datasets 接口:

from datasets import load_dataset numeric = load_dataset("avbiswas/bev-decision", "numeric_temporal") example = numeric["train"][0]

如果习惯直接拉仓库文件,仓库地址为https://gitcode.com/hf_mirrors/avbiswas/bev-decision,numeric_temporal配置对应其中的 numeric_temporal/ 目录。

使用前的 4 个提醒(来自 README Caveats)

  • FinQA 与 TAT-QA 的 dev 集被用于训练——如果你要在这两个公开基准上评测,先检查记录级重叠;
  • TimeQA 的"错误时段"判定假设其标注答案是完备的;
  • 生成器行共享同一套"模板文风",模型可能学会的是文风而非推理,测试集的 28 个 test-only 组合正是为此设计的"照妖镜";
  • 项目没有统一的打包许可证(license: unknown),二次分发或商用前请核对各上游来源(TimeQA 为 BSD-3-Clause 等)的条款。

小结

numeric_temporal的构建思路可以浓缩成三句话:

  1. 题目程序化生成:43 种计算类型 × 4 种渲染 = 172 个组合,题干有短有长、有模板有口语;
  2. 标签代码化验证:IANA 时区库 + 执行程序 + 代码求值规则,模型只改文字不碰标签;
  3. 测试集防背题:28 个 test-only 组合确保测的是"迁移能力"。

对想训练数值/时间推理能力的模型来说,这是 BEV Decision Mix 五个配置中最"硬核"的一块。

  • 数据集
  • 人工智能

【免费下载链接】bev-decision

项目地址:https://ai.gitcode.com/hf_mirrors/avbiswas/bev-decision
点击查看免费下载
上一篇:Flow Launcher完整指南:如何用开源启动器提升Windows工作效率300%
下一篇:金融级报表无缝切换:kkFileView实现Excel与PDF格式自由转换

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进