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…...
在 Windows 10 系统上部署 Medusa
先决条件 在安装 Medusa 之前,你需要确保已经安装了以下工具: Node.js: Medusa 需要 Node.js v16 或更高版本。你可以从 Node.js 官网下载并安装。Git: Git 用于从 GitHub 获取 Medusa 的源代码。你可以从 Git 官网下载并安装。PostgreSQL: Medusa 使用…...
Linux进程 (冯诺依曼体结构 管理 PCB 进程状态 僵尸进程 孤儿进程 运行阻塞挂起状态 进程优先级)
文章目录 一.冯诺依曼体系结构冯诺依曼结构能干什么? 二.操作系统概念结构图(不完整)为什么要有操作系统? 尝试理解操作系统管理结构图(完整)总结: 三.进程进程是什么?PCB为什么要有PCB? Linux中的PCB进程的task_struc…...
《LlamaIndex 之美》-01-LLM、Prompt、Embedding基础入门
在基于数据构建任何 LLM 应用程序时,选择合适的大型语言模型 (LLM) 是您需要考虑的首要步骤之一。 LLM 是 LlamaIndex 的核心组成部分。它们可以作为独立模块使用,也可以插入到其他核心 LlamaIndex 模块(索引、检索器…...
C++ 智能指针简单介绍及用法
C 智能指针简单介绍及用法 智能指针是 C11 引入的一个非常实用的特性,旨在自动管理动态分配的内存,避免内存泄漏和悬空指针问题。主要有三种类型的智能指针:std::unique_ptr、std::shared_ptr 和 std::weak_ptr。下面是对它们的详细介绍&…...
k8s笔记之创建Istio Gateway规则
创建Istio Gateway 背景如何创建Istio Gateway规则配置方式rewrite重写路径直接去除match,默认都转发到一个服务路由规则多种配置方式实践(即开头的完整版) 涉及的命令补充注意事项 背景 为什么需要使用到Istio Gateway?充当k8s服…...
NAND行业回归盈利:AI与云存储需求驱动
市场概览 根据Yole Group于2024年6月25日发布的市场报告,经过五个季度的亏损之后,NAND闪存行业在2024年第一季度(1Q24)实现了盈利回归。这一转变主要得益于企业级固态硬盘(SSD)领域的强劲需求增长…...
【限免】频控阵雷达:概念、原理与应用【附MATLAB代码】
微信公众号:EW Frontier QQ交流群:949444104 主要内容 PDA、FDA MATLAB代码 %---------------------------------------- %功能:FDA和相控阵天线方向图 %版本:ver1.0 %时间:2017.11.1 %--------------------------------------- clear all; clc; disp…...
从0开始搭建vue + flask 旅游景点数据分析系统( 六):搭建后端flask框架
这一期开始开发header部分,预期实现两个目标: 创建 Flask 项目导入旅游数据后端实现旅游数据的查询 1 python 环境 & 开发环境 python 安装和pycharm安装需要去网上找包,建议python使用3.8 或者3.9版本 2 新建项目 我们新建一个文件…...
学习硬件测试04:触摸按键+PWM 驱动蜂鸣器+数码管(P62~P67、P71、P72)
一、触摸按键 1.1理论讲解 1.1.1实验现象 触摸按键 1 单击与长按,控制 LED1;触摸按键 2 单击与长按,控制 LED2;触摸按键 3 单击与长按,控制 LED3;触摸按键 4 单击与长按,控制继电器; 1.1.2硬件电路 是原理图上触摸…...
JS原型链
JS的原型链 文章目录 JS的原型链前言一、原型是什么?二、原型链总结 前言 在使用数组或对象中的方法时,你是不是会感觉很奇怪,为什么仅仅是创建了一个数组或是对象,就能够使用它提供的方法呢?JS是怎么做到的呢&#x…...
做个网站多少钱找谁做/360关键词指数查询
目录 1.邻接矩阵(adjacency matrix) 2.无向图的邻接矩阵表示 3.有向图的邻接矩阵表示 4.网的邻接矩阵表示 5.示例源代码 1.邻接矩阵(adjacency matrix) (1)用一维数组存储顶点信息 (2&am…...
网站实施建设流程/微信社群营销
1,安装mysql。 2,安装nvicat。 云盘上已经上传,另外也可看这里: http://www.cnblogs.com/alsf/diary/2017/12/26/8117263.html 3,下载mybatis相关jar包:具体直接看官网:上面帖了地址:…...
wordpress nas/如何查询百度收录情况
来源:内容来自中国电子报,谢谢。人工智能(AI)爆发性增长是以强大的计算能力为基础的,而提供计算力的载体是芯片。近年来国内得到资本热烈追捧的独角兽公司多与AI芯片有着密切的关系,亦从侧面证明了AI芯片的重要性与广阔的发展前景…...
对网页设计作品的意见/seo代理计费系统
苹果电脑(mac os x)键盘使用技巧启动电脑时的巧妙使用:1、在电脑启动时,同时按住“option”键可以重建桌面,此操作应每月做一次。2、在电脑启动时,按住“shift”键可以关闭所有系统功能扩展。3、在电脑启动时ÿ…...
win10系统做mac系统下载网站/怎么建网站平台卖东西
A10_HttpRunner项目结构_04_测试用例中调用接口既然已经独立定义了 API 接口文件,下面在测试用例中就可以直接调用了。调用格式:- test: api: 测试用例如下:- config: name: Get_Master- test: name: 获取主分支 # 调用提前定义好…...
c语言做网站账号登录系统/焊工培训
原因: 这都是因为安装mysql的时候时区设置的不正确mysql默认的是美国的时区,而我们中国大陆要比他们迟8小时,采用8:00格式 解决方法:、 修改my.ini文件(若是安装在C盘的话,目录则是:C:\Progr…...