§ 6.1 · Section

数据 · Dataset

Dataset · The Textbook of AI

如果说训练一个 AI 是"培养一个学生",那么数据集就是这个学生的所有教材、习题册和高考真题。教材有多厚、多好、多全,直接决定了这个学生能考到什么水平——GPT-4 之所以是 GPT-4,一半功劳要归于它读过的 13 万亿 token 文本。

生活场景
📚 两个小孩谁能考上清华

小 A 家里只有一本破旧的《新华字典》,翻来覆去读了十年;
小 B 家里有整整一屋子藏书——从《红楼梦》到《费曼物理》,从《史记》到《三体》,还包括十年份的高考真题与错题本。
十年后高考,你猜谁分数更高?
再想想:如果小 B 那屋子书里,混进了 30% 的乱码和错别字,他还能不能考出好成绩?

先把这一篇的术语翻译成人话

这一篇的名词看着专业,其实本质上就是"备菜"和"备考"这两件事。先过一遍这张表:

术语换成大白话生活里对应的东西
数据集(Dataset,喂给模型学的那一大堆材料)说白了就是"给学生准备的那一整柜复习资料"图书馆里为一门课调出来的所有参考书
Token(模型眼里的最小语言单位,一个 Token 大约相当于半个到一个汉字)说白了就是"数材料多少的那个称重单位"菜市场论"斤"卖菜——Token 就是模型的那个"斤"
清洗(Cleaning,把脏的、重的、没用的材料剔掉)说白了就是"下锅之前先洗菜、掐掉黄叶"厨房里洗菜、去皮、挑虫眼
去重(Deduplication,把重复的内容删掉)说白了就是"同一道题在资料里出现了八百遍,得删掉"整理笔记时把抄重了的几页撕掉
标注(Annotation,人工给数据打上正确答案)说白了就是"人工给每道题配一份标准答案"老师批作业——机器只能靠改过的作业学习
训练集 / 验证集 / 测试集说白了就是"平时练习题 / 模拟考 / 正式高考"三者绝不能混——拿做过的题去考试,分数全是虚的
过拟合(Overfitting,把练习题背下来了,换个题就不会)说白了就是"死记硬背,不会变通"只会做考试原题的学生,题目稍微改个数字就傻眼
数据配比(Data Mixture,各类材料按什么比例掺)说白了就是"炖一锅汤,肉、菜、水各放多少"厨房里的配方比例——盐多了咸、水多了淡
合成数据(Synthetic Data,用模型自己生成的数据来训练模型)说白了就是"老师自己出模拟题给学生练"题库不够了,老教师自己编题——编得好是好事,编得差就是误人子弟

这一整篇可以用一句话概括:模型的能力上限,不是由算法决定的,而是由你喂给它什么决定的。就像同样的灶台和厨师,用新鲜食材做出来的菜和用烂菜叶做出来的菜,是两回事。

一、规模(Scale):为什么大模型需要 T 级 token

先把这些天文数字翻译成人话15 万亿 Token 大约是 22 万亿个汉字。按一个人每分钟读 300 字、每天不吃不喝读 8 小时算,要读 47 万年——而人类有文字记载的历史才 5000 年。换个更好感受的说法:把全世界所有语言版本的维基百科全部加起来,也只是这个量的几百分之一。

再说说"为什么非要这么多"。打个比方,这好比一位厨房里的老师傅:炒青菜他做过八百万次,闭着眼都不会错;可"客人忌辣、忌葱、还要少油、又赶时间"这种组合,他这辈子可能只碰上过三回。而恰恰是这三回,决定了他是"会炒菜"还是"真的手艺好"。模型也一样——常见的句子它见几百万次就学会了,而那些冷门的、拐着弯的问题,整个互联网上可能只有几百个真实例子。你不让它见过这些边角料,它遇到冷门问题就只能胡编。

先建立一个直观感受:1 token ≈ 0.75 个英文单词 ≈ 1.5 个中文汉字。GPT-3 训练用了大约 3000 亿 token;GPT-4 据传用了 13 万亿 token;Llama 3 405B 用了 15 万亿 token。这是什么概念?把维基百科所有语言的所有版本加起来,也只有几百亿 token 而已——现代大模型读过的文字量,是维基百科的几百倍

