The Llama 3 Herd of Models 第4部分后训练的全文
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在每一轮后的改进,我们会根据模型滞后的目标区域相应地增加提示复杂度。
在每一轮后训练中
相关文章:

The Llama 3 Herd of Models 第4部分后训练的全文
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)在…...

MongoDB性能调优
文章目录 MongoDB性能调优MongoDB性能不佳原因影响MongoDB性能的因素MongoDB性能监控工具mongostatmongotopProfiler模块db.currentOp() MongoDB性能调优 MongoDB性能不佳原因 慢查询阻塞等待硬件资源不足 1,2通常是因为模型/索引设计不佳导致的 排查思路:按1-2…...

【Qt开发】调试log日志QDebug重定向输出到textEdit等控件(qInstallMessageHandler回调函数)
【Qt开发】调试log日志QDebug重定向输出到textEdit等控件(qInstallMessageHandler回调函数) 文章目录 Log输出方式qInstallMessageHandler回调函数线程安全textEdit控件附录:C语言到C的入门知识点(主要适用于C语言精通到Qt的C开发…...

【JavaEE精炼宝库】 网络编程套接字——UDP业务逻辑 | TCP流套接字编程及业务逻辑实现
文章目录 一、UDP业务逻辑实现二、TCP流套接字编程2.1 API 介绍:2.1.1 ServerSocket:2.1.2 Socket: 2.2 Java流套接字通信模型:2.3 代码示例:2.3.1 TCP Echo Server:2.3.2 TCP Echo Client:2.3.…...
前端过渡动画
前端过渡动画 vue3 1、组件进入视口时向上移动且渐显 1、创建js文件addViewportEffect.js function slideDownEffect(element) {console.log("执行");element.style.transform translateY(0);element.style.opacity 1; }/*** 添加视口效果到指定的类名元素上。…...
actual combat 38 ——vue
vue-cli脚手架 创建命令:vue create 项目名称 eslint 如何关闭? vue.config.js文件中加 module.exports {lintOnSave: false }文件全代码: const { defineConfig } require(vue/cli-service) module.exports defineConfig({transpile…...
测试面试宝典(四十七)— 功能测试用例一般包含哪些内容
首先,明确测试用例的编号和名称,以便于识别和管理。 其次,详细描述测试的目标和背景,让其他人能够清楚了解该测试用例的目的和适用场景。 接着是测试的步骤,需要清晰、准确地列出每一个操作步骤,包括输入…...
rust_mac环境安装
在 macOS 上安装 Rust 很简单。你可以使用 Rust 提供的安装工具 rustup。下面是安装步骤: 打开终端。 运行以下命令以安装 rustup 和 Rust: curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh按照提示进行操作: 这个命令将下载并…...

【前端面试】七、算法-递归
常考算法 排序算法:快速排序、归并排序、堆排序等。 查找算法:二分查找、哈希表查找等。 动态规划:解决最优化问题,如斐波那契数列、最长公共子序列等。 图论算法:最短路径(Dijkstra、Floyd-Warshall&am…...

CmsEasy逻辑漏洞--零元购
CmsEasy逻辑漏洞--零元购 选择购买MackBook 购买成功后会员中心发现多出8100快钱 然后就可以正常购买了...

Linux 内核源码分析---I/O 体系结构与访问设备
I/O 体系结构 与外设的通信通常称之为输入输出,一般都缩写为I/O。 在实现外设的I/O时,内核必须处理3个可能出现的问题: (1)必须根据具体的设备类型和模型,使用各种方法对硬件寻址; (…...

在cPanelWHM中如何重置 MySQL 用户帐户密码
更改MySQL用户账户密码非常简单。服务器管理员可以在WHM中编辑任何MySQL用户的帐户。cPanel用户可以编辑其帐户管理的数据库的密码。 在WHM中更改MySQL用户帐户密码 打开WHM,在侧边菜单中的SQL服务下选择“Change MySQLUser Password”。Hostease的服务器产品提供稳…...

软件测试基础1--功能测试
1、什么是软件测试? 软件是控制计算机硬件运行的工具。 软件测试:使用技术手段验证软件是否满足使用需求,为了发现软件功能和需求不相符合的地方,或者寻找实际输出和预期输出之间的差异。 软件测试的目的:减少软件缺陷…...

《计算机网络》(第8版)第9章 无线网络和移动网络 复习笔记
第 9 章 无线网络和移动网络 一、无线局域网 WLAN 1 无线局域网的组成 无线局域网提供移动接入的功能,可分为两大类:有固定基础设施的和无固定基础设 施的。 (1)IEEE 802.11 IEEE 802.11 是无线以太网的标准,是有固定…...

非负数、0和正整数 限制最大值且保留两位小数在elementpuls表单中正则验证
一、结构 <el-form-item label"单价:" prop"price"><el-inputv-model.trim"formData.price"placeholder"请输入"blur"formMethod.fixTwo"><template #append>(元)</template></el-i…...

Java多线程-----定时器(Timer)及其实现
目录 一.定时器简介: 二.定时器的构造方法与常见方法: 三.定时器的模拟实现: 思路分析: 代码实现: 在开发中,我们经常需要一些周期性的操作,例如每隔几分钟就进行某一项操作,这…...

【Linux修行路】进度条小程序
目录 ⛳️推荐 一、预备知识 1.1 回车换行 1.2 缓冲区 二、倒计时 2.1 注意事项 三、进度条 3.1 源代码 3.2 代码分析 3.2 实际使用场景 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家…...

网络安全入门教程(非常详细)从零基础入门到精通,看完这一篇就够了。
学前感言: 1.这是一条坚持的道路,三分钟的热情可以放弃往下看了.2.多练多想,不要离开了教程什么都不会了.最好看完教程自己独立完成技术方面的开发.3.有时多google,baidu,我们往往都遇不到好心的大神,谁会无聊天天给你做解答.4.遇到实在搞不懂的,可以先放放,以后再来解决. 基…...

【探索Linux】P.44(数据链路层 —— 以太网的帧格式 | MAC地址 | MTU | ARP协议)
阅读导航 引言一、认识以太网二、以太网的帧格式三、MAC地址四、MTU五、ARP协议温馨提示 引言 在深入探讨了网络层的IP协议之后,本文将带领读者进一步深入网络的底层——数据链路层。我们将详细解析以太网的帧格式,这是数据链路层传输数据的基本单元&am…...

<数据集>航拍行人识别数据集<目标检测>
数据集格式:VOCYOLO格式 图片数量:7482张 标注数量(xml文件个数):7482 标注数量(txt文件个数):7482 标注类别数:1 标注类别名称:[people, pedestrian] 序号类别名称图片数框数1people5226385602pedes…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...

YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...

汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...