Appearance
Q142 · 大模型的训练数据如何处理?
假设团队要训练一个能读中文科普、英文说明和代码的语言模型。刚收集到的材料里混有重复转载、网页菜单、私人邮件和公开考试题。如果把所有文件直接送进训练,模型会反复学习同一篇文章,可能记住个人信息;考试题混进训练还会让后续成绩失真。数据处理的目标,是把可以使用、内容可读、覆盖目标领域且可追溯的材料,变成训练程序能消费的样本,同时保留独立评测材料。Dolma 数据集论文 · Meta Llama 3 数据处理说明
这里主要讲预训练:模型通过大量文本预测接下来的文本片段,学习语言、知识和模式。指令微调需要另外处理“用户指令—理想回答”等成对数据,审核回答质量、角色格式和标注一致性;来源、隐私、去重、隔离和追溯原则仍适用。下面不会把“数据清洗”简化成删脏词,也不会把“数据越多越好”当成无需验证的原则。
术语与记录字段
| 词或字段 | 含义 | 本文例子中的用法 |
|---|---|---|
| 文档 / 样本 | 一份文章、一段代码或其他原始记录;处理后可成为一个或多个训练样本 | 12 份候选材料中的每一份 |
| 来源与使用条件 | 材料从哪里来、是否有适用于拟议训练用途的许可或授权 | 同一篇文章的转载也要查来源,公开可访问不自动等于可用于训练 |
| 编码 | 字节怎样表示文字,如 UTF-8;解码错误会出现乱码 | 把抓取的网页正确读成中文文本 |
| 语言识别 | 判断文档主要使用哪种语言,且允许“不确定” | 区分中文文章、英文说明及混合代码 |
| 清洗 / 质量过滤 | 去网页菜单、广告、乱码等无用内容,并筛查内容是否可读、有信息量 | 删除只剩导航和重复按钮的网页 |
| 精确去重 / 近重复去重 | 分别找完全相同、仅有小改动的内容;可在 URL、文档、段落层做 | 两个网址转载同一篇科普,保留合适版本 |
| 个人敏感信息(PII) | 能识别个人或需额外保护的信息,如手机号、邮箱、身份证号 | 私人邮件里的联系方式 |
| 评测污染 | 本应用来检验模型的题或答案被训练看过 | 公开考试题与答案混入预训练材料 |
| tokenizer / token | 分词器把文本转成一串整数;其中每个单位叫 token,不必等于一个汉字或一个词 | 中文句子先变成 token 序列,模型才读取 |
| 混合采样 | 按设定比例从不同来源、语言或领域取训练样本 | 控制中文、英文、代码进入训练批次的份额 |
| 训练 / 验证 / 测试集 | 分别用于更新模型参数、调训练方案、最终独立报告效果的数据 | 三只分开的文件盒;测试盒不得用于调参 |
doc_id / source_id | 文档编号 / 来源编号,便于追查一条样本从哪来 | A 是文档;其原始站点另有来源编号 |
decision / reason | 是否保留的决定 / 做出决定的原因 | “隔离;来源授权待核” |
| 数据集版本 | 原始来源清单、规则、分词器、样本和划分的固定快照 | v1 与 v2 的训练材料可复核、可比较 |
“分词器”并非把文章改写得更好;它解决的是模型输入必须为数字序列的问题。质量过滤、隐私处理和是否允许使用该来源,则是更早的内容与治理决定。各环节可以有不同实现顺序,但不要在测试集已经影响训练选择之后,才给它补贴“独立测试”的标签。
12 份候选材料如何一路变成数据集
下面是假设性的微型批次,只演示处理决策,不能用 1 份验证文档或 1 份测试文档推断真实模型质量。团队已有训练用途授权记录,并要保留每份材料的 doc_id、source_id、获取时间、使用条件、内容指纹和处理决策。
| 文档编号 | 收到的内容 | 处理结果与原因 |
|---|---|---|
| A | 获准使用的中文科普原文 | 内容可读,保留 |
| B | A 在另一网址的转载,只改了标题 | 近重复,保留合适来源的 A,B 不重复计入 |
| C | 获准使用的英文技术说明 | 内容可读,保留 |
| D | 获准使用的代码示例 | 内容可读,保留,另记录代码来源条件 |
| E | 获准使用的少见语言科普短文 | 内容可读,保留;不因语言少见就自动删除 |
| F | 获准使用的中文历史文章 | 内容可读,保留 |
| G | 含个人手机号的私人邮件 | 无本次训练授权,剔除并限制原件访问;不把号码写入公开日志 |
| H | 只剩菜单、广告和重复按钮的网页 | 信息量很低,过滤 |
| I | 文字断裂严重的扫描识别稿 | 先隔离待复核或修复,不假装它是干净正文 |
| J | 带标准答案的公开考试题 | 从训练候选中隔离,防止评测污染 |
| K | 来源不清、使用条件不明的电子书片段 | 暂缓使用,直到来源和授权核清 |
| L | 获准使用的另一篇中文科普文章 | 内容可读,保留 |
这批里 A、C、D、E、F、L 六份符合当前训练项目的来源与内容要求;B、G、H、J 暂不用于训练,I、K 等待补证或修复。对合格的六份,再按来源或内容簇分开,例如把 A、D、E、F 放训练集,C 放验证集,L 放测试集。这只是说明三者不能重合,不是推荐的真实划分比例。生产数据要让验证与测试覆盖目标语言和任务,按来源/文档簇隔离,再查训练与评测之间的近重复;否则 A 的转载 B 即使被放进测试集,也仍是泄漏。