为什么需要这么多?因为语言里的模式极其稀疏。"苹果掉在地上"这样的句子出现几百万次,模型就学会了;但"用 Rust 写一个支持并发的 Web 服务器并处理 SIGTERM"这样的组合,可能整个互联网上只有几百个真实样本——模型必须见过足够多的"边角料",才能在真正遇到冷门问题时不至于胡编乱造。数据规模上去了,模型才可能"见多识广"

把这条曲线摊开成一张时间表,你会看到一条比参数量更陡的增长线。注意最后两行:token 数已经开始超过"参数量 × 20"这个 Chinchilla 建议值好几倍——因为现在的瓶颈不再是"训练不足",而是"推理要便宜",所以厂商宁愿用更小的模型硬灌更多数据。

模型年份训练 token 量参数量token / 参数比
GPT-12018约 10 亿1.17 亿约 9 : 1
GPT-22019约 100 亿(40GB WebText)15 亿约 7 : 1
GPT-320203000 亿1750 亿约 1.7 : 1(严重欠训)
Chinchilla20221.4 万亿700 亿20 : 1(最优点)
Llama 220232 万亿7B / 13B / 70B约 285 : 1(7B)
GPT-42023推测约 13 万亿推测 1.8 万亿 MoE约 7 : 1
Llama 3202415 万亿8B / 70B / 405B约 1875 : 1(8B,极度过训)
DeepSeek-V3202414.8 万亿671B MoE(37B 激活)约 22 : 1(按总参数)

15 万亿 token 到底有多少?换算成人类的阅读速度体会一下:按每分钟读 300 字、每天读 8 小时不停歇,读完 15 万亿 token(约 22 万亿汉字)需要大约 47 万年。人类文明有文字记载才 5000 年。这就是"预训练"这三个字底下真正的体量——它不是"多读了一点书",而是一个人类个体无论如何都不可能达到的阅读量级。

反过来也要看清规模的边界。Common Crawl 从 2008 年爬到今天,累计超过 250 PB 原始数据,但去重、清洗、过滤之后能用的高质量英文文本,学界估算只有几万亿到十几万亿 token。也就是说,行业已经把互联网上"能用的公开文本"基本吃掉了一遍。2022 年 Epoch AI 那篇被广泛引用的论文给出的预测是:高质量语言数据可能在 2026 到 2032 年间耗尽。这条时间线,正是本篇最后一节要讲的"合成数据"为什么突然变成刚需的原因。

二、数据从哪来:一张配料表

配料表这个说法特别贴切——它本质上就是厨房里炖一锅汤的配方。"读了整个互联网"这句话跟"我随便煮了点东西"一样不负责:真正的做法是"网络文本 60%、社区精华帖 22%、书籍 16%、百科 3%",一样一样称好了下锅。

那张表里最该琢磨的是最后一列"被读过几遍"。换成大白话网上爬来的那一大堆占了六成的量,却只被读了不到半遍;而维基百科只占三个百分点,反反复复读了三遍半。好比你复习考试教科书要翻烂,报纸看一眼就扔。不是因为报纸没用,而是因为同样的时间,反复背教科书的收益高得多。"按质量分配重复次数"这条工程判断,就是从这一列数字里长出来的。

"读了整个互联网"是一句方便的口号,真正的训练集是有配料表的。GPT-3 的论文公开了它的五个来源与权重,这是业界少见的透明记录,也成了后来所有模型的参照模板:

来源清洗后规模在训练中的采样占比被完整读过几遍
Common Crawl(过滤后)4100 亿 token60%0.44 遍
WebText2(Reddit 高赞外链)190 亿 token22%2.9 遍
Books1120 亿 token8%1.9 遍
Books2550 亿 token8%0.43 遍
Wikipedia(英文)30 亿 token3%3.4 遍

这张表里最值得琢磨的是最后一列。Common Crawl 占了 60% 的采样量,但只被读了不到半遍;维基百科只占 3%,却被反复读了 3.4 遍。这是一个非常关键的工程判断:高质量语料值得重复读,低质量语料读一遍就够。换成学生的比喻——教科书要反复背,报纸翻一遍就扔。这个"按质量分配重复次数"的思路,就是下面要讲的"数据配比"的起点。

到了 2024 年,配料表的构成明显往三个方向倾斜。第一是代码占比暴涨:Llama 3 的代码数据约占 17%,而 GPT-3 时代几乎可以忽略。第二是数学与科学语料被单列:Llama 3 里数学与推理类约占 6%,DeepSeek 更把数学语料当作独立赛道去堆。第三是多语言被认真对待:Llama 3 的非英文语料约占 8%,而 GPT-3 里 92.6% 是英文。

