【通览一百个大模型】Anthropic LLM(Anthropic)

2023-11-14

【通览一百个大模型】Anthropic LLM(Anthropic)

作者:王嘉宁,本文章内容为原创,仓库链接:https://github.com/wjn1996/LLMs-NLP-Algo

订阅专栏【大模型&NLP&算法】可获得博主多年积累的全部NLP、大模型和算法干货资料大礼包,近200篇论文,300份博主亲自撰写的markdown笔记,近100个大模型资料卡,助力NLP科研、学习和求职。


Anthropic LLM大模型基本信息资料卡

序号 大模型名称 归属 推出时间 规模 预训练语料 评测基准 模型与训练方法 开源 论文 模型地址 相关资料
32 Anthropic LM Anthropic 2022-04 52B 核心的base数据集:数据来自于基础语言模型(context-distilled LM,参数量是520亿),包括了4.4万有效数据对和4.2万条无害数据对。
RS数据集:通过拒绝采样模型搜集(该模型是在base数据集上训练得到的偏好模型,参数量是520亿),包含了5.2万的有效数据对和2千个无害数据对,
online数据集:来自于RLHF模型,在5周里,每周更新一次,包含2.2万有效数据对,不包含无害性数据。
image.png论文的整体流程如上图所示,以预训练模型为起点(PLM),往左根据互联网的比较数据进行预训练,得到预训练偏好模型(PMP),然后再在人类返回的比较数据集上微调,得到偏好模型(PM);再以PLM为起点,往下根据提示数据,将520亿参数的模型结果蒸馏给更小的模型(会独立训练多个不同参数量的模型,从1300万到520亿),这个模型会作为强化学习的初始策略模型,然后以PM模型作为奖励模型,基于PPO的方法进行强化学习训练;根据得到的强化学习策略模型,生成新的对比数据,人工标注后重新训练PM模型,然后再重新训练强化学习模型,如此迭代。 HH-RLHF 论文 Anthropic LM介绍

论文标题:Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback

论文链接:https://arxiv.org/pdf/2204.05862.pdf
论文数据地址:https://github.com/anthropics/hh-rlhf


LLM系列主要会分享大语言模型,包括gpt1gpt2gpt3codexInstructGPT、Anthropic LLM、ChatGPT、LIMA、RWKV等论文或学术报告。本文主要分享Anthropic LLM的论文。

介绍

该论文与InstructGPT很像,发表时间也很接近,可以连贯起来一起看。
论文通过收集人类偏好数据,使用偏好模型(PM)以及强化学习技术(PPO/RLHF)训练自然语言模型,使得模型既相对有效又比较无害。
论文根据RLHF训练的模型在大部分nlp任务上效果都比原始的模型要好,如下图所示。论文认为可以将对齐任务和特定的nlp任务混合起来训练,能够不影响对齐效果也不影响任务性能。
image.png

整体流程

image.png
论文的整体流程如上图所示,以预训练模型为起点(PLM),往左根据互联网的比较数据进行预训练,得到预训练偏好模型(PMP),然后再在人类返回的比较数据集上微调,得到偏好模型(PM);再以PLM为起点,往下根据提示数据,将520亿参数的模型结果蒸馏给更小的模型(会独立训练多个不同参数量的模型,从1300万到520亿),这个模型会作为强化学习的初始策略模型,然后以PM模型作为奖励模型,基于PPO的方法进行强化学习训练;根据得到的强化学习策略模型,生成新的对比数据,人工标注后重新训练PM模型,然后再重新训练强化学习模型,如此迭代。
论文认为,整个流程中最重要的步骤是:人类反馈数据收集,偏好模型训练以及RLHF训练。
与InstructGPT相比,InstructGPT包含了一个监督学习的阶段,本论文没有该阶段,不过有个较为相似的蒸馏阶段;InstructGPT没有进行无害性训练,而本论文结合了有效性数据和无害性数据一起训练;InstructGPT的PM模型只有60亿参数,本论文的PM模型最大有520亿参数;InstructGPT在RL阶段混合了预训练数据来避免评估性能的损失,而本论文并没有混合预训练数据。
还有一个最大的不同,本论文进行了“在线”训练,部署不同的模型供用户使用,以获取更高质量的数据以及降低长尾数据分布的影响,然后不断迭代训练新的模型。
下图展示了经过RLHF训练后的模型效果。可以看出,经过RLHF训练的模型比原模型效果普遍更好,且随着模型规模提高模型效果越好;“online”在线训练能让模型效果更好,如果只在有效性数据上进行训练,模型效果更好,但同时无害性也有一定下降,一定程度表明有效性跟无害性的对立关系。
image.png

