恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
大模型训练数据工程全解析:配比、清洗、去重与评估避坑指南
首页
资讯中心
/
大模型训练数据工程全解析:配比、清洗、去重与评估避坑指南
大模型训练数据工程全解析:配比、清洗、去重与评估避坑指南
发布时间:2026/10/13 10:31:20
简介阿里研究院发布的《2024大模型训练数据白皮书》PDF系统梳理大模型训练数据的完整链路面向AI算法工程师、数据治理人员及关注人工智能产业趋势的研究者聚焦训练数据来源、质量评估、安全合规等现实难题。包内为单份PDF文档压缩包约15.12MB可直接阅读保存。白皮书首先区分训练大语言模型与多模态模型所需的数据类型澄清大模型训练不依赖用户个人信息、中文语料短缺并非关键制约等常见误解随后科学解读高质量数据的标准包括三重不确定性及同类数据评估标准的差异并着重探讨合成数据作为解决训练数据供给不足的新方案涵盖其定义、必要性、生成方法、分类及在预训练语料和对齐语料中的加速作用最后延伸至大模型训练数据的治理之智以及政府与社会力量协同的数据生态建设。目前已有1502人次浏览学习适合需要快速建立数据认知框架、规划数据质量与合规策略的读者参考。1. 大模型训练数据白皮书数据工程不是洗数据而是定标准做训练的人最容易把“大模型训练数据”理解成“把垃圾倒进桶里再捞一遍”。某头部云厂商研究院这次发布的《2024 大模型训练数据白皮书》PDF 版主线不是教你怎么洗数据而是讲怎么给数据定标准来源配比、清洗顺序、质量阈值、去重粒度、评估方法这几样合起来才决定模型是“真的会了”还是“背下来了”。我在项目里见过太多翻车现场——数据量堆得越大模型反而越偏查一圈都是漏了去重或者配比失衡。这份白皮书适合算法工程师、数据平台负责人和训练团队读它不给现成数据集但给了一套可执行的数据基线照着能少走很多弯路。2. 训练数据的来源与配比从“有什么用什么”到“缺什么补什么”白皮书讨论训练数据时不会先报总量而是先把来源拆开。我接手过的数据项目里真正把模型拖垮的往往不是单一来源质量差而是各来源按错误的份额混在一起。原因很简单不同来源的文本在信息密度、长度分布、重复率上完全不是一个量级按习惯混合会让某一类数据悄悄盖过另一类。2.1 数据来源拆开看网页、书籍、代码、多语种各自解决什么问题常见的数据来源可以分成四类每一类在模型能力里承担的角色不一样。数据源类型典型内容解决什么问题典型风险网页数据新闻、百科、问答、论坛帖子提供常识覆盖面量大导航模板多、内容重复、信息密度低书籍与论文书、期刊、技术文档提供长文本与高符号密度支撑推理能力数量少、文件大、授权边界要确认代码数据开源代码、技术文档锻炼逻辑链与代码生成注释噪声、自动生成模板重复多语种数据中文、英文、小语种网页与书籍防止模型在某语种上塌陷质量参差低质译文混入这四类的边界在实际采集时会重叠比如一个技术问答站既是网页又是技术文档没必要严格归类。我一般会把同一批文本打成多标签而不是只归一个类这样后续统计配比时不会因为分类口径丢数据。从工程落地角度看网页数据是基座量大、便宜、好采集但它只是“广度”书籍论文是“深度”一条高质量长文本顶得上几十条新闻代码数据是“逻辑链”但占比过高会让模型输出变得啰嗦习惯性贴代码块多语种数据不是附加项而是防止中文能力被英文语料稀释的调节阀。白皮书里反复强调的“配比”本质就是在这些维度之间找平衡点。实际给我印象最深的是很多团队从开源数据集下载后直接按文件名混合结果 base 模型跑起来还行一换到中文问答就露馅。原因不是中文语料不存在而是中文在总量里被英文冲到了很低的占比。这就是下面要说的配比问题。2.2 配比参数怎么起步按 token 占比而不是按文件数配比的第一条铁律按 token 数算占比不要按文件数。一个网页文件可能只有几十个 token一本技术书有几十万 token按文件数配比会把“看起来数量很多”的短文本推到过高的实际权重。起步配比可以参考这张表但它不是标准答案只是常见起点数据类别目标 token 占比采样策略说明网页数据50%正常采样保证覆盖面但要过滤模板与噪声书籍论文20%可重复采样 2-3 次数量少、价值高但重复采样别超过 epoch 上限代码数据15%按文件长度分层采样过滤生成式代码和复制粘贴的片段多语种数据10%低资源语种过采样中文、小语种单独统计防止被英文淹没问答与指令5%保留原始分布来自对话数据质量较高但量少采样策略里有两个关键参数采样倍数sampling multiplier和每个文档的最大重复次数。低资源语种可以设置 2 到 3 倍的过采样但同一份文档最多在一个 epoch 里出现一次否则模型会对这段文本产生“背诵”而不是“理解”。常见做法是用指数温度采样温度越高越容易重复抽取头部数据需要设置上限。配比不是设完就不管了。我会在每次跑到 5% 到 10% 的训练进度时停下来统计实际消费的 token 分桶看和设定占比的偏差。偏差大于 10% 就要查采样器是不是被大文件或短文本拖偏了。“配比是玄学”这句话多半是因为只看配置文件、不看实际消费分布。3. 数据清洗与去重的落地顺序过滤、去重、质量打分三步走数据清洗最忌讳一上来就堆一堆规则。白皮书里给的方向是先过滤掉“一眼假”的数据再处理“看不出来”的重复最后用质量模型做分层。这个顺序不能乱先做规则过滤数据量变小后面做近似去重和质量打分的成本都会低很多。3.1 清洗管线第一道闸规则过滤的阈值设置规则过滤的价值是快、可解释、先拦掉八成垃圾。我常用的规则和阈值如下过滤对象常用规则常用阈值作用过短文本字符数、token 数下限字符数 60 或 token 数 30 丢弃避免碎片化上下文语言混杂语言识别置信度置信度 0.65 丢弃过滤乱码和多语种混杂页重复字符单字符重复率 30% 丢弃拦掉键盘乱打、垃圾站文本HTML 残留标签占比 5% 丢弃转换失败的网页导航模板URL 关键词 正文匹配命中即丢去掉“上一篇/下一篇”等模板内容这些阈值不是拍脑袋定的。我一般会先对采样数据做一次分布统计把字符长度、重复率、语言置信度画出来在两个峰谷之间切阈值。翻车的人通常是照搬别人的配置文件结果把正常长文本当垃圾删了比如技术文档里连续出现“assert”和“TODO”字符重复率会偏高直接按 30% 一刀切会误伤。规则过滤还有一个容易被忽略的点顺序。先做语言识别和长度过滤再做模板匹配最后才做去重。原因是模板匹配依赖文本完整性如果先按行切碎了再匹配模板就拼不回去了。常见做法是保留两个版本一个完整原文一个清洗后文本后面做去重时使用清洗后文本保存时保留原文。3.2 MinHash 去重与近似去重参数怎么选精确去重只解决完全相同的文本但网页数据里大量重复是“改了几个字”“加了一段水印”这就需要近似去重。最常用的是 MinHash LSH工程上成熟、快、能按阈值调。参数常用取值影响n-gram 大小5 到 10值越小对轻微改动越敏感误杀高值越大放过的改写越多签名数量128 或 256越大越准内存开销越高band 行数20 到 32决定相似度阈值和召回率相似度阈值0.7 到 0.850.8 起步漏检多就降到 0.7误杀多就提上去我一般会先用 0.8 跑一遍统计重复文档占比和训练 loss 曲线再决定往哪个方向调。如果重复占比明显低于预期说明阈值太宽降到 0.7如果模型开始出现“背诵式”输出说明重复数据漏进来太多要降到 0.7 甚至 0.65。去重不是只做全文档。网页正文里经常出现整段重复比如某个热门回答被几十个页面引用整篇相似度不到 0.5但中间有一段完全相同这会对训练造成“局部重复”。常见做法是切段后对段落做局部去重把连续重复的段落标记掉而不是丢掉整篇。“全局去重 局部去重”组合起来才接近白皮书说的去重粒度。计算指纹前要归一化全角转半角、统一小写、去掉多余空白、去掉页眉页脚。做过归一化和没做过的指纹完全不是一个东西。这一步不做MinHash 会漏掉大量“看着不一样、读起来一样”的重复。3.3 质量打分模型人工标注一小批模型跑全量规则解决“明显的垃圾”但拦不住“看着完整、内容空洞”的低质量文本。这类文本要交给质量打分模型。常见做法是从规则过滤后的数据里随机采样几千条先做人工标注分三档保留、边缘、删除然后用标注结果训练一个打分模型对全量数据打分。打分模型不需要很大参数量在两三百万到一两千万之间就够。它做的事不是判断对错而是排序在 0 到 1 之间打分按分位数切层。我会把最高分的前 60% 直接保留最低的 5% 直接删除中间 35% 再按比例抽检一次。只设绝对分不好使因为不同批次的文本分布会漂移分位数更稳。质量打分这里最常见的错误是把所有内容类型混在一起打一个分。代码注释和新闻标题在同一个打分模型里天然吃亏——代码注释会被判成“语义不完整”新闻标题会被判成“太短”。正确的做法是按内容类型分开训练、分开打分代码数据可以单独走规则不需要强行塞进通用打分模型。4. 从白皮书到评估指标质量、覆盖度、合规与分布漂移怎么量化数据管线做了清洗、去重、打分效果到底怎么样不能只靠“看着干净”判断。白皮书最有价值的地方是把数据质量从“感觉”转成“指标”。我落地时主要盯四类质量、覆盖度、合规、分布漂移。4.1 质量评估先定基线困惑度、嵌入相似度、任务抽测质量评估不能只盯一个指标。我同时用三个互相验证指标看什么注意困惑度PPL模型对数据的拟合程度低 PPL 不代表数据好重复数据会把 PPL 拉得很低嵌入相似度样本在向量空间里的聚类情况一个簇里出现大量近似文本基本就是漏网的重复模板任务抽测用固定小模型分别在清洗前后训练直接反映数据改动对下游能力的影响嵌入相似度是我排查翻车现场的第一工具。用轻量向量模型把采样文本转成向量做一次聚类看每个簇的大小。如果某个簇里有上万条高度相似的短文本说明有人在额度里混入了大量改写文本。白皮书把这类问题叫做“数据同质化”它比脏数据更难发现因为每条单独拿出来都是合法的。任务抽测是回归的重要手段。我会准备一组固定的小任务比如摘要、问答、代码补全分别用清洗前后的数据在小模型上训练看分数变化。这个过程很费算力但比看 PPL 可靠得多因为 PPL 只反映拟合不反映真实能力。4.2 覆盖度评估领域分类与缺失清单覆盖度评估是很多人会跳过的环节但没它配比表就是一张空纸。常见做法是训练或复用现成的领域分类器对清洗后的数据打标签统计每个领域的占比。检查项做法通过标准领域占比分类器打标后统计 token 占比与目标占比偏差小于 10%关键领域缺失列出目标领域清单逐项对照没有“零样本”领域语种占比语言识别后按语种统计中文、英文比例符合模型定位分布漂移不同批次数据的领域分布对比主要领域占比变化不超过 5%我做覆盖度用的是“差距清单”把目标领域和当前占比放在一张表里差距超过 5 个百分点就列入补采列表。补采不是重新抓网页而是去专门的垂直语料源补充。这里最容易犯的错是只看总量总量很大但某个关键领域完全缺失模型就会出现“在某个方向上一个字都蹦不出来”的尴尬。分布漂移要单独说。数据管线常常是分批次更新的上一批数据里技术文档占 10%这一批占 25%如果不做对比模型能力会在迭代中悄悄漂移。我一般会把每批数据的领域分布存下来作为一个目录文件每次更新前先对比再合并。4.3 合规与版权过滤的落地边界合规这块我不讨论法律怎么定只讲工程怎么落地。常见做法是三件事信息过滤、版权指纹过滤、授权范围核验。信息过滤上姓名、手机号、身份证、地址这些个人敏感信息用规则和命名实体识别做标记命中采集源就直接丢弃。版权过滤上常见做法是对受保护文本做哈希指纹与指纹库做碰撞检查命中的长文本不进训练集。授权核验上更接近流程问题按数据来源的授权范围决定是“能训练”还是“能商用”这一步最好在采集阶段就登记清楚不要等清洗完才补。落地边界在于这些检测都不是 100% 召回。我习惯把数据分成三层高危直接删中危人工抽检低危保留。高危样本的判定优先级永远高于质量打分——哪怕一段文本质量再高如果命中敏感信息或版权指纹也不能因为“质量好”放进来。这个分层要在配比之前做否则覆盖度统计会被违规数据污染。5. 训练数据工程避坑指南五条血泪排查记录下面五条都是从项目里踩出来的坑每条都按“现象、原因、解决”拆开可以直接当排查手册用。5.1 重复数据导致 loss 震荡和“背诵式学习”现象训练中期 loss 曲线周期性下降又回升像是模型在反复巩固某一段文本。测试结果更明显模型对训练集里出现过的问法答得很准换一种问法立刻失分。原因数据去重阈值定得太宽0.9 以上大量改写重复文本漏了进来或者采样阶段把同一文档重复插入了多个 epoch。解决把 MinHash 相似度阈值从 0.85 调到 0.7并加上文档级 URL 指纹同一个 URL 只允许一个正文版本进入训练集。采样器里设置每个文档的 epoch 重复上限这个参数别图省事设成“不限”。排查时先看数据卡片——就是采样统计表如果某段文本在 top 重复文档里连续出现优先怀疑采样器而不是来源重复。阈值 0.9 看起来最安全实际放过的是改写文本改写文本比原文本更隐蔽危害更大。5.2 中文语料里的“高重复模板”没被规则过滤现象中文数据占比正常但模型生成内容频繁出现“在当今社会”“随着科技的不断发展”这类套话一段回答里能出现两三次。原因规则只做了整行去重而大量中文网页是“同一套模板换标题”整行并不重复只有相似度聚类才能发现。这类模板文本会反复出现在不同域名质量打分会给高分因为它语义完整。解决在规则过滤后增加“标题正文首段”指纹聚类把同模板文章聚成一个簇每簇只保留一两篇。再做一次段落级去重把簇内重复段落标出来。排查时别只看规则统计要看相似度聚类里最大簇的前几条文本如果每条是同一套话换个例子基本就是模板化站点批量生成的文本模板识别阈值先按相似度 0.8 起调。5.3 质量打分模型把代码注释当噪声误删现象清洗后整体文本质量分数提升了但代码补全评测分数明显下降模型生成的代码注释越来越短。原因打分模型基于通用文本训练代码注释和代码文档被当成“语义不完整”的片段打了低分最后被分层删除。代码注释本身短、符号多在通用模型里天然不具备优势。解决内容类型分裂上双轨——代码数据单独走规则不做通用质量打分如果一定要打分就单独标注一批代码正负样本训练一个代码质量分类器。注释处理单独抽出来做保留对理解代码有帮助的注释只删明显的复制粘贴模板。做数据审计时有一个简单办法把被删掉的低分文本随机抽 1000 条人工过一遍看有多少条是正常代码注释。如果比例超过一半说明打分模型偏了必须重训或换规则。5.4 数据配比按文件数算导致小语种被稀释现象多语种任务效果远低于预期中文领域测试集上的幻觉率上升模型却在英文数据上表现正常。原因配比表是按文件数写的“网页占 70%、书籍占 30%”但网页平均文件只有几百 token书籍一本就有几十万 token实际消费占比完全是另一回事低资源语种被稀释到只剩个位数。解决统一改按 token 数统计写一个采样统计脚本输出每个语种、每个类别的实际 token 占比配比表按 token 来写。低资源语种设置 2 到 3 倍过采样并定期打印实际占比发现偏离立刻调。这个脚本不需要复杂把采样后的数据按语言识别跑一遍再按 token 数聚合就行。重点是把占比表挂到训练日志里每次训练都能看到别等跑完才后悔。5.5 验证集和训练集发生数据污染现象离线验证指标一路走高线上效果却很差评测结果像“买榜”。原因数据管线先做了全量去重再去切验证集导致同源文本同时出现在训练集和验证集里验证集形同虚设。相似度很高的文档对会让验证 loss 失真。解决顺序改成“先切验证集再做全量去重”。验证集提前锁定训练集去重时把与验证集相似度超过阈值的样本过滤掉。验证集也要做一次外来文本去重避免测试阶段引入和线上分布不符的样本。排查线上线下落差时先把验证集和训练集各抽一批计算相似度分布如果分布顶到 0.8 以上基本实锤。这个顺序问题在白皮书里被反复强调却最容易在执行时被忽略。6. 进阶把白皮书读成一份数据管线验收清单白皮书读一遍记不住我习惯把它的结论翻译成一份验收清单每次训练前对照过一遍。这份清单也是一次数据版本的“发布门禁”。维度检查项通过标准来源配比各类型 token 占比与目标偏差小于 10%规则过滤垃圾模板、短文本占比低于 1%去重MinHash 阈值、URL 指纹唯一性重复文档占比低于预期值质量分层保留、边缘、删除占比保留区间稳定删除区间无高质量样本覆盖度关键领域与语种占比没有零样本领域偏差不超过 5%合规高危样本数量、中危抽检结果高危为零中危抽检问题率低于阈值验证集训练集与验证集相似度没有超过阈值如 0.7的文档对最后一个技巧也是我个人的习惯用一个小模型做回归测试而不是拿大模型跑完整评测。每次数据管线改动后用同一个一两百兆参数的小模型在固定评测集上跑一遍看分数是涨还是跌。小模型训练快几分钟到几十分钟就能出结果足够判断一次清洗操作是正向还是负向。这个回归集要固定下来做成版本控制的一部分。清洗两轮之后发现分数不再涨就停手不要为了“更干净”继续删数据。数据质量不是越干净越好而是“够用就好”。这个教训帮我拦住了不少无效工作看起来很有道理的数据操作最后在评测上没有任何收益反而把多样性削掉了。白皮书给的是方向和参数起点真正的阈值还要在自己的数据和自己的评测集上验证。希望帮到你。本文还有配套的精品资源点击获取