数据去污染与评测隔离

03-数据工程 核心≈ 20 分钟 #去污染#数据泄漏#评测 reviewed
我的状态:

前置知识点

一句话定义

去污染是检测并剔除「训练数据与评测数据重叠」的过程,否则评测分数虚高,你测的不是能力而是记忆力。

为什么重要

污染是微调评测里最隐蔽的坑:它让每个指标都变好看,让团队为「提升」庆祝,而上线后用户立刻发现模型并不会。业界多个知名模型被指评测污染的争议,根源都在这里。对内,污染毁掉实验归因;对外,它直接关系报告数据的诚信(kp-027、kp-032)。

前置知识

kp-010 的训练数据构成;理解评测集是「考试卷」而训练集是「习题册」。

核心概念

  • 污染(Contamination):训练样本与评测样本在题目或答案上重叠。
  • n-gram 重叠检测:把文本切成 n 个词的滑窗(常用 13-gram),比对训练集与评测集。
  • 嵌入相似度检测:语义层面的近重复,能抓住改写型污染。
  • 评测隔离:评测集从构造起就与训练管线物理分离、冻结版本、禁止回改。

原理与机制

检测流程:对每个评测样本提取特征(题干 n-gram 集合或嵌入向量)→ 在训练集索引中查最近邻 → 相似度超过阈值(n-gram 重叠经验阈值 0.5-0.8,嵌入余弦常用 0.85+)→ 剔除训练集中命中的样本(注意是删训练侧,不是删评测侧)。为什么 n-gram 用 13:GPT-3 论文采用的惯例,13 个词的连续重合几乎不可能是巧合,而更短的窗口会误杀常见搭配。改写型污染(同义改写、语序调换)n-gram 抓不住,需要嵌入检测补位。

污染的典型来源:用开源指令集微调后再在同类公开基准上评测;用模型蒸馏生成数据而该模型可能见过基准;评测集版本更新后训练集没有重新过检。

图示

训练集(习题册) ──重叠检测──▶ 评测集(考试卷)
     │ 阈值: n-gram重叠>0.5 或 余弦>0.85
     ▼
剔除命中的训练样本 → 重新训练 → 分数才可信

直观类比

考前把历年真题原题塞进复习资料,然后拿真题当期末卷——平均分 95 分毫无意义。去污染就是考前把资料里的原题抽走。

实例或案例

某团队自建 300 题评测集微调后准确率 91%,上线抽检合格率仅 68%。排查发现评测题中有 74 题的答案直接改写自训练数据来源的同一批文档。n-gram + 嵌入双通道去污染后重训,评测分数降到 77%——与线上表现基本一致。此后该团队把「评测集冻结 + 每次训练前去污染扫描」写进流程。

操作步骤

  1. 评测集单独建仓、冻结版本,与训练数据不同目录、不同权限。
  2. 写去污染脚本:评测题干与答案各生成 13-gram 集合,与训练集比对 Jaccard 重叠。
  3. 补一道嵌入检测:评测样本嵌入后对训练集做近邻检索,余弦 > 0.85 命中即标记。
  4. 人工复核命中样本(阈值边缘的可能是巧合重合),确认后从训练集剔除并记录。
  5. 把去污染步骤固化进训练前的自动流程,输出「污染扫描报告」随实验归档。

排错清单

  • 剔除后训练集骤减:说明训练数据与该评测域高度同源,应扩充训练数据而不是降低阈值。
  • 评测分数虚高但去污染后没变化:污染可能来自评测集泄漏进蒸馏用的教师模型,需换教师或换评测集。
  • 阈值误杀正常样本:对命中样本人工复核,而不是盲目信任单一阈值。

常见误区

  • 「我们评测集是自建的,不会有污染」:自建评测若取材于与训练同源的文档,污染照样发生。
  • 只查题干不查答案:答案重叠同样让模型「背对」了评测。
  • 把去污染当作一次性动作:评测集或训练集任何一侧更新都要重新扫描。

与其他知识点的关系

评测体系如何设计见 kp-025;基准陷阱与刷榜争议见 kp-027;数据与评测诚信的伦理面见 kp-032。

延伸阅读

Brown et al. 2020《Language Models are Few-Shot Learners》(13-gram 去污染实践的出处)。

自测题

  1. 为什么去污染时删的是训练样本而不是评测样本?

答:评测集是被保护的标准(考试卷),删训练侧命中样本既保证评测效力不受损,也直接消除记忆来源。

  1. n-gram 检测抓不住哪类污染?用什么补位?

答:抓不住改写型污染(同义替换、语序调整),用嵌入相似度近邻检测补位。

  1. 团队自建评测集就一定干净吗?

答:不一定——若评测题取材与训练数据同源(同一批文档/日志),污染照样存在,仍需扫描。

相关知识点

来源

  • Brown et al. 2020《Language Models are Few-Shot Learners》(GPT-3 的 13-gram 去污染实践)

基于模型知识整理,建议按需核对原文。