LLaMA 2: Open Foundation and Fine-Tuned Chat Models

LLaMA 2: Open Foundation and Fine-Tuned Chat Models

  • Pre-training
  • Fine-tuning
  • Reward model
  • RLHF
  • 参考

Pre-training

数据层面:
预训练语料比LLaMA1多了40%,一共2T tokens,更关注了高质量数据的清洗。
其中数据不包含Meta产品与服务,并且尽量的移除了 private individu als。

模型架构层面:
与LLaMA 1 基本一致,RMSNorm + ROPE + SWiGLU。
主要区别是引入了 grouped-query atttention 和 context length 从 2048->4096.

超参数:在这里插入图片描述

训练Loss
在训练图中发现还没有发现饱和的征兆。
在这里插入图片描述

评估结果:
在这里插入图片描述

Fine-tuning

数据的质量 is all you need.其中作者发现,收集 10k左右的高质量数据就可以实现一个还不错的结果。这里一共收集了27540条QA数据。但是不包含meta用户信息。

作者发现不用平台、运营商标注的相同领域数据可能导致不同的结果,作者认为数据检查十分重要。

Fine-tuning 细节
拼接input、output用一个特殊token,只计算output loss。
在这里插入图片描述

Reward model

数据标注:在InstructGPT中,通过不同的prompt输出9个不同的response,然后给这9个排名。
Meta只需要同一个prompt 通过不同的prompt、model等只输出两个response,然后对着两个标注排名,此外,还需要标注 这两个你标注的response排名 的confidence,也就是你有多大把握这样排,分为四个等级:

  1. significant better
  2. better
  3. slightly better
  4. unsure

之后要求labeler自己编写prompt 由浅入深,为了训练更稳定。

然后还需要标注信息 这两个response 是否安全,分为:
prefered 安全, rejected 不安全 (18%)
都安全 (47%)
都不安全 (35%)
然后, prefered 不安全, rejected 安全的样本都被删掉了, 因为meta 相信更安全的回复应当被人类更偏好。

此外还收集了额外的偏好数据:
在这里插入图片描述
引入其他的偏好数据实际上是违背了Meta标注的初衷,但是通过实验发现混合后,效果不会变差,也可以起到正则的作用。

reward model:
作者认为一个奖励模型可能不能很好的处理有用性和安全性,所以作者准备分别训练两个奖励模型,为了让奖励模型更好的理解什么是对话,两个模型都以SFT后的检查点作为初始化。
在这里插入图片描述

Loss与InstructGPT的loss很像,让两个不同排名的奖励差距尽可能大,不同的是多了m函数。
其中m是一个离散函数,对应之前标注的确定程度。
在这里插入图片描述
数据配比:
在helpfulness奖励模型上,meta的数据与开源数据 1:1
在safety奖励模型上, meta safety和anthropic harmless的数据,然后又混合了helpful和开源数据 比例为90:10.

超参数:learning rate: 70B 用的5e-6, 其他都用1e-5. cosine decay, down to 10% of the maximum learning rate. We use a warm-up of 3% of the total number of steps, with a minimum of 5. The effective batch size is kept fixed at 512 pairs, or 1024 rows per batch.

结果:
在这里插入图片描述
之后作者发现,奖励模型的性能越好,最终在llama2-chat上面的性能也就越好。

RLHF

在这里插入图片描述

Rejection Sampling
这是一种监督学习的方式,通过SFT后的模型,prompt model 对同一个input 生成N个 output,然后通过奖励模型对多个response利用奖励模型打分,选择得分最高的,这样就收集了更符合奖励模型篇好的数据。

对于同一个input,生成不同的response对 Reward score的影响:
在这里插入图片描述
之后作者还测试了不同的 temperature 对 reward score的影响:
在这里插入图片描述
在 10 到 100 个输出之间采样时的最佳温度为1.2-1.3

了解Rejection sampling,RLHF的流程如下图:
在这里插入图片描述
PPO:
PPO与InstructGPT中介绍的基本类似,主要是奖励模型不一致,改为了Helpfulness和Safety奖励模型的混合。
在这里插入图片描述

PPO的loss为:
在这里插入图片描述

