过滤的极限 · 数据过滤天花板实验室

《AI 数据全书》· 第 6 章 · 语种识别与质量过滤

在足够算力下,最好的数据过滤器就是不过滤——一个反着建的沙盘

🧱

过滤的极限:在足够算力下,最好的数据过滤器就是不过滤

本站第 6 章那一整排工具都在教「怎么把数据过滤得更好」。 这一屏反过来问:过滤这件事本身的上限在哪?Stanford 三位学者在 15M → 7B、6.7 亿 → 100 亿 token 的网格上给出答案: 模型够大、训练够久,未过滤的 Common Crawl 会反超所有五种主流过滤器; 更反直觉的是,往池里注入 +200% 打乱词序的垃圾文档,330M 模型反而因此超过了纯池。 而与此同时,另两条独立证据从另外两侧收紧天花板:CQF 分类器学到的可能是「像维基百科」而不是「有教育价值」(换件外衣就能骗过去),质量选择挡不住投毒(看似正常的恶意样本在 90% 过滤下保留率仍 >90%)。 四条证据合起来说的不是「别过滤了」,而是「过滤的价值是算力的函数,不是数据的属性」。

📖 文献值(论文原文 / arXiv 摘要与表格 / 《AI 数据全书》章节原文)🧮 本站真算(曲线求交、保留率、消融差值,浏览器内可复算)⚠️ 教学设定(曲线形状与教学参数为示意,绝对数值不可引用)· 快照日 2026-10-27

双对数轴:未过滤池 vs 五种过滤器,随训练 token 变化的验证损失⚠️

横轴是训练 epoch(对数),纵轴是三个验证集(C4 / FineWeb-Edu / Cosmopedia)上的平均交叉熵损失。越低越好。黑线是未过滤池。 ⚠️ 曲线形状与绝对 loss 值是本站的教学设定,只有「谁在上面」和「交叉发生在哪」是有意义的; 交叉 epoch 已按论文给出的三个锚点校准。

模型规模
池大小
过滤器图例(点击隐藏/显示见下方)
未过滤池(Raw Pool)English filterRepetition filterStop word filterRefinedWebDCLM-Baseline
0.1 ep0.5 ep1 ep3 ep10 ep3.825.016.207.398.58池反超全部五种过滤器 · 2.0 epoch · 1.34B tokens训练 epoch(对数轴)· 池大小 6.7 亿 token → 1 epoch = 670M tokens
池反超全部五种过滤器
2.0epoch
1.34B tokens
已反超的过滤器
5/5
全部反超
渐近最优
未过滤池
训练够久后池本身最好
vs RefinedWeb(📖 锚点口径)
1.0epoch
论文给的就是这个口径

三条必须如实呈现的硬事实(arXiv:2605.19407 Section 3)📖

15M

未过滤池在所有训练步数下都无法超越任何前四种过滤器——小模型确实需要过滤。

80M

出现交叉点,但需要较多训练步数。

330M+

池在有限训练后超越全部五种过滤器。1B 模型上池的最佳损失 3.37,且损失未明显饱和。

池大小1B 模型下超越 RefinedWeb 所需
6.7 亿~1 epoch
20 亿~3 epochs
100 亿~10 epochs

📖 两种方法(token/参数比 600:1 与 4 epoch 约束)均给出高度线性的 scaling law(R² > 0.99)。

最反直觉的一屏:往池里注入 junk,曲线反而抬起来⚠️

纵轴是「相对纯 CC 池的损失差」——负值 = 比纯池更好。 两类 junk 必须分画:打乱词序保留 unigram 分布、只破坏序列结构;随机字符串什么都不保留。 它们的结论相反,不能合并成一句「junk 无害」。

junk 类型
注入比例(相对原池)+200%
1.00B5.00B10.00B20.00B纯池基线(0)反超纯池 @ 11.00B tokens
反超发生在
11.00Btokens
原始 CC 文档占比
33%
📖 +800% 时约 10%
junk 类型
打乱词序
当前模型
1B
大模型:可吸收
  • 📖 除 +800% 外,所有打乱词序数据集在约 11B 训练 tokens 后超越纯 CC 池。
  • 📖 随机字符串组:差距持续收窄,但不反超纯池。
  • 📖 +800% 时仅约 10% 的文档为原始 CC。
  • 📖 15M 模型上两类干扰数据都明显有害,损失曲线分离。

