题库在表格里看着没问题:题干干净,选项 A 到 D,答案列填满。可模型在留出集上刷到九成,换一种说法问同一道题,又不会了。
最常见的原因是答案泄漏——答案的痕迹留在了题干里,或者解题过程只有在能看到答案时才能成立。
泄漏很少长得像 bug
它更像一些小习惯。正确选项恰好最长;题干里重复了只出现在正确答案里的数字;原始素材残留的编号指向 B;解题段落以「由上可知」开头,而「上」在导出时已经被删掉。
这些都不会让校验脚本报错,却会教会模型走捷径。模型学的不是学科,而是这道题的痕迹。
一条干净的题目记录长什么样
可用的一条题,核心是字段分开、各自有名字:
- 题干本身,不带任何答案标记
- 结构化的选项,一个字段一个选项
- 答案,指向选项而不是复述选项
- 分步解题过程
- 考察的知识点
- 职业类题目另有门类、工种与题型
字段分开的价值在于,同一份题源可以拼出不同的训练形态:只要答案做评测,答案加过程做 SFT,只要题干做生成任务。
覆盖比技巧更重要
九学科横跨三个学段,加十六个职业门类,这不是宣传数字,而是一个筛选条件。只在一个学科上微调,模型学到的是那个学科的措辞;在多个学科里看到同一种推理路径,模型学到的才是路径。
这也是我们把学科与学段做成字段的原因:买家按年级段或工种切片,不必再自己重标一遍。
交付前我们跑的清单
- 题干里有没有只有知道答案才说得通的句子?
- 选项能不能独立成立,不依赖互相引用?
- 解题过程能不能只从题干推导出来,而不是从答案倒推?
- 留出集是真留出,还是和训练集有重合?
- 不逐条打开,能不能按学科和学段筛选?
从哪里开始
如果训练目标是推理而不是记忆,题库与推理语料是最接近的一类;语料总目录说明了同一批题怎么分别用于评测与 SFT。
这批题库由 Zovda 通过 Datuva 组织生产:每道题入库前都要过一遍泄漏检查,检查本身也留痕。
把你的学科、学段和需要的量告诉我们,我们会在 1 个工作日内回复;范围确认后提供数据卡与字段说明。
