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

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

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

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


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

序号大模型名称归属推出时间规模预训练语料评测基准模型与训练方法开源论文模型地址相关资料
32Anthropic LMAnthropic2022-0452B核心的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系列主要会分享大语言模型,包括gpt1、gpt2、gpt3、codex、InstructGPT、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的复现与应用等;
  • 大厂算法刷题;

在这里插入图片描述

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

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

相关文章

chatgpt写小代码的能力很可以

最近做财务报销单时遇到了一点小问题:有11项比较零散的报销单,费用分别是 180 ,160 ,235,260,320,520,375 ,155,255,1050,135元&#…

TTS算法笔记:MusicLM- Generating Music From Text(AI生成音乐)

1. 介绍 摘要: 介绍了一个以文本作为条件,生成高保真、长时间片的音乐音频。比如文本为“由扭曲的吉他重复段伴奏的平静的小提琴旋律”,MusicLM可以可以根据文本条件,生成24kHz采样率,分钟级别的连续音乐音频。 从摘…

神经网络训练中的Tricks之高效BP(反向传播算法)

神经网络训练中的Tricks之高效BP(反向传播算法) zouxy09qq.com http://blog.csdn.net/zouxy09 Tricks!这是一个让人听了充满神秘和好奇的词。对于我们这些所谓的尝试应用机器学习技术解决某些问题的人,更是如此。曾记得&#xf…

Chainlink 预言机的原理解析

本文来自于 8 月19 日 Chainlink 开发者社区中国负责人 Frank ,在 DApp Learning 分享会上对于 Chainlink 预言机的原理的讲解,以下是这节分享会的总结内容。有兴趣的小伙伴可以结合视频一起学习: 为什么区块链无法主动获取外界数据 区块链…

预言机(Oracle)

文章目录 一、概述1.1、为什么需要1.2、应用场景1.3、现有的预言机产品1.4、基本原理 二、蚂蚁区块链 BaaS 平台–外部数据源服务三、主流预言机:Oraclize3.1 使用举例3.2 数据源3.3 收费3.4 真实性:3.5 解析助手3.6 加密查询3.7 原理 四、参考 一、概述…

第147篇 笔记-预言机(Oracle)

定义:区块链预言机是将区块链连接到外部系统的实体,从而使智能合约能够基于现实世界的输入和输出执行。 预言机为分散的 Web3 生态系统提供了一种访问现有数据源、遗留系统和高级计算的方式。去中心化预言机网络(DON)支持创建混合…

语音识别-TDNN

近来在了解卷积神经网络(CNN),后来查到CNN是受语音信号处理中时延神经网络(TDNN)影响而发明的。本篇的大部分内容都来自关于TDNN原始文献【1】的理解和整理。该文写与1989年,在识别"B", "D&…

语音识别技术对比分析

文章目录 一、语音识别产品对比二、百度语音识别产品1、套餐及价格:2、官网3、调研结果 三、华为语音识别产品四、阿里云语音识别产品1、套餐及价格:2、官网地址3、调研结果 五、腾讯云语音识别产品1、套餐及价格2、官网3、调研结果 六、科大讯飞语音识别…

语音识别SpeechRecognition

语音识别 1. 声音的本质是震动,震动的本质是位移关于时间的函数 Signal: s f(t) 波形文件(.wav)中记录了不同采样时刻的位移 2. 通过傅里叶变换 可以将时间域的声音函数分解为一系列不同频率的正弦函数的叠加,通过频率谱线的特殊分布,建…

各种情人节,程序员教你5个表白代码,牢牢主抓她的心

刚过完年就来到了一个相当重要的节日:情人节。一个有人欢喜有人愁的节日,虽然对一些单身人士不太友好,但还有不少人都在等这个节日进行表白。毕竟这个日子的成功率会高一些。 情人节少不了送花送礼物,作为一个程序员,…

技术创业者必读:从验证想法到技术产品商业化的全方位解析

导语 | 技术创业之路往往充满着挑战和不确定性,对于初入创业领域的人来说,如何验证自己的创业想法是否有空间、如何选择靠谱的投资人、如何将技术产品商业化等问题都需要认真思考和解决。在「TVP 技术夜未眠」第六期直播中,正马软件 CTO、腾讯…

麦肯锡给CEO的元宇宙指南

ChatGPT突然大张旗鼓地登上全球新闻的头条时,元宇宙似乎如明日黄花般过气了,未来渺茫起来。而麦肯锡的4位合伙人在今年1月给全球CEO们的“元宇宙指南”中强调,“太大元宇宙 ,不容忽视”。《元宇宙日爆》编译了这份指南供企业管理者…

AI大模型只能沦为“锦上添花”吗?

出品 | 虎嗅科技组作者 | 齐健编辑 | 廖影头图 | 虎嗅 “每个人咨询的第一个问题都是:你们在大模型方面做了什么?” 7月8日,2023世界人工智能大会(下称WAIC),一位参展商告诉笔者他的感受。——“大模型”&a…

chatgpt赋能python:Python在Win7上的安装教程

Python在Win7上的安装教程 如果你是一名Win7用户,并且打算开始学习或者使用Python编程语言,那么本文将会为你提供一个简单易懂的Python安装教程。 1. 下载Python 在安装Python之前,你需要先去Python的官方网站(https://www.pyt…

chatgpt赋能python:Python安装两个版本详细教程

Python安装两个版本详细教程 Python是一种广泛使用的编程语言,由于不同版本之间的差异,部分开发者需要同时安装两个不同版本的Python。本篇文章将为大家详细介绍Python安装两个版本的方法。 为何需要安装两个不同版本的Python Python的发行版&#xf…

chatgpt赋能python:使用Python编写的程序如何运行

使用Python编写的程序如何运行 Python是一种高级编程语言,适用于多种应用,例如Web开发,数据分析和人工智能。很多人都知道Python是一种很强大的语言,但是他们可能不知道如何运行Python程序。在这篇文章中,我们将介绍P…

chatgpt赋能python:Python程序运行方法介绍

Python 程序运行方法介绍 在 Python 编程中,了解如何运行程序是非常重要的。本篇文章将介绍 Python 中如何运行程序,以及不同的运行方法及其优缺点。作为一名有10年 Python 编程经验的工程师,我相信这篇文章将对 Python 新手和有经验的开发者…

chatgpt赋能python:Python怎么post请求

Python怎么post请求 Python作为一种高级编程语言,拥有丰富的库和模块来处理各种编程任务。其中,处理网络请求和数据交互是Python非常擅长的领域之一。在Python中,我们可以使用标准库或第三方库的HTTP模块来实现HTTP协议的请求和响应。 本篇…

chatgpt赋能python:Python导入包的完整指南

Python导入包的完整指南 如果你是一个Python程序员,你一定知道模块和包在Python中的重要性。Python中有很多内置的模块和包,但是有时候这些内置模块和包不能满足我们的需求,这时就需要导入外部的模块和包。本文将介绍Python中如何导入包和模…

chatgpt赋能python:Python:如何直接运行?

Python:如何直接运行? 如果你想学习编程,或者已经是一名资深工程师,你一定听说过Python这门编程语言。Python是一门易于学习和理解的语言,被广泛应用于很多领域,例如科学计算、数据分析、Web开发和人工智能…