数据工程:抓下来的网页,有多少能真正喂给模型?

简介: 本课详解大模型训练数据的六大关键工序:从Common Crawl原始网页出发,经采集、去重、过滤、配比、合成到评估,用6个核心问题讲清每步目标、代价与量化效果。强调“数据不是天上掉下来的”,原始语料价值密度极低,清洗后留存不足一半;去重提升多样性,配比优化算力杠杆,合成须累积而非替换,评估必以模型能力为唯一标尺。课程第8课,开源免费,手机可读。

上一课算清了"要多少数据"。这一课解决"数据从哪来"——数据不是天上掉下来的。从 Common Crawl 的原始网页,到能喂给模型的干净 token,中间要经过采集、去重、过滤、配比、合成、评估六道工序。这一篇用 6 个问题把每一道工序在做什么、代价是什么算清。内容来自我做的 35 课大模型课程的第 8 课。

问题 1:抓下来的原始网页,能不能直接拿来训练?

先看事实:Common Crawl 是最大的公开网页语料库,每轮抓取超过 20 亿个网页,累计存档超 10 PiB,单轮原始体积在数百 TiB 量级。

它给三种格式,但没有一种能直接喂模型:

格式 内容 体积量级 能否直接训练
WARC 原始 HTTP 响应(含 HTML 标签) 最原始、最大 不能
WET 抽取后的纯文本 比 WARC 小一个量级以上 仍不能(含模板文本)
WAT 元数据(URL、时间、链接) 小 不用于训练

第一步是正文抽取——用 trafilatura、resiliparse、cc_net 这类工具把"主要内容"从 HTML 里抠出来。之后还要过一组规则过滤的筛子:

工序 典型判据 作用
长度过滤 少于 50 个词或多于 10 万个词 → 丢 去掉碎片与超长噪声
字母词占比 非字母词占比 > 20% → 丢 去掉二进制、日志、代码混淆串
重复率过滤 n-gram 重复 > 30% → 丢 去掉刷屏、模板化文本
语种过滤 非目标语种 → 丢 用 fastText 分类器判断语种

这些阈值来自 Gopher 等早期大规模语料工作(Rae et al., 2021),被后续管线广泛沿用。

把"存活率"算一遍,就知道"抓下来大部分不能用"是什么意思(数值为量级示意,不是某数据集的精确统计):

工序级联 相对剩余量
原始抓取(HTML) 100%
正文抽取后 约 10%~20%
去重后 再降至约 50%~70%
叠加质量过滤后 最终远低于一半

一句话结论:原始语料的价值密度极低,几道工序后剩下的 token 只是零头——"数据不够"往往不是抓得少,而是没洗干净。

问题 2:为什么训练前要花大力气做去重?

直觉上"数据变少了应该更差",事实相反——重复数据会让模型把"记住原文"当成"学会规律"。备考打个比方:同一道题抄 100 遍,你记住的是这道题的答案;做 100 道不同的题,你学会的是解题方法。

最自然的做法是用精确哈希(MD5/SHA256)去重,但它只认"一模一样"的字节:

方法 能发现什么 发现不了什么
精确哈希(MD5/SHA256) 完全相同的文档 改了一个标点的同一篇文章
近似去重(MinHash+LSH) 相似度 > 阈值的文档 语义相同但用词完全不同的改写

大规模网页抓取里,精确或近似重复的页面可占 30%~50%,而转载页往往只改一个标点或加一行页脚——精确哈希抓不到这一大类,所以必须上近似去重(MinHash + LSH)。

近似去重的核心价值在复杂度:

方法 两两比较次数(n 篇文档) 复杂度
暴力两两比较 n(n−1)/2 O(n²):n = 100 亿时 ≈ 5 × 10¹⁹ 次
MinHash + LSH 分桶 只比同桶内的文档 近似 O(n),随规模线性增长

把相似的文档放进同一个桶、只比桶内,就把 O(n²) 降到近似线性。具体流程是:shingling 切成 5-gram → 一组哈希函数得到签名 → LSH 分桶比较 Jaccard 相似度,超过阈值(常见 0.75~0.8)判为重复。哈希函数个数按精度需求定,公开实现里从 112 个(FineWeb)到约 9000 个(RefinedWeb)不等。