图里的筛网表示一组有理由、可记录的筛选决定,下方碎纸并不是要求把所有不合格原件立即物理销毁。具体保留期限、审计和访问控制应遵循项目的数据治理要求。考试题 J 若要充当未来评测资料,应进入受控评测库,不因“公开”便流入训练盒。
从来源到可读文本:先解决“能否用”和“读到了什么”
**确认来源与授权。**先记录原始网址或数据提供方、获取时间、版本、使用条件、允许的用途、删除或撤回要求。公开网页、可下载文件、开源代码的使用条件可能不同;不能凭“搜得到”推断训练、再发布或商用均获许可。来源不清的 K 暂缓使用;G 是私人邮件,即使技术上可以解码,也没有进入本项目训练的依据。数据卡可以记录语言、许可、来源与局限;记录本身不替代权利核查。Hugging Face 数据集卡官方文档
**提取与规范化。**把 HTML、PDF、代码等提取成文本,统一编码、处理乱码和异常控制字符,保留必要的标题、段落及代码边界。网页正文不能连同菜单、页脚、弹窗一股脑送入模型。PDF 扫描识别可能把数字“0”看成字母“O”,I 这种断裂稿应抽样复核或隔离;对于代码,不能把缩进和符号像普通空白一样粗暴删除。每次变换最好保存原件指针和处理版本,这样发现错误后能重跑,而非人工猜测文本从哪一步坏掉。Dolma 公开了多阶段过滤和可复现的数据处理工具,说明这本身是模型工程的一部分。Dolma 论文 · Dolma 工具仓库
**识别语言与文档类型。**中文、英文、代码、混合文档各用合适的识别和质量检查。短文本和中英夹杂材料容易被误判,不能把低置信度识别当成绝对事实。若目标模型需要少见语言,E 可能很重要;无脑设“只保留英文”会让训练集变得整齐,却削弱目标能力。Meta 对 Llama 3 的说明也把非英语数据比例和不同数据源的混合作为设计变量,而非清洗后自然得到的常数。Meta Llama 3 数据说明
质量、去重、隐私与安全要分别判断
质量过滤先用可解释规则去掉乱码、极短无信息页面、重复导航、明显机器抓取残片,再以抽样人工检查或小模型质量打分辅助。H 应删,A 应留;I 可能通过修复恢复价值。如果过滤器把方言、专业术语、代码符号误当乱码,保留率漂亮也会伤害目标分布。研究者审视 C4 网页数据时发现,某些拦截词规则会不成比例地移除涉及少数群体的内容,说明过滤规则需要审计误杀,而非只看删了多少。C4 数据集审计论文
去重不只是比较两个网址。A、B 网址不同但正文近同;同一网页还可能在不同抓取日期重复,段落也可能被多个站点搬运。可先做 URL 或精确文档去重,再用近似文本匹配找“标题改了、正文几乎没变”的重复,必要时检查段落级重复。保留哪一份要考虑来源授权与文本质量,不能随手留最早抓到的。去重能避免训练预算被高频副本占用,也能降低某些记忆和评测重叠风险;但过严阈值可能把两篇同主题但各有新信息的文章错删。去重研究直接测量了其对模型效果和记忆的影响。Lee 等:Deduplicating Training Data Makes Language Models Better
隐私与敏感内容处理既看是否有权使用,也看文本里是否有手机号、邮箱、证件号、密钥、私人聊天等不该学习的内容。G 已因无授权剔除;对于其他合法来源里的零星敏感片段,可结合规则、识别模型、人工复核做删除或替换,并限制原始数据访问。自动检测会漏报,也会把普通数字误报成证件号,所以需要抽样审计和可申诉的修正流程;“跑过一次正则表达式”不等于隐私风险归零。Dolma 明确记录了个人信息过滤做法;关于重复文本与隐私泄露的研究也提示同一敏感串反复出现会增加风险。Dolma 论文 · 重复数据与隐私研究
安全过滤还应区分“无用垃圾”“不适合进入训练的危险或侵害性内容”与“讨论安全议题所需的正常资料”。可按项目政策分级过滤、限制来源、抽样审核;不能假设过滤完训练数据,模型就不会输出危险内容。预训练、后训练和部署阶段还需要各自的安全评测。Meta 对 Llama 3 的公开说明使用启发式、NSFW、语义去重及质量分类等不同过滤器,而不是一条万能规则。Meta Llama 3 数据说明
隔离评测,再决定怎样变成训练 token
**先隔离验证与测试。**训练集更新模型权重;验证集帮助选模型、调训练步数、比较过滤阈值;测试集应尽量等决策固定后再打开,用于独立报告。按文档、站点或相似内容簇划分,不能把同一文章的两个版本放在训练和测试两侧。J 这类公开考试题及答案要从训练候选和调参材料中排除或明确报告重叠风险。公开基准可能被模型在训练中见过,仅做 URL 黑名单不足以发现改写或转载;要配合规范化匹配、近重复检查和新收集的任务评测。评测污染研究
**训练分词器并编码。**确定保留的训练文本后,选定并训练或复用一个 tokenizer,再把文本变成 token ID 序列。比如句子“海水会蒸发”可能被切成几个子词或字节片段,切法由具体分词器决定,不能武断地说它一定是五个 token。分词器词表和规范化规则也要锁定版本;若后来换分词器,同一文本的 token 数和训练预算都可能变化。训练分词器时也不要把应保密的测试集拿来“顺手学词表”。SentencePiece 原论文展示了直接从原始句子训练子词分词器的方法;它是一个例子,不代表所有 LLM 必须使用它。SentencePiece 原论文
**混合采样与打包。**训练程序按计划从中文文章、英文说明、代码等来源取 token 序列,组成一个个训练批次;长文可能切成多个序列,短文可能打包以减少空位。这里的“来源比例”一般按训练 token 或采样概率定义,不能只数文件:一份长书与一条短消息重量不同。假设产品以中文科普为主、偶尔读代码,就应在小规模试验中比较不同来源比例对中文、英文、代码和安全评测的影响,再固定方案。高质量与多样性存在权衡:只挑一种“最高分”网页可能牺牲语言和领域覆盖;无差别全收则把噪声和重复带进训练。Llama 3 团队公开描述了对数据混合的实验,DataComp-LM 也把过滤、去重、混合作为可比较的研究变量。Meta Llama 3 数据说明 · DataComp-LM 论文
失败时怎样定位,而不是只把数据量加大
**验证集突然变好,真实问答没有变好。**先检查是否把 C 或 L 的近重复文本、J 的试题答案混入训练,以及是否反复根据测试成绩改规则。训练与验证共享转载内容时,模型可能只是认出了熟悉文本。重新按来源簇划分、做跨集合近重复扫描,再用独立新题检验;若已有测试集长期参与调参,应另建新测试集。
**中文能力下降,清洗报表却显示“高质量率上升”。**查看各语言的保留率、token 占比和被删样本;可能是语言识别器把短中文或中英混合文本误删,也可能是质量分类器偏好英文。抽样人工复核 E 一类被拒材料,再调整阈值和混合比例,重跑小模型试验。不能仅靠更严格过滤推断能力会提升。
**模型吐出电话号码或密钥片段。**先处理实际暴露风险,定位来源和同串重复出现次数,检查采集权限、过滤漏报、原件访问和日志副本。删除后续语料中的该串并重训或采取适用的缓解措施;不能承诺对已训练权重简单删一行数据就能完全抹去记忆。要把事故与数据集版本、模型检查点关联,才知道哪些训练运行受影响。
**复现不了上次效果。**如果只保留一个“最终文本文件”,却没有来源快照、规则版本、随机种子、分词器版本和采样比例,就无法解释为何同名数据集两次训练不同。给每批来源和处理步骤生成清单:doc_id 对应来源、授权、语言、过滤决定和原因;记录各阶段剩余文档数、token 数、语言分布、近重复率、隐私审计抽样结果及 train/val/test 划分。原件访问应限权,公开报告只公布合适的汇总统计。Hugging Face 的数据集卡提供记录来源、语言、许可和限制的通用形式;Dolma 则展示了详细的数据构建文档。数据集卡文档 · Dolma 论文
面试时可以这样说
“我会把训练数据当作有版本的流水线管理。先确认来源和训练用途的授权,保存来源、时间和使用条件;然后正确解码文本、识别语言和类型,做质量过滤、精确与近重复去重,再处理隐私及不合适内容。评测题要隔离,训练、验证和测试按来源或相似文档簇划分并做跨集合查重。之后锁定分词器,把文本转成 token,按目标能力试验中文、英文、代码等来源的采样比例。每一步留决策原因、计数和数据集版本,并抽样看误删、漏删与下游效果。高质量和多样性要一起看;过滤得越狠不一定越好。”
如果追问“拿到一亿条网页,第一步是不是跑去重”,可以回答:**先知道来源和允许用途,建立可追溯的采集清单;技术上可以并行统计重复,但不能因为一条数据不重复就认为它可被训练。**如果追问“验证集能否拿来反复调清洗规则”,答案是可以用于开发比较,但它会逐渐被开发决策适配;最终还需要未参与调参的测试集及目标业务题集。