各类语料带来的能力是可以拆开看的,这里给一张经验对照表——它解释了为什么"配料表"不是随便凑的:

语料类型主要贡献的能力典型来源隐患
网页广度、时事、口语、长尾知识Common Crawl噪声大、含毒、含广告
书籍长程连贯性、叙事结构、文学质感图书馆扫描、Project Gutenberg版权争议最大
代码逻辑严密性、结构化输出、推理链GitHub、The Stack许可证复杂、含密钥泄漏
论文专业术语、公式、严谨表述arXiv、PubMed领域偏窄、LaTeX 噪声
百科事实密度最高、结构清晰Wikipedia、百度百科体量太小(仅数十亿 token)
论坛对话对话感、多轮结构、真实提问方式Reddit、Stack Exchange、知乎观点偏见、抬杠语气

"代码提升通用推理"这件事值得单独强调,因为它非常反直觉。多项研究和工程实践都发现:在训练集里加入大比例代码,模型在完全不涉及代码的逻辑题、多步推理题上的表现也会明显上升。一个流行的解释是:代码是人类写下的、语法上强制严密的推理过程——变量必须先定义后使用,分支必须穷尽,缩进必须对齐。读代码等于读了几千万份"不允许含糊其辞的论证",这种严密性会迁移到自然语言推理上去。

三、质量(Quality):垃圾进,垃圾出

这句老话换成大白话就是菜市场上最朴素的一条道理:再好的厨子、再贵的灶,用烂菜叶也炒不出好菜。而清洗这道工序干的活儿相当于洗菜:去皮、掐黄叶、挑虫眼、冲泥沙。看起来最没技术含量,却是决定成菜能不能吃的那一步。

还有一个反直觉的事实值得先记住:这一行里公认"清洗数据"占了整个训练项目七到九成的工作量,真正调模型的时间反倒是零头。好比做一顿家宴:你在灶前的时间可能只有半小时,但买菜、洗菜、切配花了一整个上午。外人只看见你在灶前那半小时,就以为做饭主要靠翻锅的手法。

但规模不是万能的。原始互联网数据里充斥着广告、乱码、机翻、色情、暴力、无意义的重复段落——如果不做清洗直接喂给模型,训出来的东西也会是"网络垃圾生成器"。所以现代大模型的数据流水线里,清洗(cleaning)去重(deduplication)是最关键的两步。

清洗一般包括:语言识别(把非目标语言剔除)、去 HTML 标签、正则过滤脏话、启发式规则去广告、用一个"质量分类器"打分并筛掉低分文本。去重则更精细——如果同一段文字在数据集里出现了 1000 次(比如"cookie 政策"),模型会过度记忆它,反而伤害泛化能力。业界的共识是:10T 的干净数据,胜过 100T 的垃圾数据

把这些步骤排成一条真实的流水线,大致是七道关卡。每一关都会砍掉一大批数据——从 100 PB 原始网页到 15 万亿可用 token,实际存活率常常只有百分之几

七道关卡跑完,还有第八件事:打包成 shard。把 token 序列切成固定长度(如 8192)的样本,压成几 GB 一个的分片文件,配好索引,让上千台机器能并行随机读取而不打架。这不是学术工作,纯是工程活,但如果数据加载器成了瓶颈,几万张 GPU 就会在那儿干等——一个前沿实验室的数据团队规模常常和模型团队相当。

四、去重:为什么它是清洗里最要命的一步

如果只能做一件清洗工作,选去重。2021 年 Google 的《Deduplicating Training Data Makes Language Models Better》给出了很硬的结论:C4 数据集里有超过 3% 的 token 是重复片段;去重之后,模型逐字复述训练数据的概率下降了 10 倍,而困惑度反而更低。也就是说去重不仅让模型更安全(少背原文),还让它更强。

为什么重复这么有害?回到最根本的机制:训练目标是"最小化预测误差"。如果一段文本出现了 1000 次,模型最省力的策略就是把它逐字背下来——这样在这 1000 个样本上损失都极低。而背诵占用的参数容量,本来可以用来学规律。重复数据把模型从"总结规律的学生"变成"押题背原文的考生"——考过了,但没学会。

Analogy · 那本印错了的习题册

