Home / 大语言模型 / The Pile:训练语料的组成也是模型设计

041 · The Pile:训练语料的组成也是模型设计

返回目录 · 上一篇:Performer · 下一篇:Switch Transformer

论文:Leo Gao 等,The Pile: An 800GB Dataset of Diverse Text for Language Modeling,2020年12月公开。原始论文。

图表来源:Leo Gao 等,2020,原文;CC BY 4.0。本篇展示做了PNG格式转换,图中数据与标签未改动。

先接住前作的问题

GPT-2与T5都依赖经过选择的网页语料,但总大小无法解释模型接触了哪些领域。本篇把数据分布本身作为研究对象:22类来源怎样混合、重复和清理,才能检验领域预测收益?这是数据路线的补充,不是新网络架构。

五个前置概念

五个前置概念是:混合分布定义来源权重,去重减少重复内容,去污染处理评价重叠,BPB按字节统一损失,领域泛化检验不同内容分布。理解这些之后,读Chinchilla和后续数据配方论文时,就能把数据数量与数据组成分开。

一、问题设定:相同GB的文本为何产生不同领域的训练经验

同样40GB可能是重复导航,也可能是论文、代码或专业交流。容量不说明抽取是否保留结构、领域是否集中、训练实际读几遍;本篇用多来源组合和公开构造细节,把“更多数据”拆为可追踪的训练分布。

The Pile报告原始规模825.18 GiB,但按组件重复采样后的有效规模为1254.20 GiB。这里的“原始”是表中混合采样前的构建后组件规模,不是原始网页抓取文件大小。不能把两个总数当作论文相互矛盾,也不能把有效规模称为新增独特内容。

语料以英语为主,但不是每个字节都是英语。§5的语言识别给出估计,并说明稀有语言识别困难。对模型适用语言的判断应基于实际覆盖,而不是仅根据数据集标题。

二、把组件字节、重复遍数换成实际混合权重

设第 jj 个组件有 BjB_j 字节,重复权重或等效遍数为 eje_j,则按字节定义的有效混合权重可写为:

wj=ejBj∑kekBk.w_j=\frac{e_jB_j}{\sum_k e_kB_k}.

训练过程大致优化混合分布上的语言模型损失:

L(θ)=∑jwjEx∼Dj[−∑tlog⁡pθ(xt∣x<t)].L(\theta)=\sum_jw_j\mathbb E_{x\sim D_j}\left[-\sum_t\log p_\theta(x_t\mid x_{<t})\right].

这是教学性分布表达。实际按文档、字节或token采样会产生不同权重,必须与实现口径对齐;表1的权重明确基于字节。代码、公式和自然语言的每字节token数不同,相同字节比例并不保证相同token比例。

教学算例。 两类数据字节各占一半,但代码每字节0.5 token、散文每字节0.25 token,则训练token中代码约占2/3而非1/2。若重复代码两遍,它又升至4/5。多领域平均损失降低应与领域分项一起报告,避免某高权重领域掩盖其他领域退步。

自构场景:网页里频繁出现“函数”,代码里也频繁出现这个词,但模型需要预测的后续分布完全不同。增加代码可能帮助补全语法与API模式,同时让某些普通文本上的有限容量分配发生变化。多样性收益来自内容和权重,不能仅凭来源数量判断。

同一文本被分成更多token时,每token困惑度可能变化,直接跨分词器比较容易误导。论文使用每UTF-8字节比特数:

BPB=LTLBℓln⁡2,BPB=\frac{L_T}{L_B}\frac{\ell}{\ln2},

LTL_T是token数,LBL_B是UTF-8字节数,ℓ\ell是以自然对数计算的平均token负对数似然。它把编码长度口径统一到字节,越低表示对同一数据的压缩预测更好。

但BPB仍不能把不同领域的固有难度完全消除:代码、公式和自然文本本来就有不同可预测性。要说模型在哪个领域相对薄弱,应看与相应基线的差距,不能只比较一个模型在两个组件的绝对BPB。

字节配比怎样变成梯度配比

表1的有效权重以组件字节数乘重复遍数计算;进入训练后,若每字节平均产生 ρj\rho_j 个token,则按token总数近似的占比为 w~j=wjρj/∑kwkρk\tilde w_j=w_j\rho_j/\sum_kw_k\rho_k。其中 wjw_j 为按有效字节统计的组件 jj 权重,ρj\rho_j 取决于分词器和体裁,w~j\tilde w_j 为转换后的 token 权重。损失若再按文档先平均、或训练样本截断拼接,梯度权重还会改变。因此发布数据混合表不足以唯一确定训练目标,必须记录实际采样单位。

字节、token和更新次数怎样分别变化

自构两个组件各10GB,一个平均每token占2字节,另一个占4字节,则对应约50亿与25亿token。若各完整读一遍,前者提供约两倍预测位置;若先按组件等概率再抽定长token块,权重又会不同。数据表的字节占比不能跳过tokenizer和采样规则直接变成梯度占比。

三、抽取、清洗并记录来源,再按统一单位计损失

输入:各来源原始材料、抽取规则、组件权重
逐来源处理:
    抽取正文或结构化文本,记录转换失败与过滤条件
    标记来源,保留可追踪组件信息
    按相应规则清理并划分保留集