一句话结论:去重是"用数据量换数据多样性"的交易——砍掉 1/3 的 token,但换来同样算力下更广的覆盖。

问题 3:怎么判定一段文本是"好数据"?规则和模型各管什么?

去过重之后,语料里还有大量"语法通顺但毫无信息"的文本——比如产品页的参数罗列。筛它们要靠两类过滤器,各管一摊:

过滤器 管什么 成本 能筛什么
规则过滤 形式(太短、符号太多、重复率高) 低、快 碎片、日志、刷屏
模型过滤 价值("像教科书"才算好) 高、要为全量跑推理 语法通顺但无信息量的段落

规则过滤可解释、可复算,但筛不出"价值"——产品页规格、SEO 拼凑文都语法通顺,规则一条都不触发。模型过滤用 fastText(176 语种分类)、质量分类器(高分 vs 低分)、有害内容分类器来补上这一层。

两者的收益是串联而不是二选一,DCLM 的对照实验把差距量化了出来:

数据集 模型规模 MMLU 5-shot 训练算力
MAP-Neo(此前开源最佳) 7B 基线 基线
DCLM-BASELINE 7B +6.6 个百分点 少 40%
Mistral-7B-v0.3 7B 63% —
Llama 3 8B 8B 66% 比 DCLM 多 6.6 倍

DCLM-BASELINE 训出的 7B 模型在 MMLU 上到 64%,和 Llama 3 8B 的 66% 只差 2 个百分点,但算力只有它的约 1/6.6——差距完全来自数据筛选。(注意两个"6.6"不同:+6.6 个百分点是 MMLU 分数 vs MAP-Neo,1/6.6 是算力 vs Llama 3 8B。)

一句话结论:规则过滤管"形式"、模型过滤管"价值",两者串联——先用规则砍掉大部分垃圾省推理成本,再用模型在剩余部分精挑。

问题 4:各领域的数据该按什么比例混合?

筛干净之后,剩下的"好数据"来自不同领域——网页、代码、论文、百科。它们该按什么比例混合? 配比直接决定模型的能力分布,不能拍脑袋(配营养餐打个比方:配方错了,练得再多也补不到该补的地方)。

三种定配比的路线,成本差 30 倍:

路线 怎么做 代价
启发式 按各领域现有 token 量分配(The Pile 做法) 零成本,但可能次优
面向下游任务调 在多个下游任务上搜最优权重 可能要训上千个模型;过拟合任务集
代理模型搜索(DoReMi) 小模型自动搜权重,再放大模型 需一次代理模型训练

DoReMi(arXiv:2305.10429)用 Group DRO 训练一个 280M 代理模型自动搜索配比,再用该配比训练 8B 模型:

指标 基线(The Pile 默认配比) DoReMi 配比
平均 few-shot 准确率 基线 +6.5 个百分点
达到基线精度所需步数 1.0× 1/2.6

关键假设是配比的优劣在小模型上已可分辨——代理模型参数量只有目标的约 1/30(280M → 8B),才让自动搜索变得划算。第二行那个 1/2.6 换算成算力,相当于省了近 60% 的预训练成本。

一句话结论:数据配比是被低估的算力杠杆——不改模型、不改算力,只调采样权重就能少跑 60% 步数达到同样精度,而代理模型把试错成本压到约 1/30。

问题 5:合成数据能补上数据缺口吗?为什么会有"模型崩塌"?

真实数据快用完了(上一课的数据墙),自然想到用模型生成数据来补。但这里有个坑,叫模型崩塌(Model Collapse)。

Shumailov 等在 Nature(2024, 631, 755-759)证明,不加区分地使用模型生成内容,会让模型出现不可逆缺陷——原始分布的尾部(罕见事件)被逐代抹掉。三种用法,三种结局:

方式 训练集构成 结局(理论结论)
纯合成 第 N 代全部用第 N−1 代生成 必然崩塌
替换式混合 每代用新合成替换掉部分真实数据 逐步崩塌
累积式混合 真实数据不删,合成不断追加 可避免崩塌