想象一本 500 页的习题册,装订出了故障:第 37 页被重复印了 200 次。一个笨学生会怎样?他把第 37 页那几道题背得滚瓜烂熟,闭着眼都能写出答案,代价是其他 463 页只草草过了一遍。考试时凡是第 37 页的题满分,其他一律不会。

更糟的是,他会形成一种错误的世界观——"这类题最重要,因为它出现得最多"。这正是重复数据对模型的双重伤害:既浪费了参数容量,又扭曲了它对"什么是常见的"的判断。所以去重的本质不是省存储,而是纠正数据的概率分布

工程上怎么做?精确去重很简单,算每篇文档的 SHA-256 扔进哈希表即可。难的是近似去重——两篇文章只改了标题和几个词,哈希完全不同但内容雷同(新闻转载、内容农场洗稿就是这样)。标准解法是 MinHash + LSH:把文档切成 13-gram 集合,用一组哈希函数取最小值得到指纹,指纹相近的分到同一个桶里再精细比对。这样能把 O(n²) 的两两比较降到近似线性。

# MinHash 近似去重的核心思路(伪代码)
def signature(doc, num_hashes=128):
    grams = {" ".join(w) for w in ngrams(tokenize(doc), 13)}
    # 对每个哈希函数,取所有 n-gram 哈希值里的最小值
    return [min(h_i(g) for g in grams) for h_i in HASHES]

# 两篇文档签名的相同位数比例 ≈ 它们 n-gram 集合的 Jaccard 相似度
def jaccard_est(sig_a, sig_b):
    return sum(a == b for a, b in zip(sig_a, sig_b)) / len(sig_a)

# LSH 分桶:签名切成 b 段,任意一段相同即视为候选对
for doc in corpus:
    sig = signature(doc)
    for band in split(sig, b=16):
        buckets[hash(band)].append(doc.id)   # 同桶才两两比对
# 相似度 > 0.8 视为重复,保留其中一篇

还有一个尺度问题值得知道:去重要在什么范围内做?FineWeb 团队发现了一个反直觉的结果——如果对 Common Crawl 全部 90 多个快照做全局去重,效果反而比只在每个快照内部去重更差。原因是全局去重会把"在多个年份都反复出现的内容"删得只剩一份,而这类内容往往正是高质量的经典文本;而只在快照内去重,保留了这种跨年份的自然重复,等于隐式地给优质内容加了权重。这说明"去重"不是越彻底越好,它是一个需要调的参数,而不是一个开关。

五、数据配比与课程学习:先读什么后读什么

假设你已经有了干净的网页、代码、书籍、数学、多语言五大桶,接下来的问题是:各占多少?按什么顺序喂?这就是数据配比(data mixture),是各家最不愿意公开的核心机密之一——因为它几乎不需要新算法,纯靠实验砸出来,属于典型的"知道了就能抄"。

配比怎么定?主流做法是小模型代理实验:用一个 1B 左右的小模型,固定算力预算,跑几十个不同配比的组合,看谁的下游评测最好,再把胜出的配比放大到大模型上。Google 2023 年的 DoReMi 方法更进一步,用一个小模型自动学出各领域的最优权重,据报道能在相同算力下让训练加速 2.6 倍。

更有意思的是课程学习(curriculum learning)——不仅要定比例,还要定顺序。人类教育天然是有课程的:先学加减乘除再学微积分,先认字再读小说。大模型训练也开始借用这个思路,典型做法是退火(annealing):训练的绝大部分时间用普通配比,但在最后 5%-10% 的步数里,把学习率降下来同时大幅提高高质量数据的比例——教科书、精选代码、数学题、人工撰写的高质量文本。Llama 3 的技术报告明确提到用这种退火策略,并指出它在数学与代码基准上带来了可观提升。

训练阶段占总步数数据侧重类比
早期0-10%普通网页为主,先建立基本语言能力幼儿识字、听大人说话
中期10-90%标准配比大规模灌输,覆盖长尾知识小学到高中的正常课程
退火期最后 5-10%高质量教科书、精选代码、数学题,学习率衰减到接近 0高考前的最后一轮精讲错题
长上下文扩展额外少量步数专门喂超长文档,把窗口从 8K 扩到 128K从读短文过渡到读整本书