参考

https://scontent-hkt1-2.xx.fbcdn.net/v/t39.2365-6/10000000_662098952474184_2584067087619170692_n.pdf?_nc_cat=105&ccb=1-7&_nc_sid=3c67a6&_nc_ohc=RYfzDCymkuYAX9_S8GO&_nc_ht=scontent-hkt1-2.xx&oh=00_AfDLNhReR8DuItMWjMFDSjhlh1yHYjiAbdD4f0pVxDAWTA&oe=64C25B7F
https://zhuanlan.zhihu.com/p/644697081

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/12241.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP8的注释-PHP8知识详解

欢迎你来到PHP服务网,学习《PHP8知识详解》系列教程,本文学习的是《PHP8的注释》。 什么是注释? 注释是在程序代码中添加的文本,用于解释和说明代码的功能、逻辑或其他相关信息。注释通常不会被编译器或解释器处理,而…

论文笔记:Fine-Grained Urban Flow Prediction

2021 WWW 1 intro 细粒度城市流量预测 两个挑战 细粒度数据中观察到的网格间的转移动态使得预测变得更加复杂 需要在全局范围内捕获网格单元之间的空间依赖性单独学习外部因素(例如天气、POI、路段信息等)对大量网格单元的影响非常具有挑战性——>论…

draw up a plan

爱情是美好的,却不是唯一的。爱情只是属于个人化的感情。 推荐一篇关于爱情的美文: 在一个小镇上,有一家以制作精美巧克力而闻名的手工巧克力店,名叫“甜蜜之爱”。这家巧克力店是由一位名叫艾玛的年轻女性经营的,她对…

iOS - Apple开发者账户添加新测试设备

获取UUID 首先将设备连接XCode,打开Window -> Devices and Simulators,通过下方位置查看 之后登录(苹果开发者网站)[https://developer.apple.com/account/] ,点击设备 点击加号添加新设备 填写信息之后点击Continue,并一路继续…

靶机精讲之Brainpan1

nmap扫描 主机发现 端口扫描 服务扫描 -sT 说明用tcp协议(三次握手)扫描 -sV扫描版本 O扫描系统 NULL是图片 10000端口是个python服务 UDP扫描 脚本扫描 web渗透 目录爆破 显示/bin/目录有东西 gobuster dir -w /usr/share/dirbuster/wordlists/di…

蓝桥杯单片机第十届国赛 真题+代码

iic.c /* # I2C代码片段说明1. 本文件夹中提供的驱动代码供参赛选手完成程序设计参考。2. 参赛选手可以自行编写相关代码或以该代码为基础&#xff0c;根据所选单片机类型、运行速度和试题中对单片机时钟频率的要求&#xff0c;进行代码调试和修改。 */ #include <STC1…

【【51单片机DA转换模块】】

爆改直流电机&#xff0c;DA转换器 main.c #include <REGX52.H> #include "Delay.h" #include "Timer0.h"sbit DAP2^1;unsigned char Counter,Compare; //计数值和比较值&#xff0c;用于输出PWM unsigned char i;void main() {Timer0_Init();whil…

后台管理系统中刷新业务功能的实现

实现 下载vueuse npm i vueuse/core在header组件中引入并给全屏按钮绑定点击事件 <el-button type"default" click"toggle" icon"FullScreen" circle></el-button>import { useFullscreen } from vueuse/coreconst { toggle } u…

【Java】分支结构习题

【Java】分支结构 文章目录 【Java】分支结构题1 &#xff1a;数字9 出现的次数题2 &#xff1a;计算1/1-1/21/3-1/41/5 …… 1/99 - 1/100 的值。题3 &#xff1a;猜数字题4 &#xff1a;牛客BC110 X图案题5 &#xff1a;输出一个整数的每一位题6 &#xff1a; 模拟三次密码输…

[SQL挖掘机] - 内连接: inner join

介绍: 内连接是一种多表连接方式&#xff0c;用于将两个或多个表中的数据通过共同的列值进行匹配&#xff0c;并返回满足连接条件的匹配行。简单来说&#xff0c;内连接能够将相关联的数据组合在一起&#xff0c;以便进行更复杂和全面的数据分析。 内连接的工作原理如下&…

bash: 睡觉的冒号;是不是两个点?

文章目录 简介躺着的冒号是两个点正常冒号总结简介 在bash里冒号和躺着的冒号的用法不一样一定要注意别用错。 躺着的冒号是两个点 难道正常的不是两个点)的作用: A sequence expression takes the form {x…y[…incr]}, where x and y are either integers or single cha…