数据

论文论证了有效性和无害性通常是对立的,所以有效性数据和无害性数据也是分开收集的。对于有效性数据收集任务,标注人员会判断哪个结果更有效,对于无害性数据收集任务,标注人员则会判断哪个结果更无害。数据主要包括了以下三类:

  1. 核心的base数据集:数据来自于基础语言模型(context-distilled LM,参数量是520亿),包括了4.4万有效数据对和4.2万条无害数据对。
  2. RS数据集:通过拒绝采样模型搜集(该模型是在base数据集上训练得到的偏好模型,参数量是520亿),包含了5.2万的有效数据对和2千个无害数据对,
  3. online数据集:来自于RLHF模型,在5周里,每周更新一次,包含2.2万有效数据对,不包含无害性数据。

下文中涉及到的大多数数据或者“静态”数据都是指base数据集+RS数据集,所以可以看出,训练PM的数据基本来自于520亿参数的模型,但在进行RLHF训练时,较小规模的模型根据提示产生的回复,可能就在PM训练数据的分布之外,这增加了小规模模型的训练难度。但实际从上小节图片中可以看出,小规模参数模型依然学习到了有用的信息,哪怕参数量小55倍,依然比不进行RLHF训练的大参数模型效果更好。

上下文蒸馏

该阶段会将520亿参数模型的效果,蒸馏给不同大小的模型,以此作为后续强化学习的初始策略模型。 蒸馏时batch size为32,学习率是预训练【1】时的0.05倍,会一直衰减到0,蒸馏过程一共使用了3.5亿个token数据。该阶段的训练步骤大体如下:

  1. 准备提示数据,50%来自于预训练,50%来自于StackExchange数据集。对于预训练数据,直接把提示放到“Human:”后面,作为对话中用户侧的输入;对于StackExcahnge 数据,则将问题作为用户侧的输入,点赞率最高的作为模型助手的回复。
  2. 对于两类提示数据,都输入到预训练好的520亿参数的语言模型中,然后记录下top50的对数概率/token及其索引,形成一个新的小数据集。
  3. 进行上下文的蒸馏,所有不同大小的模型都在步骤2中的数据上进行微调,使用KL散度作为loss,对于每一个token都是一个51分类,第51分类代表除了top50之外的所有token的概率和。

偏好模型

偏好模型是在比较数据集上进行训练的,每一个样本包括一个提示数据以及一对回复数据,提示里面可能包含了人类和模型的多轮对话信息。
PM模型的大小从1300万到520亿不等,所有的模型都经过了三个阶段:

  1. 在大规模语料上进行语言模型的预训练【1】。
  2. 偏好模型的预训练,训练数据来自于StackExchange/Reddit/Wikipedia的混合对比数据。学习率是LM预训练的10%。
  3. 在人类反馈数据上进行微调,学习率是LM预训练的1%,最大序列长度是1024,基于“online”继续训练时,最大长度为2048。