"教科书就是你需要的一切"(Textbooks Are All You Need)是微软 2023 年 Phi 系列论文的标题,也是这条路线最激进的表达。Phi-1 只用了 70 亿 token 的"教科书级"数据(大部分由 GPT-3.5 合成)训练一个 13 亿参数的模型,在 HumanEval 编程基准上却打败了用几千亿 token 训练的更大模型。这个结果动摇了"数据越多越好"的信条——在某些能力维度上,数据的"教学质量"比数量重要得多。

Analogy · 米其林大厨与食材

训练 AI 就像做米其林菜。同样一位大厨(模型架构),给他一堆烂菜叶子(脏数据),做出来是黑暗料理;给他新鲜有机食材(干净数据),做出来是艺术品。数据清洗工程师,是大模型时代真正的"选菜师"——工资高、活儿累、成果隐形,但决定了最终的味道。

六、多样性(Diversity):偏科的模型没未来

规模够、质量高,还不够——数据的分布也很重要。如果 90% 的数据都是英文新闻,那模型的中文能力会很差;如果全是维基百科式的严肃说明文,那模型写诗、聊天、编代码就会显得很生硬。所以数据配比是一门玄学:Llama 3 论文里透露,代码数据占比约 17%、数学数据占比约 6%、多语言占比约 8%——每一份的多少,都是团队反复实验调出来的。

多样性还体现在领域覆盖上。现代大模型的数据一般包含:网页(Common Crawl)、书籍(图书馆扫描)、代码(GitHub)、学术论文(arXiv、PubMed)、对话(Reddit、论坛)、维基类知识库、多语言语料——每一类给模型带来不同的能力。代码数据尤其重要——研究发现,加入代码语料后,模型的逻辑推理能力会显著上升,即使问题本身跟代码无关。

多样性缺失的后果不是"某项能力差一点",而是一种系统性偏斜。互联网文本本身就是有偏的样本:英语使用者占全球人口不到 20%,但英文内容占互联网文本的 50% 以上;维基百科的编辑者中男性占绝大多数;Reddit 的用户画像明显偏年轻男性技术人群。这些偏斜会一比一地进入模型的世界观——它对西方中产的生活细节了如指掌,对撒哈拉以南非洲的日常一知半解,不是因为它有歧视,而是因为它读到的样本就是这个分布。

低资源语言的问题更尖锐。全球有 7000 多种语言,但训练语料里有实质覆盖的不超过 100 种。对于斯瓦希里语、藏语、维吾尔语这类语言,模型往往只见过几百万 token——这个量级连语法都学不全。"AI 的语言公平"不是价值观口号,它首先是一个数据供给问题:没有语料,就没有能力,无论模型多大。

七、训练集 / 验证集 / 测试集:为什么要一分为三

这三份东西说白了就是平时的练习题、月考的模拟卷、正式的高考。练习题可以反复做,模拟卷偶尔拿来测测水平顺便调整复习策略,而高考只考一次、考完就作废。

为什么绝不能混?想象一下一个学生拿去年的考试原题当模拟卷刷了三十遍,然后真考的时候正好碰上原题——他考了 148 分。这个分数唯一说明的事情是"他背下了这套题",跟他会不会做数学没有半点关系。这就是为什么"用训练数据评估模型"这件事在业内被视为一条硬红线。

而验证集为什么也得单独留一份?这一点更微妙。你每次拿模拟卷测完就回去调整复习方法,调了几十轮之后,你的复习方法其实已经是"专门为这套模拟卷量身定制"的了——哪怕你一道题都没背,你的复习策略也已经悄悄地过拟合了这套卷子。所以最后那一场必须用一套你从头到尾没碰过的题。

手上有 1000 万条数据,绝不能全拿来训练——必须切成三份:

为什么要严格分开?因为如果模型"提前看过高考题",考出的分就没意义了——这叫数据泄漏(data leakage),是机器学习里最忌讳的错误。想象一下:如果一个学生的期末考试题目他早就练过 100 遍,那 100 分不能证明他真的学会了。

在大模型时代,这个古老的原则遇到了一个新麻烦:测试集也在互联网上。MMLU、GSM8K、HumanEval、MATH 这些评测集全都公开发布在 GitHub 和论文附录里,而你的训练数据是"整个互联网"——除非专门做污染检测,否则它们几乎必然被爬进来。这就是所谓基准污染(benchmark contamination),它是今天读任何模型排行榜时都必须打的折扣。

污染的形式还分几档,从明显到隐蔽:

污染类型表现后果能否检测
原题泄漏训练集里有一字不差的题目和答案跑分虚高,可能高十几个点n-gram 匹配可查
改写泄漏题目被换过数字或措辞后进了语料跑分虚高,难以定量难,需语义相似度检索
题解泄漏原题没进来,但网上的详细题解进来了模型背了解法而非会解题非常难
过拟合基准团队反复在同一榜单上调参榜单外泛化能力不匹配只能靠私有测试集验证

有一个很有说服力的检验方法叫 GSM1K:2024 年有研究团队完全按 GSM8K 的题型和难度重新人工出了 1250 道全新小学数学题,从没在互联网上出现过。结果部分模型在新题上的准确率比在 GSM8K 上掉了最多 13 个百分点,而另一些模型几乎没有下降。这个差值,就是"背题"和"会做题"之间的距离。

所以对使用者的实用建议只有一条:建立你自己的私有测试集。二三十道来自你真实业务的题目,永远不上传到公网,每次换模型就跑一遍人工比对。它比任何公开榜单都更能说明"这个模型在你的场景里到底行不行"。

八、数据标注(Annotation):人工在幕后

标注(Annotation,人工给数据配上正确答案)这件事干的活儿相当于老师批作业学生自己做完一百道题,如果没人告诉他哪道错了、正确答案是什么,他做一万道也不会进步。而机器比学生更笨——它连"这题我可能做错了"的直觉都没有,全靠人给的答案。

这一行有个数字很值得翻译成人话让 ChatGPT 从"能说话"变成"会好好说话"的那个关键环节,靠的是几万条人工写的示范答案和几十万条人工排序的偏好比较——每一条都是活人一个字一个字敲出来、一对一对比较出来的。好比一位老教师批了几十万本作业,在每一本上写下"这样答更好、那样答不妥"。那些看起来最"聪明"的模型能力,底下压着的是极其笨重的人工。

预训练用的是海量无标签文本,但到了 SFT 和 RLHF 阶段(下一章讲),就需要人工标注了——需要真人写出"好的回答",或者对两个回答做偏好选择。OpenAI、Anthropic、Meta 都雇佣了成千上万的标注员,其中很多是博士、律师、医生——因为要标注专业问题的高质量答案,必须请专业人士。

标注是数据金字塔的顶端:数量最少(可能只有几万到几十万条),单价最高(一条好答案可能要 10 美元),但对模型效果的影响巨大。业界普遍认为,从 GPT-3.5 到 GPT-4 的飞跃,一半在于预训练规模,另一半就在于对齐数据的质量。

这条金字塔已经长成了一个真实的产业。Scale AI 在 2024 年的估值达到 138 亿美元,客户名单里有 OpenAI、Meta、微软和美国国防部;Surge AI、Appen、Labelbox 各自占据不同细分。而它们的实际劳动力,大量分布在肯尼亚、菲律宾、印度、委内瑞拉。2023 年《时代》周刊的一篇调查报道揭露:OpenAI 曾通过外包商雇佣肯尼亚工人为内容安全分类做标注,时薪约 1.32 到 2 美元,工作内容是长时间阅读并归类极端暴力与性侵材料,多名工人报告了心理创伤。

这是"AI 自动化"叙事底下最容易被隐去的一层:模型的"无害"是有人在替它先看过那些有害内容换来的。了解这一点,不是为了道德姿态,而是因为它解释了两个现实现象——为什么高质量对齐数据这么贵,以及为什么各家都在拼命用 AI 替代人工标注(下面讲的 RLAIF 和合成数据都源于此)。

标注质量本身也是一门工程。一条产业级标注流水线通常包含:写标注规范(往往几十页,OpenAI 的 InstructGPT 标注手册就有大量细则)、标注员考试筛选(通过率常常不到 20%)、多人重复标注、算标注员间一致性(Cohen's Kappa 或 Krippendorff's Alpha)、专家仲裁分歧样本、抽检返工。如果一致性低于某个阈值,说明规范本身有歧义,要回去改规范而不是骂标注员。

九、常见公开数据集速览

数据集规模用途
Common CrawlPB 级网页预训练主力
C4 / RefinedWeb数百 GB 清洗后网页Google/Falcon 用
The Pile825 GB 多领域文本开源预训练
RedPajama30T tokenLlama 类模型
Wikipedia各语言 GB 级知识来源
GitHub / The Stack数 TB 代码代码能力
ImageNet1400 万张图片视觉基准
LAION-5B50 亿图文对Stable Diffusion 训练
MMLU1.6 万道题学科能力评测
HumanEval164 道编程题代码能力评测