差别不在"用不用合成数据",而在真实数据是被留下还是被替换。为什么会丢"尾部":稀有事件在采样样本里本来就欠代表,一代代只用自己生成的数据训练,偏差逐代累积,模型最后干脆忘记稀有事件存在。

一句话结论:合成数据是用法问题——替换真实数据必然崩塌,累积而不删真实数据才安全;工程铁律是永远保留一份人类撰写的真实数据作锚点,合成数据只做增量。

问题 6:怎么知道一份语料"变好了"?

把整条管线收口,最后一个问题:怎么判断一份语料真的变好了? "洗得干净"本身不是目标——干净但没提升能力的语料毫无价值。判据必须来自模型层的对照实验。

两层指标:

层次 指标 特点
语料层 去重率、领域分布熵、平均文档长度 便宜、先跑,只能发现明显异常
模型层 固定模型+算力、只换数据集的 perplexity 与下游分数 贵,但唯一可信

关键在于只改一个变量:如果同时换了模型和数据集,就分不清收益来自哪里。DCLM(arXiv:2406.11794)正是用"固定 7B 模型、2.6T token、只换数据集"的对照实验,才量化出 +6.6 个百分点。

最后把代价算清——为什么不直接上大模型测:

方案 对照成本 结论可信度
用 7B 模型测每组语料 每次完整预训练(极高) 高
用 400M~1B 小模型测 约 1/50~1/100(估算) 中(趋势可信,绝对值不可外推)

所以实践中是两级筛选:先用小模型淘汰明显差的方案,只对少数候选做全尺寸验证。

一句话结论:数据工程的闭环判据是"同一算力下模型是否更强",而不是"语料是否更干净"——没有对照实验,就只是手工艺,不是工程。

小结

问题 结论 一个数字
原始网页能用吗 价值密度极低,几道工序后只剩零头 正文抽取后约 10%~20%
为什么去重 用数据量换数据多样性,避免背答案 重复页面 30%~50%
好数据怎么判 规则管形式、模型管价值,串联用 DCLM 少 40% 算力高 6.6pp
数据怎么配比 配比是被低估的算力杠杆 DoReMi 1/2.6 步数追平
合成数据能用吗 替换→崩塌,累积→安全 纯合成必然崩塌
语料怎么评估 同一算力下模型是否更强 小模型约 1/50~1/100 成本

参考与说明

  • Common Crawl 规模:官方 About 页 https://www.commoncrawl.org/about(20 亿网页/轮、10 PiB 累计)
  • Gopher 语料过滤阈值:Rae et al., Scaling Language Models, 2021
  • NeMo 过滤器(Adapted from Gopher):https://docs.nvidia.com/nemo-framework/user-guide/25.07/datacuration/api/filters.html
  • DCLM:Li et al., DataComp-LM, arXiv:2406.11794
  • DoReMi:Xie et al., DoReMi: Optimizing Data Mixtures Speeds Up Language Model Pretraining, arXiv:2305.10429
  • RedStone(117 个 64 位 MinHash 签名):Chang et al., arXiv:2412.03398
  • The Pile:Gao et al., 2020
  • 模型崩塌:Shumailov et al., AI models collapse when trained on recursively generated data, Nature 2024, 631, 755-759
  • 纯合成必然崩塌的理论结论:Seddik et al., arXiv:2404.05090;累积 vs 替换:Gerstgrasser et al., arXiv:2404.01413
  • 文中算术均已用代码独立复算:n(n−1)/2 在 n=10¹⁰ 时 ≈ 5×10¹⁹、8B/280M ≈ 28.6、1/2.6 ≈ 0.385(省近 60%)、1/6.6 ≈ 0.15。标注「示意/估算」的数字(存活率量级、小模型 1/50~1/100 成本)为量级示意,不指向某数据集的精确统计。
  • 两处来源未能逐字核到一手、保留"待人工核实":① 卡 1 引的 Liang et al.《Data Preparation for Large Language Models》(JCST 2026) 题名与刊期;② 卡 3 引的 CuraWeb 编号。
  • 说明:这套课程由 AI 在我设计的规则下生成,再经过脚本检查和独立审查;审查发现过不少问题,已写在仓库 README 里。发现错误欢迎提 Issue,写清位置,我逐条核实。

