简介:《2024大模型训练数据白皮书》由阿里云智能集团与数字中国研究院(福建)联合撰写,面向大模型算法工程师、AI产品经理及数据治理相关从业者,系统梳理训练数据对大模型发展的基础性作用,并解答中文语料短缺、用户信息依赖等常见误区。资源以单个PDF文档形式收录全文,压缩包约15.19MB,便于离线研读与团队分享,目前已有252人学习使用。白皮书重点解析高质量数据的标准与三类不确定性,提出合成数据作为缓解训练数据供给不足的新方案,同时涵盖数据合规治理、政府与社会力量协同构建数据生态等章节。读者可从中掌握大模型训练数据的科学定义、评估维度与治理框架,为数据选型、语料工程和合规实践提供直接参考。
1. 训练数据白皮书:大模型的上限不在算力,在数据
读大模型训练数据白皮书,最容易得到的一个反直觉结论是:模型能力的上限往往不是参数量或算力卡数决定的,而是训练数据的质量与配比决定的。同样一套基座架构,喂不同来源、不同清洗深度、不同配比的语料,最后的评测分数能拉开好几个点。这份白皮书的价值,就是把数据从“黑匣子”变成了一张可执行的地图——数据从哪来、清洗到什么程度、各语料怎么配比、重复数据如何惩罚,全都有量化建议。适合正在做预训练、领域微调、RAG知识库构建的工程师,也适合想弄明白“为什么我的模型总在某个领域犯傻”的算法同学。
2. 数据全景与构成逻辑:规模、来源、配比三件事
2.1 数据规模不是越大越好,有效Token密度才关键
白皮书里对数据规模的分析,核心观点非常务实:大模型训练数据的规模首先由参数量和训练预算决定,其次才谈得上“有多少刷多少”。业界常见的做法是参考Chinchilla法则的工程化版本——在算力有限的前提下,训练Token数大约为模型参数量的20倍左右。也就是说,一个70亿参数的模型,训练数据规模落在1400亿Token附近是一个合理的起点;如果数据质量足够高、领域足够聚焦,这个倍数还可以往下降,但不能无脑堆量。
我一般会在实际项目里做一次“数据规模压测”:先用1%的数据切片训一个小规模模型,观察loss下降曲线与评测集表现,再决定全量数据是否按比例扩展。单纯把数据量翻倍但清洗不达标,模型学到的反而更多是噪声模式。数据规模不是“多多益善”,有效Token密度的含义是——每一条语料经过清洗、去重、质量打分之后,还剩下多少信息量能被模型稳定吸收。低质量数据会把平均信息密度拉低,模型需要更多步数才能拟合到同等水平,等于变相消耗算力。
白皮书里给了一个重要的操作视角:把数据规模分为“原始采集量”和“训练用量”,两者之间差一个数量级是常态。原始数据里混杂着大量重复页面、机器生成的垃圾文本、低质量翻译语料,经过过滤后真正进入训练管线的往往只占两到三成。因此评估数据工作做得好不好,不是看采集了多少TB,而是看最终形成训练集之后,每条数据的质量分布长什么样。
2.2 数据源构成:网页、图书、代码、多语种各自承担什么角色
大模型训练白皮书里最值得反复看的部分,是数据源构成的拆解表格。不同数据源承担的信息功能完全不同,网页语料提供常识与表达多样性,图书语料提供深度叙事与长程依赖,代码语料提供逻辑推理与结构化能力,学术论文语料贡献严谨表达与领域术语。比例一旦失衡,模型的能力轮廓就会偏——比如代码语料占比过高,模型的自然语言生成会带上“过度结构化”的味道;图书语料过多,对话风格又会显得过于书面。
一个常见的基线配比大致如下:
| 数据源类型 | 典型占比 | 主要贡献 | 风险点 |
|---|---|---|---|
| 网页语料 | 55% - 65% | 常识、表达多样性、开放话题覆盖 | 噪声多,重复率高,事实错误多 |
| 图书与长文 | 10% - 15% | 长程逻辑、叙事连贯性、深度推理 | 版权敏感,风格单一,脏格式多 |
| 代码语料 | 10% - 20% | 逻辑链、结构化表达、函数级理解 | 注释与代码混杂,语言分布偏英语 |
| 学术论文与技术文档 | 5% - 10% | 专业术语、严谨表达、科学推理 | 公式符号清洗难,领域偏向 |
| 多语种平行语料 | 2% - 5% | 跨语言迁移、翻译一致性 | 对齐质量参差,低资源语种稀疏 |
白皮书强调的关键点在于:这些比例不是拍脑袋定的,而是通过小规模对照实验调出来的。常见的做法是固定模型结构和训练步数,只改动数据配比,观察评测集上的分项能力变化。比如把代码语料比例从10%提到15%,如果推理类任务提升明显但对话流畅度下降,就说明配比偏离了目标能力画像,要回调。不同公司、不同产品方向,最优配比差异很大——对话产品的图书与多语种占比通常高一些,代码助手类产品的代码语料占比可能要到25%以上。
数据源的选择还会影响整个管线的清洗策略。网页语料要做的HTML解析、正文抽取、机器生成文本识别,与图书语料的目录剥离、OCR残留清洗、版权过滤完全是两套逻辑。白皮书把数据源和清洗策略绑定在一起分析,比单纯列一个“清洗步骤清单”要实用得多——因为每条清洗规则的背后,都对应着某个数据源特有的脏数据形态。
2.3 数据版本管理与语料溯源
白皮书里另外一个容易被忽略但工程上极为重要的内容,是数据版本管理。很多团队把数据当作一次性中间产物,做完一版就扔到存储里,等到训练效果不理想时,根本说不清楚模型吃的是哪一份数据、清洗参数是什么、配比经过了哪些调整。理想的做法是把数据管线做成“数据即代码”的管理方式——每一份训练集都对应一个数据包配置,记录数据源地址、清洗规则版本、去重阈值、配比权重、生成时间。
实际操作中,我会为每个数据包维护一份元数据清单,至少包含以下字段:数据源名称与采集时间、清洗管线版本号、质量过滤阈值、去重参数、最终Token总量、各语料占比。数据包的命名带上版本号和时间戳,训练任务引用的数据包ID也一并记录。这样当某次实验效果异常时,可以快速反查是哪一步改动引入的问题,而不是靠记忆或者翻聊天记录。白皮书虽然没有直接给出数据版本管理的完整方案,但多次暗示了“数据版本可回溯”是数据工程质量的核心指标。
3. 数据清洗与质量红线:从原始语料到可训练语料
3.1 清洗管线里的五个关键节点
数据清洗是整个大模型训练数据工程里投入时间最多、也最容易翻车的环节。白皮书里拆解的清洗管线,可以归纳为五个关键节点:格式规范化、语言与内容过滤、质量打分、去重、隐私与安全过滤。每个节点处理的问题不同,但因为它们是串联在管线里的,顺序错了会影响后续的过滤效果。
格式规范化处理的是“文本能否被模型正常读取”的问题。网页数据先要做HTML标签剥离和正文抽取,把广告、导航、脚本残留清掉;PDF来源的图书语料要处理OCR误差、页眉页脚、乱码字符;代码语料要做编码检测与统一,避免UTF-8与GBK混存的乱象。常见做法是用一套统一的文本规范化流程:Unicode标准化、全角半角统一、多余空白压缩、控制字符移除。这一步不复杂,但遗漏了会导致下游质量打分的特征计算不准确。
语言与内容过滤是清理“不该出现的内容”。白皮书强调过滤不能只靠黑名单关键词,而是要结合语言检测模型、分类器、困惑度过滤三个手段。语言检测模型判断文本是否属于目标语种,分类器识别色情、暴力、赌博等高危内容,困惑度过滤则捕获那些“看起来是自然语言但结构崩溃”的机器生成文本。三步配合,才能在污染率和误杀率之间取一个平衡。
质量打分是通往高质量训练数据的关键一步。用一个轻量级的打分模型给每条候选数据打一个质量分,再设置一个阈值做二分类取舍。常见的打分特征包括文本长度、标点分布、句子结构、信息密度、与已知高质量语料的相似度等。分数阈值需要用小规模模型验证来标定,阈值设太高会把长尾知识过滤掉,设太低又等于没有过滤。白皮书在这个环节给的建议是:可以同时保留两个质量档位,高质量档用于预训练早期,中质量档用于后期微调或与低质量数据混合,这种分层使用的方式比单一切一刀更灵活。
去重和隐私与安全过滤会在避坑章节细讲,这里先明确一个观念:清洗管线跑完并不等于数据可用了,还需要一组抽样人工审计来校验管线的运行状态。常见做法是从每个数据源、每个质量分区里随机抽几十条样本,人工检查是否还有明显垃圾内容。这个步骤花不了多少时间,但能提前发现清洗规则的适配问题。
3.2 去重的三个层面:精确去重、近似去重、语义去重
白皮书把去重分成三个递进的层面,这个分类对大模型训练数据的处理非常实用。
精确去重是最基础的一层,利用文本哈希或文件哈希直接删除完全相同的样本。常见做法是计算每篇文本的SHA-256哈希,建立哈希表做查重删除。这个方法的优点是速度快、实现简单,缺点是只能处理逐字相同的数据,网页语料里常见的“同一篇文章加了不同的标签或页脚”就躲过去了。
近似去重解决的是“不完全相同但大段重复”的数据。业界用得最多的方案是MinHash加LSH(局部敏感哈希)。思路是先把文本切分成shingle(连续词元序列),对每个shingle做哈希,取一个窗口内的最小哈希值作为该文本的签名,再用LSH把相似度高的文本分到同一个桶里进行比较。Google发布的SimHash方案在实践中也很常见,重点在于把长文本压缩成固定长度的指纹,通过指纹间的汉明距离来判断相似度。这些算法的核心是参数调节:shingle长度、哈希函数个数、相似度阈值。
语义去重是质量要求更高的项目里才会做的层面。它的作用是识别“用词不同但语义高度重复”的数据——比如同一事件的多篇新闻报道,或者同一个技术问题的多种改写版本。这套方案的成本比较高,通常用轻量嵌入模型把文本向量化,再对向量做聚类或近邻检索,设置一个相似度阈值做重复判断。实际操作中,我一般只对高质量数据源(图书、学术论文)做语义去重,因为网页数据量太大,语义向量化的计算成本不可接受。去重的边界要从信息冗余和知识覆盖两个角度看:去重太激进,模型更容易过拟合到高频模式;去重不彻底,训练成本大量消耗在重复信息上。平衡点需要用实验来标定。
3.3 隐私过滤与安全底线的前置处理
隐私过滤在大模型数据白皮书里占的篇幅不小,原因是训练语料一旦混入个人信息,模型可能在生成时把电话号码、邮箱、家庭住址这类内容直接复述出来。白皮书给出的方案是“识别-脱敏-复核”三步走。识别阶段用命名实体识别加正则规则,找出疑似手机号、身份证号、银行卡号、邮箱地址等信息;脱敏阶段把这些信息替换成占位符或合成的假数据;复核阶段再抽样检查脱敏效果。涉及多语种数据时要注意,不同国家地区的个人信息格式差异很大,正则规则要本地化适配。
需要明确的是,隐私过滤和上一轮提到的内容分类过滤不能合并成一个步骤。隐私过滤的目标是保护个人信息,内容分类过滤的目标是剔除违规内容,两类规则各自独立,在同一数据包上需要依次执行。合规红线还得强调一点:涉及真实机构、真实人物的敏感信息,过滤之外还要做人工审计,不能完全依赖自动规则。我的习惯是每处理完一个数据包,都会跑一遍抽样验证,确认过滤后的语料里没有明显的个人信息残留,再进入下一步流程。
4. 数据配比与课程学习:训练配方的调参思路
4.1 配比为什么重要:同样的数据,不同顺序模型表现不同
很多刚接触大模型训练的开发者会有一个固定思维:数据配比只是决定模型学到什么,而不影响学得好不好。白皮书里的大量实验结果表明,这个观点是错的。同样一批数据,以不同的比例混合、以不同的顺序进入训练,模型在评测集上的表现差异可能是决定性的。数据配比直接影响模型的“能力画像”——偏重代码的配比让推理变强但对话变弱,偏重网页的配比让知识面变宽但长程逻辑变弱。
配比调整的工程化做法,是先把数据分成几个基础板块:网页、图书、代码、学术、多语种,给每个板块设定一个初始权重,然后通过“配比消融实验”逐步逼近最优组合。常见做法是固定训练步数和batch size,每次只调整一个板块的权重,观察评测分项的变化。这个过程耗时但不复杂,真正需要经验的是判断该动哪个板块:模型角色扮演能力弱,优先调图书与对话数据占比;代码解释能力差,优先调代码数据占比;知识问答总答错,优先查知识类语料本身的质量,而不是急着调配比。
4.2 数据采样策略:温度系数、课程学习、重复惩罚
数据配比除了静态的权重设置,还有动态的采样策略。白皮书里重点提到了训练过程中的采样控制,核心参数有三个:采样温度、课程学习策略、重复数据惩罚系数。
采样温度控制的是“不同板块的数据被抽到的概率分布”。温度值越高,低权重板块的数据越有可能被抽到,数据分布越平滑;温度值越低,高权重板块的数据越占优势。我在实践中会把温度初始值设为1.0,训练中期根据评测曲线决定是否调低到0.8或者升高到1.2。这个参数直接影响模型在长尾话题上的知识覆盖,温度太低模型容易“知识窄化”。
课程学习策略解决的是“先学什么、后学什么”的问题。白皮书里建议的基本思路是:训练前期用高质量、结构化程度高的数据(图书、代码、学术论文)打底,训练后期引入网页噪声较强的数据。这个顺序背后的逻辑是让模型先建立稳定的语言模式和推理能力,再接触多样化的表达。实际项目中还有个常见选择:是先混合训练还是分阶段训练。分阶段训练的效果控制更精细,但工程复杂度翻倍,需要维护多个数据集的切换逻辑。我一般建议在预训练阶段用混合训练加动态权重,在领域微调阶段再切换为分阶段训练。
重复数据惩罚系数适用于“高质量数据量不足”的项目,尤其是中文语料和垂直领域语料。如果某类数据只有几十亿Token,但又需要模型对它有足够的熟悉度,可以在采样时对重复出现的样本降低惩罚权重,让模型多看几遍。常见的做法是在数据加载器里维护每个样本的出现统计,出现次数越多,采样权重越低,系数设太大容易过拟合,太小则高质量数据吃不透。白皮书里给了一个经验参考区间,但不同数据质量下的最优值差异很大,必须通过小组实验来定。
4.3 从配比到配方:记录每一版数据的“实验日志”
数据配比的调参过程非常容易让人陷入玄学——改了一版配比,训练了几天,发现效果变好了,但说不清到底是哪个改动起的作用。白皮书里反复强调数据配比的工程化管理,实操上我会为每一次配比调整建立一份“配方记录”,里面至少包含:基础数据包的版本号、各板块的可训练Token量、采样温度的初始值、学习率调度的对应策略、训练步数和batch size。这些参数的组合就是一份“数据配方”,和训练代码一样需要版本管理。
做过几轮配比实验之后,你手里就有了一张小型的“配比-效果对照表”。哪个方向的项目用哪个配方,可以直接查表复用,而不是每一轮都从头开始试。数据配比调整的最终产物不是一组静态比例,而是一套“数据配方库”——里面包含若干个经过验证的配比组合,以及它们各自适合的任务类型。
5. 数据工程的常见避坑:四个最容易翻车的场景
5.1 现象:模型loss正常但生成内容空洞
排在第一位的训练数据翻车现场:loss曲线一路下行,评测分数看起来挺好,但生成出来的内容又空又泛,缺少具体信息量。原因通常是数据清洗时质量打分器过于偏好“通顺”的文本,把那些信息密度高但表达不那么流畅的长尾知识给过滤掉了。解决的办法是调整质量打分器的特征权重,加入句子的名词密度、实体数量、数字出现频率作为正向特征,同时人工检查低分段数据,确认过滤不是误杀。
5.2 现象:模型在某个领域频繁重复相同表述
另一个高频问题是模型在特定领域输出雷同句子,缺乏多样性。原因排查后通常指向去重过度——语义去重的阈值设得太高,大量保留下来的是同一主题的高相似样本,模型学到的是那条“最优路径”而不是知识本身。解决方向是把语义去重的相似度阈值下调,比如从0.85放宽到0.95,保留更多同主题差异化表述。
5.3 现象:加入更多数据后效果反而下降
增量的数据没有带来增益,反而拉低了原有水平。最常见的原因是新增数据包里存在大量与已有语料重复的内容,或者新增语料的领域分布与目标能力错位。解决方法是接入自动化的“新增数据冲突检测”——新数据进入前先和已在训练集里的数据做一轮相似度评估,超过阈值的样本直接丢弃或降权。
5.4 现象:中文语料评估波动大
中文大模型训练项目里经常出现一个诡异现象:同一个数据配比,跑两次实验,中文评测分数可以有明显波动。白皮书里的分析指出,中文语料集通常含有大量来源于机器翻译和洗稿站的文本,这部分数据质量极不稳定,且重复率很高。解决策略是加入一轮专门的“中文机器生成文本过滤”,利用困惑度分布和n-gram重复率把这类数据标记出来,单独设置低采样权重。
6. 白皮书之外的实践:搭一个轻量数据质量评估闭环
数据白皮书讲了很多理论和参数,但落到自己的项目里,最实用的是一个能持续运转的数据质量评估闭环。我的做法是搭建三个层次:采样看板、小规模验证、数据消融。采样看板用随机抽样的方式,每天从新增数据里抽取几十条样本,人工打分并记录质量分布曲线;小规模验证则用一个小模型跑短步数训练,观察loss曲线的收敛形态;数据消融是针对每次配比调整做的对照实验,并在组间做横向对比。三件套跑熟之后,数据质量变化会变成可视化信号,而不是等训练完才发现问题。
搭建这个闭环最需要注意的,是控制验证成本和时间节奏。通常我每次采样看板控制在10分钟内完成,小规模验证只用几百万Token数据跑一两千步,数据消融每组只改一个变量且保持训练参数完全一致。节奏稳定比追求完备更重要——数据质量是持续变化的,只有长期稳定运转的评估体系,才能在源头上防住脏数据混进训练集。
另外,数据质量的提升往往不是革命而是微修。每调整一次样本生成逻辑、修改一个清洗参数、放宽一个去重阈值之后,都要让看板和消融实验重新跑一遍,用数据说话而不是凭感觉判断。从那以后,我每次拿到一批新数据,都会强制自己走完“采样看板→小规模验证→消融对比”全流程,确认没问题了再放量进入正式训练管线。这样的习惯帮我避掉了至少三次脏数据引发的训练事故,也希望这些白皮书里的读法与实操经验对你也有帮助。
本文还有配套的精品资源,点击获取