后训练污染审计台 · 什么时候审计,决定你看到什么
《AI 数据全书》· 第 7 章 · 安全过滤、去重与隐私合规同一个模型、同一份污染:在预训练结束时审计判定「无害」,在后训练之后审计判定「已扩散」——而论文的落点其实是「RL 可缓解过高估计」
🕰️
同一份污染、同一个模型,你在哪一步测,就看到哪个结论
把 5 份 GSM8K / MBPP 测试题注进 25B token 预训练集的前 2B tokens, 预训练结束时测,虚高接近零—— 你会写下「本次污染未造成可测量的分数虚高」。 然后做一遍完全干净的后训练(里面一个测试题都没有),再测: 受污染任务虚高> 2%,最高 4 pp; 换成 GRPO,连从未被污染的 GSMPlus / HumanEval 也一起涨。模型没变,污染没变,变的是你站在流水线的哪一步。
📖 论文值(abs 页 + HTML 正文 v1 转录)🧮 本站真算(混合配比、稀释倍数、Eq(1)、时点翻转幅度)⚠️ 教学设定(曲线形状、Figure 5 坐标位置、Eq(1) 的两个输入滑杆)· 快照日 2026-10-28
🎚️ 把审计时点拖过去,看结论怎么变 🧮
受污染任务(GSM8K / MBPP)上的虚高
contaminated − clean 的准确率差2.0 – 4.0 pp
> 2%,最高 4pp(Qwen2.5-0.5B GSM8K 为例外)
干净对照任务(GSMPlus / HumanEval)上的虚高
这条才是「有没有真泛化」的判据0.0 pp
≈ 0(水平移动:gains are almost purely local)
在「+ SFT」处审计 →判定:受污染任务虚高 ✅ / 干净对照无变化
SFT 把已消退的泄漏重新唤醒,但只在被污染的基准上。这一格仍然会被误读成「模型变强了」。
「Post-training, however, resurrects the hidden signal and inflates benchmark scores by up to 4 points」 📖 arXiv:2601.06103
🔁 同一份污染,两个时点,差 2.0 个百分点 🧮
注入的是同一份东西:5 份 GSM8K / MBPP 测试题,塞进 25B token 预训练集的前 2B tokens。 在预训练结束时测,虚高读数是 0.0–0.0 pp; 后训练之后再测,读数变成 ≥ 2.0 pp。模型没变,污染没变,变的是你站在流水线的哪一步看它。
注入份数
5份
注入窗口
2B tokens
暴露点步数
≤ 500步
结论翻转幅度
+2.0pp
🔴 为什么这里画的是区间条而不是一条曲线:论文的全部逐时点结果都在 Figure 2–6 里,HTML 正文没有数值表(3 个 <table> 只有数据集 token 数与两条公式)。 所以本工具只写论文明确给出的数值 —— base「接近零」、后训练后「> 2%」、最高「4 pp」—— 其余一律用区间与方向表达,不做任何插值。斜纹部分代表「论文没给具体值」。
📖 The Impact of Post-training on Data Contamination · Kocyigit, Muhammed Yusuf / Yildirim, Caglar · [v1] 2026-01-03。 起点为 Qwen2.5(0.5B / 1.5B) 与 Gemma3(1B / 4B) 的干净 checkpoint; 污染为 5 份 GSM8K / MBPP 测试题,注入 25B 预训练集的前 2B tokens;后训练阶段不含任何污染。
内容参考《AI 数据全书》第 7 章 §7.10.3「去污染」🔴 与书籍表述不一致处已在 Tab ② 底部并排展示,未做调和