这张表里有三个开源数据集值得单独说说,因为它们代表了"公开语料"演进的三个世代,也是任何人今天想自己训模型的现实起点:

顺便提醒一个法律层面的现实:这些数据集的"公开"不等于"可自由商用"。2023 年之后,纽约时报诉 OpenAI、Getty Images 诉 Stability AI、多位作家集体诉讼 Meta(涉及 Books3)等案件相继展开,核心争议是"用受版权保护的作品训练模型是否构成合理使用"。目前各国判例尚未定型,但已经产生了实质影响:多家公司开始花钱买授权语料(OpenAI 与 Axel Springer、News Corp、Reddit 签约,据报道年费数千万美元级),Adobe 则主打"只用自有素材训练"作为卖点。数据的下一个瓶颈,可能不是技术,而是律师。

十、数据枯竭危机与合成数据崛起

先把"数据枯竭"这件事换成大白话好比一家饭馆生意越做越大,把方圆几十里的菜市场全买空了——不是它不肯出钱,是地里长出来的菜就这么多。互联网上"人写的、还能用的"文字,已经被这个行业基本吃了一遍。

那"合成数据"是什么?说白了就是让模型自己出题给自己做。好比一位老教师发现市面上的习题册都刷完了,于是自己动笔编题给学生练。编得好,这是好事——他能针对学生的弱项精准出题,比市面题册有用得多。

但这里藏着一个很实在的风险,它有个专门的名字叫"模型崩塌"。好比一份文件被反复复印:复印件再复印,再复印,印到第八代,字迹已经糊成一团墨点了。因为每一代都会把上一代的细微瑕疵放大,同时把那些罕见的、边缘的笔画彻底丢掉。模型用自己生成的数据训练自己,会经历同样的过程——越往后越"平庸",那些冷门但正确的知识先消失。

所以业内的共识是:合成数据不能当主食,只能当调味。真正有效的用法是"用强模型给弱模型出题",而且必须掺进足够比例的真人写的内容,还得有人工或程序把明显错误的题挑掉。好比老教师自己编的题得先请同行审一遍,而且课本还是得用正规出版的那一本。

2024 年之后,一个明显趋势是合成数据(synthetic data)比重上升。真人写的高质量文本毕竟有限,而已有的强模型(如 GPT-4)可以"产出"大量高质量文本,再用来训练下一代模型——Phi-3、Llama 3.1、DeepSeek-V3 都大量使用了合成数据。这有点像"武学门派的秘籍能自动生成新的招式",也带来一个哲学问题:当模型开始靠自己产生的数据训练自己,进步会不会有天花板?这是接下来几年 AI 领域最有趣的问题之一。

先把危机说清楚。Epoch AI 在 2022 年和 2024 年两次测算,给出的核心结论是:互联网上可用的高质量公开文本存量约为 3 亿亿(3×10¹⁴)token 量级,而按当前每代模型消耗量的增长速度,这个存量大约会在 2026 到 2032 年间被完全用掉。注意这不是"没有文本了"——垃圾文本无穷无尽——而是"没有新的高质量文本了"。就像地球上的石油:不是没有碳,是没有便宜的碳。

面对枯竭,行业有四条出路,各有代价:

出路做法已有案例主要风险
买私域数据付费获取新闻库、出版社、论坛、企业档案OpenAI 与 News Corp、Reddit 签约成本高、总量仍然有限
转向多模态把视频、音频、图像转成训练信号YouTube 字幕、播客转写处理成本高、版权更复杂
重复训练同一份数据训练多个 epoch研究显示重复 4 遍内损失几乎不变,超过 16 遍收益趋零过拟合、记忆化
合成数据用强模型生成新的训练文本Phi 系列、Llama 3.1、DeepSeek-R1 蒸馏数据模型崩溃、误差累积

合成数据到底怎么"合成"?它不是让模型随便写一堆文章那么简单。有效的做法都是把某种外部信号注入生成过程,让合成数据带有原始语料里没有的信息:

# 合成数据的四种典型套路

# ① 改写重述(rephrase)——同一知识换多种说法,提高信息密度
原文: 一段晦涩的百科条目
生成: "用小学生能懂的话解释一遍" / "写成问答形式" / "写成故事"

