← 返回题目列表

大模型的预训练数据是怎么处理的?为什么去重和质量过滤这么重要?

高频 中等 第 2 / 25 题 更新于 2026/07/25
预训练数据数据去重质量过滤数据配比

简化版

预训练数据的处理直接决定模型上限,核心环节是:质量过滤(去掉垃圾、乱码、低质网页,保留高质量文本)、去重(删除重复和近似重复的文档,防止记忆和浪费算力)、配比(合理混合网页、代码、书籍、论文等不同来源,并给高质量源更高权重)、去污染(剔除和评测集重合的数据,避免作弊)、以及隐私/安全清洗。业界共识是「数据质量 > 数据数量」——同样的算力下,干净、去重、配比得当的数据训出的模型明显更强。

详细版

预训练数据处理流水线

  1. 采集:CommonCrawl 网页、代码(GitHub)、书籍、维基、论文(arXiv)、问答等。
  2. 质量过滤
    • 规则过滤:去乱码、去过短/过长、去符号占比异常、语言识别筛选。
    • 模型过滤:用分类器/困惑度打分,保留「像高质量文本」的样本(如用维基风格做正例)。
  3. 去重(去重是重中之重)
    • 精确去重:完全相同的文档/段落删掉。
    • 近似去重:用 MinHash/SimHash + LSH 找近似重复并删除。
  4. 数据配比(mixture):决定各来源占比与采样权重,高质量源(书籍、代码、论文)常上采样。
  5. 去污染(decontamination):删除与测试/评测基准重合的样本,防止「刷分作弊」。
  6. 隐私与安全:去除 PII(个人身份信息)、有害内容过滤。
  7. Tokenize + 打包:分词、拼接成定长序列供训练。

为什么这些环节关键

  • 去重:重复数据会被模型死记硬背(增加逐字记忆、隐私泄漏风险),且浪费算力(反复学同样内容),还会扭曲数据分布。研究表明去重能显著提升效果、降低记忆。
  • 质量过滤:垃圾进、垃圾出。低质数据拉低上限。
  • 配比:不同来源培养不同能力(代码→推理,书籍→长文连贯,论文→知识)。
  • 去污染:不做的话评测分数虚高,等于自欺欺人。

完整版教学

一、为什么说数据是大模型的”天花板”

模型架构大同小异、算力可以买,真正拉开差距的往往是数据。同样规模的模型,喂干净、多样、配比合理的数据,和喂满是重复、垃圾、乱码的数据,效果天差地别。业界有句话:「garbage in, garbage out」——模型不会比它的数据更聪明。

所以顶级实验室在数据工程上投入巨大:不是简单「爬得越多越好」,而是在质量和数量之间精细权衡。近年多项工作(如用高质量数据的 Phi 系列「小而强」模型)证明:精选的高质量数据能让小模型达到大模型的水平,数据质量的杠杆极大。

二、质量过滤:从海量噪声里淘金

原始网页(如 CommonCrawl)绝大部分是垃圾——广告、导航栏、乱码、机器生成的 SEO 垃圾、重复模板。质量过滤分两层:

  • 启发式规则:过滤过短/过长文档、符号或数字占比异常、停用词比例异常、语言检测(只留目标语言)、去 HTML 残留等。快速砍掉明显的垃圾。
  • 基于模型的过滤:训一个轻量分类器区分「高质量 vs 低质量」(常用维基/书籍作正例、随机网页作负例),或用一个语言模型的困惑度打分——太高(乱码)或异常的都过滤。保留「读起来像人写的、有信息量的」文本。

过滤要有度:过滤太狠会损失多样性(把小众但有价值的内容也删了),过滤太松则留太多噪声,需要平衡。

三、去重:被低估但极其关键的一步

去重常被外行忽视,却是数据工程的重中之重,原因有三:

  1. 抑制死记硬背与隐私泄漏:如果某段文本(比如某人的地址、某段代码)在数据里出现很多次,模型会逐字背下来,推理时可能原样吐出,既是隐私风险也是版权风险。去重显著降低这种记忆。
  2. 节省算力:反复学同样的内容是浪费——本可以用这份算力学新东西。去重后同等算力见到的有效信息更多。
  3. 修正分布偏差:热门内容天然被大量转载复制,不去重会让模型过度偏向这些重复内容,扭曲学到的分布。

技术上分两级:精确去重(哈希比对删完全相同)和近似去重(用 MinHash/SimHash 生成文档指纹 + LSH 局部敏感哈希快速找「高度相似」的文档删掉)。近似去重能抓住「改几个字的洗稿」,是效果关键。

记忆钩子:去重同时解决三件事——少背隐私、省算力、正分布。别把它当可有可无的清洗步骤。

四、数据配比:不同”食材”炼不同能力

预训练数据是多来源的「混合饲料」,配比(各来源占比 + 采样权重)是一门手艺:

来源主要培养的能力
网页(CommonCrawl)广度、常识、多样性
代码(GitHub)逻辑、推理、结构化能力(对文本推理也有正迁移)
书籍长程连贯、叙事、深度知识
论文(arXiv)专业知识、科学推理
百科/问答事实准确性

要点:

  • 高质量源常”上采样”:书籍、代码、维基这类高质量数据,即便原始量少,也会给更高采样权重、甚至重复训几遍(epoch),让模型多学。
  • 代码提升推理:加入代码数据能明显增强模型的逻辑和推理能力,即使目标不是写代码,这是被反复验证的经验。
  • 配比要实验:最优配比没有万能公式,靠小规模消融实验确定,是各家的核心 know-how。

五、去污染:别让模型”考前看答案”

评测大模型要用 MMLU、GSM8K 等基准。如果这些基准的题目和答案混进了训练数据,模型就是「考前背过答案」,评测分数虚高、毫无意义,这叫数据污染(data contamination)

因此负责任的做法是去污染:在训练前,把与评测集重合或高度相似的样本从训练数据里删掉(用 n-gram 匹配或近似匹配检测)。不做去污染的「刷榜」模型,实际能力会远低于其分数。面试能点出「污染会让评测失真、必须去污染」,说明你懂评估的严谨性。

六、常见误区与追问

  • 误区:数据越多越好。 质量和去重比数量更关键;垃圾和重复数据有害无益。
  • 误区:去重只是省点空间。 它抑制死记硬背、降隐私风险、省算力、正分布,是核心步骤。
  • 追问:为什么加代码数据? 提升逻辑与推理能力,对非代码任务也有正迁移。
  • 追问:近似去重怎么做? MinHash/SimHash 生成指纹 + LSH 快速找近似重复,删掉洗稿式重复。
  • 追问:高质量数据为什么要上采样/多训几遍? 让模型对稀缺的优质内容学得更充分,提升上限。
  • 追问:什么是数据污染,怎么办? 训练数据混入评测集导致刷分作弊;训练前做去污染(匹配删除重合样本)。
  • 追问:数据会枯竭吗? 高质量人类文本正被逐渐用尽,催生了合成数据、数据高效训练等方向(也带来”模型崩溃”等新问题)。

七、加强记忆

预训练数据记「质量>数量」和一条流水线:采集 → 质量过滤(规则+模型打分去垃圾)→ 去重(精确+MinHash 近似)→ 配比(多源混合、高质源上采样、加代码提推理)→ 去污染(删评测重合样本)→ 隐私安全清洗 → tokenize 打包。 三个最该记牢的点:去重同时”少背隐私、省算力、正分布”配比决定能力(代码练推理、书籍练连贯)且高质源要上采样不去污染=考前看答案,评测全废。数据是模型的天花板——这句话贯穿整道题。