为了防止过拟合,每个阶段只训练了一轮。更多细节参考【1】。
image.png
上图显示了PM训练数据的对话轮次分布和不同大小的模型在不同分布上的准确性差异。大部分数据对话轮次都在3轮之内;模型在首轮对话的准确性最高,2轮对话后就有较大下降,多轮之后继续缓慢下降;也可以看出,模型参数规模越大,准确性越高。
image.png
这张图依然展示了PM模型的准确性,比较训练数据量/模型规模/有效性数据集/无害性数据集对准确性的影响。图中可以看出,训练数据的增加和模型参数量的增大,整体的准确性越来越高;对于不同的数据集,也几乎是模型规模越大效果越好,在无害性数据上,模型规模的继续提高并没有再有效果。
image.png
该图展示了PM模型得分的准确性,PM的得分差异越大,PM的准确性就越高;并且PM只在有效性数据上训练的时候效果更好,在有效性和无害性混合数据上训练的时候,是欠拟合的。
论文还观察到,如果要求样本对中的每个PM得分都要超过一个阈值,那么PM的准确性将随着阈值的增大而降低,如下图所示。这表明PM模型对高分样本判断不置信,一定程度上是因为缺少高质量高分样本对导致的,所以论文增加了“online”学习阶段,“online”阶段可以提供更多的高分样本,用来重新训练PM模型。
image.png

RLHF

论文根据PM模型进行强化学习(RL),包括下面两个步骤:

  1. 准备比较数据集,训练PM模型,PM模型会给“更好的回复”一个更高的得分。
  2. 获取之前所有的提示数据,根据PM的得分,训练一个RL策略(该策略会给每一个提示生成一个回复,PM会给每一个回复提供一个得分)。

上述步骤2中的提示数据,不完全来自于已有的训练数据,还有一些提示是使用大语言模型生成的。
该流程的主要思想是使用偏好模型来引导策略生成更好的回答。然而如前面所讲,PM在得分较高时也会变得不那么置信,因此更高的奖励并不一定意味着更好的表现。
论文基于PPO方法进行RL训练,奖励是根据PM得分及KL散度惩罚获取的,公式如下所示:

t t o t a l = r P M − λ K L × D K L ( p o l i c y ∣ ∣ p o l i c y 0 ) t_{total}=r_{PM}-\lambda_{KL}\times D_{KL}(policy||policy_0) ttotal=rPMλKL×DKL(policy∣∣policy0)


其中 λ K L \lambda_{KL} λKL是大于0的超参数,实际应用中, λ K L = 0.001 \lambda_{KL}=0.001 λKL=0.001,该值非常小,在RL训练过程中,大部分情况起到的作用都比较小,因为 D K L D_{KL} DKL通常小于100,所以这部分有可能是不需要的。 r P M r_{PM} rPM是PM模型的得分,可以根据下面公式计算“相比于B选择A”的概率:

P ( A > B ) = 1 1 + e r P M ( B ) − r P M ( A ) P(A>B)=\frac{1}{1+e^{r_{PM(B)}-r_{PM(A)}}} P(A>B)=1+erPM(B)rPM(A)1


论文发现,模型的效果与 D P M \sqrt{D_{PM}} DPM 基本成线性关系(且不同规模的模型都有相似的线性系数),如下图所示,但随着 D P M \sqrt{D_{PM}} DPM 持续增大到某个阈值之后,模型效果略有下降,这表明偏好模型不那么稳健,更容易在更高的回报中被利用。

除此之外,论文在实验中还发现:RLHF在较高的PM分数下逐渐变得不那么鲁棒,较大的偏好模型比较小的偏好模型更鲁棒,以及有效性数据和无害性数据之间的对立性。

在线迭代RLHF

PM在高分数据上不太鲁棒,为了缓解缺少高分数据的问题,论文提出了在线迭代RLHF:

  1. 先训练出效果最好的RLHF策略模型,根据该模型生成比较数据进行人工标注。因为该RLHF模型已经被PM模型优化过,所以其产生的数据会偏向于让PM得分比较高的数据。
  2. 将新比较数据与已有的数据混合,训练一个新的PM模型,然后再用新的PM模型训练新的RLHF策略模型。

论文假设在线RLHF策略能够收集PM得分比较高的数据,这样训练出来的新PM模型会在更高得分的数据上表现更好,从而能够辅助训练更好的RLHF策略模型。
不过RLHF往往会降低策略的熵(loss下降是个熵减过程),这将会降低收集数据的多样性(数据越多样,熵越高)。论文通过部署不同版本的RL模型和在线迭代模型来缓解该问题。

