数据谱系、去重与切分怎样防止虚假学习
模型看到的是 token,但训练证据必须能回到原始来源。否则一个高分无法回答:这是泛化、记忆、重复,还是评测答案已经进入训练集?
一条样本应留下什么
text
source_id → 原始内容哈希 → 许可/用途 → 抓取时间
→ 清洗版本 → 去重簇 → tokenizer 版本 → split → sample_id固定案例中的 2+3=5 若来自公开教材,应记录教材版本、页码或文档 ID,而不是只保存最终字符串。处理后至少保留可逆定位标识和丢弃原因统计;隐私数据还要有访问、删除和保留策略。
三种“相同”
| 类型 | 例子 | 检查方式 |
|---|---|---|
| 精确重复 | 两条字节完全相同 | 内容哈希 |
| 近重复 | 标点、空白或模板略有变化 | 规范化哈希、MinHash 等 |
| 语义重叠 | 题面改写但答案相同 | 实体/题目簇、人工抽样、语义检索 |
删除精确重复不能自动解决近重复和语义污染。去重也不是越强越好:合法高频模式可能本来就是目标分布的一部分,必须记录规则和影响。
切分单位必须匹配泛化问题
- 想泛化到新用户:按用户切分;
- 想预测未来:按时间切分;
- 想处理新文档:按文档/来源切分;
- 同一题目的改写:按题目簇切分;
- 医疗等群组数据:常按患者/机构切分。
随机按行切分很方便,却可能让同一实体的近重复同时进入训练和验证。
时间泄漏
若评测模拟 2025 年初部署,训练数据不能包含 2025 年后发布的答案。时间边界应按内容发生时间与采集时间分别记录,因为“今天抓取的旧文章”和“今天发生的新事件”含义不同。
最小审计
对每个 split 输出:样本数、token 数、来源分布、时间范围、去重簇交集、标签分布和人工抽样。再随机选一条评测样本,反向查找是否有训练近邻。
常见错误
- 清洗后才生成 ID,无法回到原始证据;
- 先随机切分再去重,同簇样本跨 split;
- 只检查完全相同字符串;
- 评测集公开后继续参与数据抓取却不重新审计;
- 把删除率当质量指标,不检查删除了什么。
自测
本节自测
先作答,再查看解释。记录只保存在当前浏览器。
完成 0 / 3
打印版答案:1. 错;2. 用户实体;3. 必须覆盖来源、版本、重复和时间。
下一步
数据边界明确后,进入预训练运行怎样建立证据。