继续学

完整课程 35 课,这一篇是第 8 课。下一篇进入预训练全流程:拿到干净数据后,模型是怎么一步步被训练出来的。

相关文章
|
10天前
|
Linux 开发工具 iOS开发
Codex保姆级教程(下载+安装+登录+使用,含所有版本,2026最新)
Codex是OpenAI推出的开源AI编程智能体,本地运行,可理解整个代码库,支持自然语言指令改代码、执行命令、跑测试、修Bug,兼容Win/macOS/Linux。(239字)
3850 17
|
10天前
|
JavaScript API iOS开发
DeepSeek Harness下载、安装、配置一篇搞定(2026整理,送常用插件)
DeepSeek Harness(DSH)是DeepSeek于2026年开源的MIT协议AI Agent框架,支持插件化组装模型、工具、沙箱与UI,兼容主流大模型。本文提供免Node.js的桌面端安装包(Win/macOS),含详细图文教程及热门插件推荐。
4073 48
|
11天前
|
iOS开发 Docker MacOS
【2026实测】Docker Desktop下载、安装、汉化、配置教程(附官网安装包)
Docker Desktop 是 Docker 官方推出的桌面容器管理工具,集成引擎、CLI、图形界面与 Kubernetes,支持 Win/macOS/Linux。2026 最新版 4.88.1 强化 ARM 原生运行、镜像加速及资源可视化,附中文汉化与国内镜像配置指南。
1903 6
|
5天前
|
云安全 人工智能 安全
|
5天前
|
存储 弹性计算 人工智能
2026 年阿里云双十一活动入口攻略,新客服务器优惠通道、三大会场入口梳理
综合来看,2026年阿里云双十一活动入口清晰: 阿里云轻量应用服务器、阿里云ECS云服务器、阿里云GPU云服务器、阿里云百炼大模型服务平台 活动会场、综合权益中心、99计划专场三大入口覆盖服务器、AI权益与续费特价;新用户通过控制台首页banner、权益中心、产品页三处路径进入专属专场,老用户通过控制台弹窗和费用中心权益中心进入老客专区,企业用户做企业实名后解锁专属满减与阶梯折扣。
817 0
|
5天前
|
Linux 开发工具 iOS开发
2026最新codex下载安装保姆级使用教程(下载+安装+登录+使用,含所有历史版本)
本文详解OpenAI Codex国内快速上手指南:提供Win/macOS/Linux全平台免安装包、npm/Homebrew等多方式安装、账号/API Key双登录、简体中文切换,覆盖下载、安装、汉化、使用及高频避坑(如微软商店失败、npm超时等),10分钟即可跑通。
988 1
|
11天前
|
安全 算法 定位技术
《高性价比人生指南》完整原版:普通人用最少的资源,过好这一生的底层逻辑~How To Live Better
📖《高性价比人生指南》是一份基于实证、拒绝焦虑的生存手册,倡导以“人生时薪”为视角,重新计算时间、金钱与精力的成本与收益。它不承诺逆袭,只教人算清账:省下的钱若耗掉时间便亏;买体验比买物品更值;睡眠是最高杠杆的健康投资;关系贵在情绪价值而非表面热络;学习重在改变行为而非自我安慰。核心理念:用低成本、高回报的微小行动,换取长期的选择权——不是成为谁,而是掌控自己人生的主动权。
2134 6
|
云安全 安全 网络安全
|
24天前
|
人工智能 API 开发工具
DeepSeek Harness 神插件:白嫖 13 家大厂模型
`dsh-our-free-model` 是 DeepSeek Harness 神级插件:零配置、零API Key、零账号,聚合13家大厂免费模型(含DeepSeek V4.1 Flash、Kimi K3等),支持本地网关、用量看板与自动降级,真正实现“白嫖即用”。
4242 57