10³⁰ FLOPs 外推:还差三个数量级📖

论文预测:240T token 的 DCLM-Pool 可能在约 10³⁰ FLOPs 时成为最优训练集。 作为对照,当前前沿模型的估计训练算力约 5×10²⁶ FLOPs。

10^27 FLOPs
当前前沿(Grok 4 量级)
10^29 FLOPs
2030 年预测
10^30 FLOPs
无过滤成为最优的阈值
这不是「明天就可以不过滤」。前沿算力距离阈值还差约 3 个数量级; 而且这个外推建立在最多 7B × 100 亿 token 的实验上。它真正改变的是提问方式:「过滤有没有用」的答案,是算力的函数,不是数据的属性。

局限性(原样列出,不省略)📖

  • 最大实验仅到 7B × 100 亿 tokens,距 7B 的 Chinchilla 最优(14 万亿 tokens)还有 3 个数量级。
  • Scaling law 拟合 R² > 0.99,但锚点数量很少;小尺度拟合的 scaling law 在大尺度上可能失效。
  • 未覆盖后训练交互、数据课程、数据权重——论文明确限定在密集 Transformer 预训练。
  • 未覆盖 MoE 等稀疏架构、混合精度 / 量化感知训练。
  • 最高 epoch 数(80M 模型 121.6 epochs)作者自陈可能不可靠,且出现非单调。
  • 事实性分析用的是 DCLM-Pool(2023 年前的 CC),AI 生成内容比例低;未来 CC 的「低质量」可能从噪声变为系统性错误。
  • 「打乱词序 +200% 反而更好」的机制(正则化 vs unigram 信号)论文自己也未能区分。
⚠️ 本 Tab 的 loss 曲线、junk 曲线均为教学设定,绝对 loss 值不可引用

「怎么过滤」↔「过滤的极限」:同一章节下的两个对向工具

本工具与 aide-langid-filter 挂在《AI 数据全书》同一章(§6 语种识别与质量过滤)下, 一个教你怎么过滤,一个告诉你过滤的天花板在哪。请对着看,不要只看其中一个。

一手源

A Bitter Lesson for Data Filtering
Christopher Mohri, John Duchi, Tatsunori Hashimoto(Stanford)
15M → 7B 参数 × 6.7 亿 → 100 亿 token 的同比例缩放网格实验
Is a Document Educational or Just Wikipedia-Style? -- Pitfalls of Classifier-Based Quality Filtering
Klimaszewski & Andruszkiewicz(2026-05)
仅重新格式化即可逆转约 7% 文档的过滤决策
Removing Noise, not Finding Gold
Nait Saada, Bethune, Klein, Grangier, Cuturi, Ablin(Apple + 巴黎萨克雷,2026-06)
CQF 提升的是下游适配度,不一定提升高质量数据上的语言建模能力
High-quality Data Do not Mean Safe! Poisoning LLMs after Data Selection
重庆大学 + 浙江大学,8 作者
[v1] 2026-10-01,100 条投毒样本混入 1,900 条 Dolly 样本
Gaperon: A Peppered English-French Generative Language Model Suite
Godey 等(Findings of ACL 2026)
DCLM 分类器系统性地把 benchmark 样本排进前 5 百分位
回源记录:arXiv:2605.19407 的过滤器保留率、三条硬事实、交叉 epoch 与 FLOPs 标尺 转录自站内精读 src/content/research/bitter-lesson-data-filtering-deep-reading.md; arXiv:2605.23721 的 7% 与 arXiv:2510.00866 的三条论点转录自《AI 数据全书》§6.6 / §6.6.1; arXiv:2610.01367 的 90% / PRR>90% / 3.30–4.01 已 curl 回源 abs 页摘要逐字核对; arXiv:2510.25771 的 “top-5 percentiles” 为 ACL Anthology 摘要原文。
未调用任何模型,未引入任何新依赖。曲线求交、junk 反超点、CQF 教学分数、投毒存活曲线、消融差值均为 🧮 浏览器内确定性计算; 曲线形状与所有绝对 loss 值为 ⚠️ 教学设定。论文与书籍没有给的数字一律不补(见 Tab ③ 的「刻意不写的数字」)。
数据截至 2026-10-27。