构造训练混合:
    根据组件规模和权重分配采样量
    去除与评价集检测到的重叠,建立可复查版本
控制模型比较:
    从各待比语料取相同规模样本
    使用相同模型架构训练,分领域评价预测损失
输出:语料、构造文档及受控比较结果

各来源处理并不完全相同。论文例如为网页选择正文抽取方式,为论文转换源文件,为代码设置文件大小或处理限制。这些步骤决定哪些内容被保留,可能引入系统性偏差。预处理既是工程步骤,也是训练分布选择。

四、从总规模回到领域BPB和数据消融

按组件权重读表1,再按领域读BPB差值;总平均不能掩盖高权重领域外的退步。

项目 原文设置及证据边界
组件 22个来源,包含网页、学术论文、代码、书籍、问答和其他专业文本;表1逐项记录
受控模型 §4使用架构相同的1.3B参数语言模型,分别在Pile、CC-100英语、原始英语CC上训练
规模控制 各语料抽样约40GB,使用13-gram重叠过滤评价污染;不是用完整825GiB对比40GB
已有模型评价 GPT-2与GPT-3各档,对多数组件测试集的十分之一逐文档评价;与受控训练是两组实验
指标 Pile整体和分组件BPB、WikiText PPL、LAMBADA PPL与准确率
训练预算边界 正文明确架构与数据规模控制;所引表没有完整列出统一墙钟、更新次数和调参成本,不能凭40GB推算
不确定性 主比较表未报告统一多种子区间;文档统计误差条不是模型训练种子方差

Pile保留集与训练混合共享领域来源,因此改善这些组件预测主要说明域内及混合领域泛化,不等于已经验证任意全新领域。数据去重减少明显泄漏,也不保证排除语义改写或源文件变体。

可以做未执行实验,固定训练token、模型与计算预算,比较纯网页、网页加学术、网页加代码、完整混合四组。既测分域BPB,也测代码单元测试通过率与数学答案准确率。若只改善BPB,说明文本分布适应成立,但目标能力还未得到验证。

再固定混合领域比例,比较宽松与严格过滤。若严格过滤使WikiText更好、专业域更差,可能丢失了与参考语料不同但有用的文本。需要抽样人工检查被删内容,避免把“低困惑度”不加条件地当作高质量的定义。

证据一:表1,混合权重改变实际训练分布。 Wikipedia英语原始6.38 GiB,按3遍形成19.13 GiB有效量;PubMed Central约90.27 GiB,2遍约180.55 GiB。它说明数据设计不只是拼接文件。权重由设计者选择,表本身没有证明这些比率是计算最优或对所有任务最优。

证据二:表3,相同规模比较的收益与例外。 Pile训练模型在Pile测试BPB为0.9433,CC-100为1.3293,原始CC为1.1275;WikiText PPL为5.59、8.27、11.75。但LAMBADA PPL中Pile12.78差于CC-100的11.78,准确率50.1与49.7又很接近。不能把整体改善写成每项指标都提升。

证据三:表4与图4,领域差异。 ArXiv组件BPB,Pile模型0.7945,CC-100模型1.8159;GitHub为0.5597与1.6509。它支持专业文本预测分布得到改善,但代码BPB降低不能直接证明程序执行正确率提高,数学文本BPB降低也不能替代解题评价。

读图4要注意纵轴已经是差值。 每根柱对应一个Pile测试组件,柱高是CC-100模型相对Pile模型多出的BPB,越高表示Pile训练的改善越大;不是该领域自身的BPB,更不是准确率百分比。横轴按改善大小排列,不能沿柱子从左到右解释成训练时间上的进步。

Pile训练相对其他语料在各文本领域的预测损失改善
原实验图摘引:Leo Gao 等,2020,图4;核对原文。原版权保留。

§3.3还用GPT-2-Pile与GPT-3的相对差值构造领域相似性的代理。作者明确提醒该代理可能受领域缩放效应混淆。因此“GPT-3如果读Pile会提高多少”并没有通过重新训练GPT-3直接验证,只能视为研究假设。

五、可追踪数据仍有来源、重复与覆盖边界

限制包括来源偏差、重复、文本抽取误差、潜在敏感内容,以及不同组件的使用条件不能被一个总名称覆盖。这里描述论文当年的组成,不据此断言每个组件现在都可自由获取或用于任意场景。

六、把数据口径接到预算分配与可研究训练

数据混合确定后,训练量还需分配。Chinchilla研究参数与token配比,OLMo 2开放后期数据课程与日志;可把本篇字节账本继续接到曝光量和能力形成时点。

自测与参考答案

1. 825.18 GiB与1254.20 GiB为什么可以同时成立?

前者是组件采样前规模,后者考虑部分组件重复读取后的有效量。重复提高训练权重,没有创造同等数量的新内容。

2. 相同40GB就等于相同训练计算吗?

不一定。不同文本的token密度、序列组织和训练遍数会改变工作量。相同字节规模隔离一部分数据量差异,完整计算比较还需token和更新预算。

3. GitHub文本BPB下降,能否直接说编程能力提高?

不能。它表示代码文本预测更好,实际编程需要程序语义、执行与测试。应补充功能正确性评价,才能连接到编程任务能力。