排序算法、

描述 由小到大输出成一行&#xff0c;每个数字后面跟一个空格。 输入 三个整数 输出 输入三个整数&#xff0c;按由小到大的顺序输出。 输入样例 1 2 3 1 输出样例 1 1 2 3 输入样例 2 4 5 2 输出样例 2 2 4 5 代码一&#xff08;如下&#xff09;&#xff1…

pytest+allure运行出现乱码的解决方法

pytestallure运行出现乱码的解决方法 报错截图&#xff1a; 这里的截图摘自 悟翠人生 小伙伴的https://blog.csdn.net/weixin_45435918/article/details/107601721一文。 这是因为没有安装allure运行环境或者没有配置allure的环境变量导致&#xff0c;解决方案&#xff1a; 1…

各系统的目录信息路径

Windows系统: 查看系统版本——C:\boot.ini IIS配置文件——C:\windows\system32\inetsrv\MetaBase.xml 存储Windows系统初次安装的密码——C:\windows\repair\sam Mysql配置——C:\ProgramFiles\mysql\my.ini MySQL root密码——C:\P…

LaTex使用技巧20:LaTex修改公式的编号和最后一行对齐

写论文发现公式编号的格式不对&#xff0c;要求是如果是多行的公式&#xff0c;公式编号和公式的最后一行对齐。 我原来使用的是{equation}环境。 \begin{equation} \begin{aligned} a&bc\\ &cd \end{aligned} \end{equation}公式的编号没有和最后一行对齐。 查了一…

CAN转EtherNet/IP网关can协议是什么意思

你是否曾经遇到过不同的总线协议难以互相通信的问题&#xff1f;远创智控的YC-EIP-CAN网关为你解决了这个烦恼&#xff01; 远创智控YC-EIP-CAN通讯网关是一款自主研发的设备&#xff0c;它能够将各种CAN总线和ETHERNET/IP网络连接起来&#xff0c;解决不同总线协议之间的通信…

SpringBoot项目部署在Windows与Centos上

文章目录 Windows部署一、github上下载文件winsw二、文件目录三、编辑xml文件四、安装服务五、启动服务六、把jar包放到项目外面七、添加限制内存 Linux部署一、准备二、服务三、操作 Windows部署 windows部署服务借鉴于此篇博文 一、github上下载文件winsw 点击链接下载下图…

uniapp使用HQChart的k线,用webSocket更新数据

项目&#xff1a;不借用HQChart的各种接口数据&#xff0c;即数据后端返回&#xff0c;但是数据格式要和原数据格式一样。 //k线图 CreateHQChartKLine(){var chartHeightuni.upx2px(this.ChartHeight);let hqchartCtrlthis.$refs.HQChartCtrl;hqchartCtrl.KLine.Option.Type&…

【触觉智能Purple Pi OH开发板体验】开箱体验:开源主板Purple Pi RK3566 上手指北

前言 前段时间收到来自【电子发烧友】的一款开发板&#xff0c;名叫&#xff1a;PurplePi&#xff0c;216G售价仅249元。它使用的芯片是rk3566&#xff0c;适配的OpenHarmony版本为3.2 Release 是目前最便宜的OpenHarmony标准系统开源开发板&#xff0c;并且软硬件全部开源&am…

QT 使用串口

目录 1.1.1 添加库&#xff0c;添加类 1.1.2 定义串口 1.1.3 搜索串口 1.1.4 设置和打开串口 1.1.5 读取数据 1.1.6 发送数据 1.1.7 关闭串口 1.1.1 添加库&#xff0c;添加类 首先&#xff0c;QT5 是自带 QSerialPort(Qt5 封装的串口类)这个类的&#xff0c;使用时…