Llama 3前三部分包括介绍、总体概述和预训练https://blog.csdn.net/qq_51570094/article/details/140682445?spm=1001.2014.3001.5501
4 Post-Training 后训练
我们通过应用几轮后训练6或将模型与人类反馈对齐来生成对齐的Llama 3模型(Ouyang等人,2022;Rafailov等人,2024)在预先训练的检查点之上。每一轮训练后都包括监督微调(SFT),然后是直接偏好优化(DPO;Rafailov等人,2024)对通过人工注释或合成生成收集的示例进行了分析。我们的训练后建模和数据方法分别在4.1节和4.2节中描述。我们将进一步详细介绍自定义数据管理策略,以改进推理、编码、事实性、多语言、工具使用、长上下文和精确的指令。
4.1 Modeling 建模
我们的培训后策略的支柱是激励模型和语言模型。我们首先使用人工标注的偏好数据在预训练的检查点上训练激励模型(见第4.1.2节)。然后,我们用监督微调(SFT;参见4.1.3节),并进一步将检查点与直接偏好优化(DPO;参见4.1.4节)。这个过程如图7所示。除非另有说明,否则我们的建模过程适用于Llama 3 405b,为了简单起见,我们将Llama 3 405b称为Llama 3。
4.1.1 Chat Dialog Format 对话框格式
为了调整LLM进行人机交互,我们需要为模型定义一个聊天对话协议,以理解人类指令并执行会话任务。与其前身相比,Llama 3具有新的功能,例如工具使用(章节4.3.5),可能需要生成多个消息并发送在单个对话框中,将它们转移到不同的位置(例如,user, ipython)。为了支持这一点,我们设计了一个新的多消息聊天协议,它使用了各种特殊的头和终止tokens。标头tokens用于指示会话中每个消息的源和目的地。同样,终止tokens表示何时该在人类和AI之间交替发言。
4.1.2 Reward Modeling 激励模型
我们在预先训练的检查点上训练了一个激励模型(RM),涵盖了不同的能力。训练目标与Llama 2相同,除了我们删除了损失中的边际项,因为我们观察到数据缩放后的改进逐渐减少。在Llama 2中,我们在过滤掉具有相似反应的样本后,将所有偏好数据用于激励建模。除了标准的偏好对(选择,拒绝)响应之外,注释还为某些提示创建第三个“编辑响应”,其中从对中选择的响应被进一步编辑以进行改进(参见第4.2.1节)。因此,每个偏好排序样本都有两个或三个具有明确排序(编辑>选择>拒绝)的响应。在训练期间,我们将提示和多个响应连接到一行中,并随机打乱响应。这近似于将响应放在单独的行中并计算分数的标准场景,但在我们的实验中,这种方法提高了训练效率,同时又不损失准确性。
4.1.3 Supervised Finetuning 监督微调
然后使用激励模型对我们的人类注释提示执行拒绝抽样,其细节将在4.2节中描述。与此拒绝采样数据和其他数据源(包括合成数据)一起,我们使用目标标记上的标准交叉熵损失(同时屏蔽提示标记上的损失)来微调预训练的语言模型。关于数据混合的更多细节可以在4.2节中找到。我们把这个阶段称为监督微调(SFT;魏等,2022a;Sanh等,2022;Wang等人,2022b),尽管许多训练目标是模型生成的。我们最大的模型在8.5K到9K步的过程中被微调为1e-5的学习率。我们发现这些超参数设置在不同回合和数据混合中都能很好地工作。
4.1.4 Direct Preference Optimization 直接的偏好优化
我们进一步用直接偏好优化(DPO;Rafailov等人,2024)的人类偏好对齐。对于训练,我们主要使用最近一批的偏好数据,这些数据是使用前几轮校准中表现最好的模型收集的。因此,我们的训练数据更符合每轮正在优化的策略模型的分布。我们还探索了PPO (Schulman等人,2017)等策略算法,但发现DPO对于大规模模型需要更少的计算并且表现更好,特别是在IFEval等基准指令之后(Zhou等人,2023)。
对于Llama 3,我们使用1e-5的学习率,并将β超参数设置为0.1。此外,我们对DPO进行了以下算法修改:
•屏蔽DPO丢失中的格式化tokens:我们从丢失中的选择和拒绝响应中屏蔽特殊的格式化tokens,包括标头和终止tokens(见第4.1.1节),以稳定DPO训练。我们观察到,让这些tokens导致损失可能会导致不希望的模型行为,如尾部重复或突然生成终止tokens。我们假设这是由于DPO损失的对比性质——在被选择和被拒绝的响应中存在共同的tokens导致了一个相互冲突的学习目标,因为模型需要同时增加和减少这些tokens的可能性。
•使用NLL损失进行正则化:我们在所选序列上添加了一个额外的负对数似然(NLL)损失项,其缩放系数为0:2,类似于Pang等人(2024)。这有助于进一步稳定DPO训练,通过维持所需的生成格式和防止所选响应的对数概率下降(Pang等人,2024;Pal et al, 2024)。
4.1.5 Model Averaging 模型平均
最后,我们对每个RM、SFT或DPO阶段使用不同版本的数据或超参数从实验中获得的模型进行平均(Izmailov等人,2019;Wortsman等,2022;Li et al ., 2022)。
4.1.6 Iterative Rounds 迭代
在Llama 2 之后,我们将在6轮中应用上述方法。在每个周期中,我们收集新的偏好注释和SFT数据,从最新模型中采样合成数据。
4.2 Post-training Data 后训练数据
训练后的数据组合对语言模型的有用性和行为起着至关重要的作用。在本节中,我们将讨论人工标注过程和偏好数据收集(第4.2.1节),SFT数据的组成(第4.2.2节),以及数据质量控制和清理的方法(第4.2.3节)。
4.2.1 Preference Data 偏好数据
我们的首选项数据注释过程类似于Llama 2。我们在每一轮之后部署多个模型进行注释,并为每个用户提示从两个不同的模型中采样两个响应。这些模型可以使用不同的数据混合和校准方法进行训练,从而允许不同的能力强度(例如,代码专业知识)和增加的数据多样性。我们要求注释者通过将其分类为四个级别之一来评估他们偏好的强度,基于他们对选择的回答比拒绝的回答更喜欢的程度:明显更好,更好,稍好,或略好。我们还在偏好排序之后加入了编辑步骤,以鼓励注释者进一步改进首选响应。注释者直接编辑选择的响应,或者用反馈提示模型以改进它自己的响应。因此,我们的偏好数据的一部分有三个响应排序(编辑>选择>拒绝)。
在表6中,我们报告了用于Llama 3训练的偏好注释的统计信息。通用英语涵盖了多个子类,例如基于知识的问答或精确的指令遵循,这些都不在特定能力的范围内。与Llama 2相比,我们观察到Llama 3的平均提示和反应时间有所增加,这表明我们可以训练Llama 3完成更复杂的任务。此外,我们实施了质量分析和人工评估流程,以严格评估收集到的数据,使我们能够改进提示并向注释者提供系统的、可操作的反馈。例如,随着Llama 3在每一轮后的改进,我们会根据模型滞后的目标区域相应地增加提示复杂度。
在每一轮后训练中