其他

论文担心对齐技术可能会损害模型的性能,但从实验结果看,似乎参数量越大的模型损害得越小。
各种实验都表明,有效性和无害性是有对立关系的,论文里是通过调整loss权重的方式结合有效数据和无害数据,公式如下:

L o s s T o t a l = L o s s H e l p f u l n e s s + λ × L o s s H a r m l e s s n e s s Loss_{Total}=Loss_{Helpfulness}+\lambda\times Loss_{Harmlessness} LossTotal=LossHelpfulness+λ×LossHarmlessness


论文还提出了一些降低模型有害性输出的方法,比如OOD(分布外检测),通过直接判断提示文本,来拒绝部分奇怪或者有害的请求。

参考

【1】A general language assistant as a laboratory for alignment.

  博客记录着学习的脚步,分享着最新的技术,非常感谢您的阅读,本博客将不断进行更新,希望能够给您在技术上带来帮助。


【大模型&NLP&算法】专栏

近200篇论文,300份博主亲自撰写的markdown笔记。订阅本专栏【大模型&NLP&算法】专栏,或前往https://github.com/wjn1996/LLMs-NLP-Algo即可获得全部如下资料:

  • 机器学习&深度学习基础与进阶干货(笔记、PPT、代码)
  • NLP基础与进阶干货(笔记、PPT、代码)
  • 大模型全套体系——预训练语言模型基础、知识预训练、大模型一览、大模型训练与优化、大模型调优、类ChatGPT的复现与应用等;
  • 大厂算法刷题;

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【通览一百个大模型】Anthropic LLM(Anthropic) 的相关文章