# ② 教科书生成(textbook)——Phi 系列的核心做法
给定 (主题, 目标读者, 难度) 三元组 → 生成一段带例题的讲解
关键: 用主题库保证多样性,避免生成几万篇雷同文章

# ③ 拒绝采样 + 可验证信号(rejection sampling)
for 数学题 in 题库:
    候选 = 模型生成 64 条解法
    保留 = [s for s in 候选 if 最终答案 == 标准答案]   # ← 外部验证器
    写入训练集(保留中最短的那条)
# 代码同理: 用单元测试当验证器,跑通才留

# ④ 蒸馏(distillation)——把强模型的能力搬到小模型
强模型对 10 万道题输出完整思维链 → 小模型做 SFT
DeepSeek-R1 就用这招把推理能力蒸馏进了 1.5B-70B 的小模型

注意第三种套路里那个外部验证器——这是区分"有效合成"和"自娱自乐"的关键。数学题有标准答案,代码有单元测试,逻辑题有形式化检查。只要存在一个模型之外的判据,合成数据就在往系统里注入真实信息,而不只是把已有信息搅一遍。这也解释了为什么合成数据在数学和代码上效果惊人,在"写出优美散文"这类没有客观判据的任务上就没那么灵。

反面案例同样重要。2024 年 7 月《自然》封面刊登了一篇论文,正式命名了模型崩溃(model collapse)现象:如果反复用上一代模型生成的数据训练下一代,不加任何真实数据,那么分布的尾部会一代一代消失——罕见的表达、少见的观点、长尾的事实逐渐被抹平,最后模型只会输出高度同质化的平均值文本。论文里那个著名的实验:从一段关于英国教堂建筑的维基文本出发,迭代九代之后,模型开始满嘴胡言乱语地讨论各种颜色的野兔。

Analogy · 复印件的复印件

拿一张照片去复印,复印件再去复印,如此重复二十次——最后你手上是一团灰。每一次复印都会丢一点细节、加一点噪点,误差是累积的而不是抵消的。用纯合成数据训练下一代模型,就是在复印复印件。

那怎么避免?答案很朴素:每一代都必须掺入足够比例的真实数据。论文的后续研究表明,只要真实数据保持一定占比,累积效应就能被压住。这也是为什么各家一边大规模用合成数据,一边还在花几千万美元买真实语料——合成数据是放大器,不是原料。你要放大的那个信号,必须是真的。

Recap · 收束

数据是 AI 的教材。规模决定见识、质量决定品味、多样性决定通才。训练集用来学、验证集用来调、测试集用来考——一分为三是铁律。到了对齐阶段,人工标注的每一条数据都价值千金。别再迷信"模型越大越强",真正的秘密在于——你喂给它的是什么

十条要点收束这一节:(1) 规模从 GPT-3 的 3000 亿 token 涨到 Llama 3 的 15 万亿,五年放大 50 倍,相当于一个人不眠不休读 47 万年;(2) 训练集有配料表,GPT-3 里维基百科只占 3% 采样量却被读了 3.4 遍——高质量语料值得重复读;(3) 清洗是七道关卡:正文抽取、语言识别、启发式过滤、去重、去毒、隐私脱敏、污染检测,存活率常常只有百分之几;(4) 去重是收益最大的一步,Google 的实验显示去重后逐字复述概率降 10 倍而困惑度更低,因为重复数据会把模型从"总结规律"逼成"背原文";(5) 配比靠小模型代理实验砸出来,而退火——最后 5-10% 步数集中喂高质量数据——已成标准操作;(6) 多样性缺失会一比一变成模型的世界观偏斜,低资源语言的问题本质是语料供给(7) 三集分离在大模型时代遇上了基准污染,GSM1K 实验里有模型掉了 13 个点——那个差值就是"背题"和"会做题"的距离;(8) 标注已成产业,Scale AI 估值 138 亿美元,而底层是时薪 2 美元的肯尼亚工人在替模型先看有害内容;(9) FineWeb-Edu 用 1.3 万亿精选 token 打败 10 倍量的原始数据,是"质量胜过数量"最干净的证明;(10) 高质量数据可能在 2026-2032 年间耗尽,合成数据是唯一可规模化的出路,但《自然》那篇模型崩溃论文提醒我们:合成数据是放大器不是原料,你要放大的那个信号必须是真的

☰ 主页
Xue Hai Wu Ya · § 6.1 · Dataset