预训练数据
我们从各种包含知识的数据源创建语言模型预训练数据集,直到2023年底。我们对每个数据源应用多种重复数据消除方法和数据清理机制,以获得高质量的令牌。我们删除了包含大量个人身份信息(PII)的域名,以及包含已知成人内容的域名。
3.1.1网络数据管理
我们使用的大部分数据都是从网上获得的,我们在下面描述了我们的清洁过程。
PII和安全过滤。除其他缓解措施外,我们还实施了过滤器,旨在从可能包含不安全内容或大量PII的网站、根据各种元安全标准被列为有害的域名以及已知包含成人内容的域名中删除数据。
文本提取和清理。我们处理非截断web文档的原始HTML内容,以提取高质量的多样化文本。为此,我们构建了一个自定义解析器,用于提取HTML内容,并优化样板删除和内容召回的精度。我们在人工评估中评估解析器的质量,
将其与针对文章式内容进行优化的流行第三方HTML解析器进行比较,发现其性能良好。我们仔细处理带有数学和代码内容的HTML页面,以保护
该内容的结构。我们保留图像alt属性文本,因为数学内容通常表示为预渲染图像,其中数学也在alt属性中提供。我们通过实验评估了不同的清洁配置。我们发现,与纯文本相比,markdown对主要在web数据上训练的模型的性能有害,因此我们删除了所有markdown标记。
重复数据消除。我们在URL、文档和行级别应用了几轮重复数据消除:
•URL级重复数据消除。我们在整个数据集中执行URL级别的重复数据消除。我们保持
对应于每个URL的页面的最新版本。
•文档级重复数据消除。我们对整个数据集执行全局MinHash(Broder,1997)重复数据消除,以删除几乎重复的文档。
•行级重复数据消除。我们执行类似于ccNet的积极的线路级重复数据消除(Wenzek等人,2019)。我们删除了在每个3000万份文档中出现超过6次的行。
尽管我们的手动定性分析表明,行级重复数据消除不仅可以消除各种网站中残留的样板,如导航菜单、cookie警告,还可以消除频繁出现的重复数据
在高质量的文本中,我们的实证评估显示出了显著的改进。
启发式过滤。我们开发启发式方法来删除额外的低质量文档、异常值和重复次数过多的文档。启发式的一些例子包括:
•我们使用重复的n元语法覆盖率(Rae等人,2021)来删除包含重复内容的行,如日志记录或错误消息。这些线条可能很长,很独特,因此无法通过线条删除进行过滤。
•我们使用“脏词”计数(Raffel等人,2020)来过滤掉未被域名阻止列表覆盖的成人网站。
•我们使用标记分布Kullback-Leibler散度来过滤出与训练语料库分布相比包含过多异常标记的文档。
基于模型的质量过滤。此外,我们还尝试应用各种基于模型的品质分类器来选择高质量的令牌。这些包括使用快速分类器,如fasttext(Joulin等人,2017),经过训练以识别给定文本是否会被维基百科引用(Touvron等人,2023a),以及基于Llama 2预测的计算密集型Roberta分类器(Liu等人,2019a)。为了训练基于Llama 2的质量分类器,我们创建了一组经过清理的网络文档的训练集,描述了质量
并指示Llama 2的聊天模型确定文档是否满足这些要求。出于效率原因,我们使用DistilRoberta(Sanh等人,2019)为每个文档生成质量分数。我们通过实验评估了各种质量过滤配置的有效性。
代码和推理数据。与DeepSeek AI等人(2024)类似,我们构建了提取代码和数学相关网页的特定领域管道。具体来说,代码和推理分类器都是在Llama 2注释的网络数据上训练的DistillerdRoberta模型。与上述通用质量分类器不同,我们对包含数学推导、STEM领域推理和与自然语言交织的代码的目标网页进行快速调优。由于代码和数学的令牌分布有很大不同
与自然语言相比,这些管道实现了特定领域的HTML提取、自定义文本特征和过滤启发式。
多语言数据。与上述英语处理管道类似,我们实施了过滤器,从可能包含PII或不安全内容的网站中删除数据。我们的多语言文本处理管道有几个独特的功能:
•我们使用基于fasttext的语言识别模型将文档分为176种语言。
•我们对每种语言的数据进行文档级和行级重复数据消除。
•我们应用特定语言的启发式方法和基于模型的过滤器来删除低质量的文档。
此外,我们使用基于Llama 2的多语言分类器对多语言文档进行质量排名,以确保优先考虑高质量的内容。我们通过实验确定预训练中使用的多语言令牌的数量,在英语和多语言基准测试中平衡模型性能。
3.1.2确定数据组合
为了获得高质量的语言模型,必须仔细确定不同数据源在预训练数据组合中的比例。我们确定这种数据组合的主要工具是知识分类和标度律实验。
知识分类。我们开发了一个分类器,对网络数据中包含的信息类型进行分类,以更有效地确定数据组合。我们使用此分类器对网络上过度表示的数据类别进行降采样,例如艺术和娱乐。
数据混合的缩放规律。为了确定最佳的数据组合,我们进行了缩放定律实验,在该实验中,我们在数据组合上训练了几个小模型,并使用它来预测大模型在该组合上的性能(见第3.2.1节)。我们对不同的数据混合重复此过程多次,以选择新的数据混合候选。随后,我们在此候选数据组合上训练了一个更大的模型,并在几个关键基准上评估了该模型的性能。
数据混合汇总。我们的最终数据组合包含大约50%的与一般知识相对应的令牌、25%的数学和推理令牌、17%的代码令牌和8%的多语言令牌。
3.1.3退火数据
根据经验,我们发现对少量高质量代码和数学数据进行退火(见第3.4.3节)可以提高预训练模型在关键基准上的性能。与Li等人(2024b)类似,我们使用数据混合进行退火,该数据混合在选定域中对高质量数据进行上采样。我们在退火数据中不包括来自常用基准的任何训练集。这使我们能够评估Llama 3的真正少镜头学习能力和域外泛化能力。
根据OpenAI(2023a)的研究,我们评估了退火对GSM8k(Cobbe等人,2021)和MATH(Hendrycks等人,2021b)训练集在退火中的有效性。我们发现退火分别将预训练的Llama 3 8B模型在GSM8k和MATH验证集上的性能提高了24.0%和6.4%。
然而,405B模型的改进可以忽略不计,这表明我们的旗舰模型具有强大的上下文学习和推理能力,不需要特定的域内训练样本来获得强大的性能。
使用退火来评估数据质量。与Blakeney等人(2024)类似,我们发现退火使我们能够判断小领域特定数据集的价值。我们通过退火来衡量这些数据集的价值在40B标记上,50%训练的Llama 3 8B模型的学习率线性地变为0。在这些实验中,我们为新数据集分配30%的权重,为默认数据组合分配剩余的70%的权重。使用退火来评估新的数据源比对每个小数据集进行缩放定律实验更有效。
Post-train
4.2.3数据处理和质量控制
鉴于我们的大部分训练数据都是模型生成的,因此需要仔细清理和质量控制。
数据清理。在早期阶段,我们观察到数据中常见的一些不良模式,例如过度使用表情符号或感叹号。因此,我们实施了一系列基于规则的数据删除和修改策略来过滤或清理有问题的数据。例如,为了减轻过度道歉的语气问题,我们识别了过度使用的短语(如“对不起”或“我道歉”),并仔细平衡了数据集中此类样本的比例。
数据修剪。我们还应用了一系列基于模型的技术来删除低质量的训练样本,并提高整体模型性能:
•主题分类:我们首先将Llama 3 8B微调为主题分类器,并对所有数据进行推理,将其分为粗粒度桶(“数学推理”)和细粒度桶(“几何和三角学”)。
•质量评分:我们使用奖励模型和基于Llama的信号来获得每个样本的质量评分。对于基于RM的分数,我们认为RM分数前四分之一的数据质量很高。
对于基于Llama的分数,我们提示Llama 3检查点对每个样本进行三分制评分,用于一般英语数据(准确性、指令遵循和音调/表达)和两点制评分
对于编码数据(Bug识别和用户意图),并将获得最高分数的样本视为高质量。基于RM和Llama的分数有很高的不一致率,我们发现将这些信号组合在一起,可以在我们的内部测试集上获得最佳的召回率。最终,我们选择被RM或基于Llama的过滤器标记为高质量的示例。
•难度评分:因为我们也有兴趣对模型中更复杂的例子进行优先级排序,所以我们使用两种难度指标对数据进行评分:Instag(Lu等人,2023)和基于Llama的;对于Instag,我们提示Llama 3 70B对SFT提示进行意图标记,其中更多的意图意味着更复杂。我们还提示Llama 3用三分制来衡量对话的难度(Liu等人,2024c)。
•语义去重:最后,我们执行语义去重(Abbas等人,2023;Liu等人,2024c)。我们首先使用RoBERTa(Liu等人,2019b)在每个集群内完成对话
按质量分数×难度分数进行排序。然后,我们通过迭代所有排序的示例来进行贪婪选择,并且只保留与集群中迄今为止看到的示例具有最大余弦相似性的示例小于阈值的示例。
奖励建模
我们在预训练的检查点之上训练了一个涵盖不同能力的奖励模型(RM)。训练目标与Llama 2相同,除了我们删除了margin loss,因为我们观察到数据缩放后的改进在减少。在Llama 2之后,我们在过滤出具有相似反应的样本后,将所有偏好数据用于奖励建模。除了标准的偏好对(选择、拒绝)响应外,注释还为某些提示创建了第三个“编辑后的响应”,其中对选择的响应进行了进一步编辑以进行改进(见第4.2.1节)。因此,每个偏好排名样本都有两到三个排名明确的答案(编辑>选择>拒绝)。在训练过程中,我们将提示和多个响应连接成一行,随机打乱响应。这是将响应放在单独的行中并计算分数的标准场景的近似值, 但在我们的消融中,这种方法在不损失准确性的情况下提高了训练效率。