随机推荐

  • 使用Flutter的image_picker插件实现设备的相册的访问和拍照

    文章目录 需求描述 Flutter插件image picker的介绍 使用步骤 1 添加依赖 2 导入 例子 完整的代码 效果 总结 其他插件 camera image picker flutter image compress path
  • 屌炸天的3D引擎OpenCASCADE的用法及案例

    What CASCADE Open CASCADE 简称OCC 平台是由法国Matra Datavision公司开发的CAD CAE CAM软件平台 可以说是世界上最重要的几何造型基础软件平台之一 开源OCC对象库是一个面向对象C 类库 用
  • 面向对象:基本应用案例

    一 使用面向对象的思维来模拟一场植物大战僵尸 1 我们先要准备植物类 僵尸类 场景类 2 植物类来存放植物的属性与动作方法 僵尸类存放僵尸的属性与动作方法 在场景类中创建具体的植物与僵尸 并调用它们的动作 3 植物类 public clas
  • 游戏搬砖简述-1

    游戏搬砖是一种在游戏中通过重复性的任务来获取游戏内货币或物品的行为 这种行为在游戏中非常普遍 尤其是在一些MMORPG游戏中 虽然游戏搬砖看起来很无聊 但是它确实是一种可以赚钱的方式 而且对于一些玩家来说 游戏搬砖也是一种乐趣 一 游戏搬砖
  • sort命令文件过滤分割与合并

    sort命令是在Linux里非常有用 它将文件进行排序 并将排序结果标准输出 sort命令既可以从特定的文件 也可以从stdin中获取输入 语法 sort 选项 参数 b 忽略每行前面开始出的空格字符 c 检查文件是否已经按照顺序排序 d
  • MySQL创建用户的三种方法

    前言 mysql创建用户的方法分成三种 INSERT USER表的方法 CREATE USER的方法 GRANT的方法 一 账号名称的构成方式 账号的组成方式 用户名 主机 所以可以出现重复的用户名 跟其他的数据库不一样 用户名 16字符以
  • uni-app小程序项目发布流程

    uni app小程序项目发布流程开发工具 HbuilderX编辑器 微信小程序开发工具1 小程序开发工具就可以点击发行版本了 2 登录开发者平台配置域名白名单 在开发者设置里完成服务器域名配置 域名白名单 不在域名白名单里的URL资源正式上
  • mysql 时区设定_mysql时区设置

    sharath March 17 2007 at 10 59 amhii am new to linux and i have to stop the mysqld service so as to install bugzilla i h
  • 信息学奥赛一本通 1182:合影效果

    题目链接 http ybt ssoier cn 8088 problem show php pid 1182 include
  • 【Docker安装Gitlab管理项目代码并整合Sonarqube分析代码质量】

    Docker安装Gitlab管理项目代码并整合Sonarqube分析代码质量 完整操作步骤 一 前言 二 准备工作 三 安装Gitlab 3 1 Docker安装最新版Gitlab 3 2 访问Gitlab登录页面 http 192 168
  • 如何使用R语言

    R 语言是一种流行的数据分析和统计计算软件 要使用 R 语言 您需要先安装 R 软件 可以在 CRAN 网站 https cran r project org 上下载并安装 R 软件 安装完成后 可以通过打开 R 终端或使用 R 编辑器来使
  • 前端页面判断手机号

    function submitHandler var phone phone val var myreg 1 3 4 5 7 8 9 0 9 9 if myreg test phone modal alertWarning 请输入正确的手机
  • 【2】测试用例设计方法-场景法

    场景法 事件触发 基本流 备选流 画流程图 覆盖每条路径 场景法也是路径覆盖的方法 也是流程分析法 优先级根据两个来判断 1 使用率 2 重要性 一条路径可能有多个用例 用等价类边界值 每个数据就是一个用例
  • 天美服务器未响应,王者荣耀服务器上热搜,无数玩家遭遇掉线烦恼,天美该怎么办?...

    原标题 王者荣耀服务器上热搜 无数玩家遭遇掉线烦恼 天美该怎么办 王者荣耀服务器上热搜 无数玩家遭遇掉线烦恼 天美该怎么办 目前国内依旧处于一个比较特殊的时期 宅在家里无法上班的游戏玩家们也还有不少 当这些玩家集中到热门时间段上游戏的时候
  • 妖怪屋 服务器维护中,《阴阳师:妖怪屋》3月3日维护更新公告

    亲爱的家主大人 为了给大家带来更好的游戏体验 服务器将于3月3日 周三 早上7 00 8 30进行停服维护 如未能按时完成 则开服时间将会顺延 维护期间将暂时无法进入服务器进行游戏 给各位带来的不便 敬请谅解 非常感谢大家的支持和理解 鞠躬
  • Docker的相关命令及自定义centos和tomcat的镜像

    1 docker命令 1 docker的安装 yum install docker 2 docker的启动 systemctl start docker 3 查看docker的所有镜像 docker images 4 运行docker的he
  • JavaFX——添加图片ImageView

    Image 用于加载图片文件ImageView 用于显示图片位置 Javafx scence image Image 目前支持BMP GIF JPEG PNG JPG图片格式 Image image new Image URL 其中 URL
  • 在Xcode中使用Git进行源码版本控制

    本文翻译自Understanding Git Source Control in Xcode 译者myShire 欢迎您加入我们的翻译小组 在应用程序开发过程中 很重要的一部分工作就是如何进行源码的版本控制 当代码出现问题时 我们就需要将代
  • 计算机网络速成课【体系结构】

    计算机网络体系结构 计算机网络概述 计算机网络 组成 从组成部分上看 一个完整的计算机网络主要由硬件 软件 协议三大部分组成 缺一不可 硬件主要指 主机 通信链路 交换设备和通信设备等 软件主要指 用户使用的各种软件 协议指 网络传输数据时
  • 【通览一百个大模型】Anthropic LLM(Anthropic)

    通览一百个大模型 Anthropic LLM Anthropic 作者 王嘉宁 本文章内容为原创 仓库链接 https github com wjn1996 LLMs NLP Algo 订阅专栏 大模型 NLP 算法 可获得博主多年积累的全