RLHF-基于人类反馈的强化学习

RLHF

文章目录

  • RLHF
    • 强化学习基础回顾
    • 为什么要使用基于人类反馈的强化学习
    • 大纲
    • RLHF的起源
      • 大预言模型中的RLHF
        • 案例
      • ChatGPT
    • RLHF中的技术细节
      • 预训练语言模型
      • 训练奖励模型
      • 基于RL进行微调
    • RLHF 的未来

强化学习基础回顾

image-20230624000300032

智能体通过采取行动与环境进行交互,并返回状态和奖励。奖励我们想要优化的目标,状态只是当前时间智能体所处环境的一种表示,智能体使用策略将该状态映射到一个动作。

强化学习的精妙之处在于其学习过程是开放式的,所以智能体只通过看到这些奖励信号并学习如何随着时间的推移对获取到的奖励进行优化,而不去关注奖励实际的来源如何。

这样可以使得我们构建一个可以解决复杂问题的智能体,这是为什么我们选用强化学习来解决场景对话这样一个开放式问题的原因,而这也是我们开始讨论RLHF(Reinforcement Learning From Human Feedback)的地方。

为什么要使用基于人类反馈的强化学习

image-20230624004936299

其中的关键问题是我们想要建模的损失函数是什么?即我们在机器学习系统中要以一种有意义的可持续的方对人类的价值观进行编码,像解决日常生活中最常见的复杂问题一样。

问题是如何创建和实现一个损失函数?一个损失函数可能要对以下方面进行评估:

  1. 什么是有趣的?
  2. 什么是符合道德标准的?
  3. 什么是安全的?

基于人类反馈的强化学习的目标是将一些复杂的数据集集成到机器学习模型中以对这些值进行编码,或者将这些值编码到模型而非函数中

我们想做的是直接与大多数人一起学习这些价值观,而不是直接将其赋予给所有人,并在某种程度上对一些价值观进行主观的甚至错误的标记。

所以基于人类反馈的强化学习的确是一种及时且有效的,能够为模型创建复杂损失函数的方法之一。

大纲

image-20230624005220087

我们将从三方面对RLHF进行介绍:

  • RLHF的起源
  • RLHF的概念概述
  • RLHF的具体细节、未来方向以及推论

RLHF的起源

RLHF起源于决策制定阶段,在深度强化学习广泛应用之前,其通过简单的非神经网络方法即评价智能体的行为来形成策略。研究者会将每一个智能体的动作标记为好或坏,这就像是创建了一个给予奖励或惩罚的模型,并基于这个模型来形成行动策略。

image-20230624011104347

在图片左侧的论文提出了一种名为Tamer的框架来解决俄罗斯方块的智能体训练问题,该框架中的奖励模型和策略存在一定程度的分离。

基于人类反馈的强化学习在深度强化学习中得到普及时,图片右侧的论文使用了基于人类轨迹反馈的奖励预测器,所以上述框架流程中的环境状态也可以被称为RL框架中的观察结果,被提供给人们对其进行标记,奖励预测器会根据这些反馈学习预期奖励,也就是在每个状态下,各种可能的动作应得到的奖励。当智能体在新的状态下需要选择动作时,它可以使用奖励预测器来预测每个可能动作的预期奖励,并选择预期奖励最高的动作。

大预言模型中的RLHF

OpenAI在早期试图使用RLHF训练一个模型来总结文本,这就像很多人在考试中做的阅读理解一样,所以这包含人类的能力在其中

案例

prompt

  • 攻读计算机科学的博士学位还是继续工作?特别是在一个人在拿到学位之后不想继续在学术界继续工作的情况。

如果你将其传递到一个刚刚经过总结训练的语言模型中,你会得到以下的输出:

  • 我想攻读计算机科学的博士学位,但是我担心未来的发展;我目前是全职工作,但是我担心未来的发展

这显然不是人们书写的逻辑和方式,并且该语言模型有时会出现语法错误, 使得阅读起来有困难

所以在此基础上,OpenAI做了一件事即对该promot写了一段人工注释案例

  • 我现在在做一份软件相关的工作,正在决定是否去攻读计算机科学的博士学位以提高自己的技能并探索新的兴趣和挑战

我们现在知道了早期的实验在做什么,而现在我们要使用RLHF来组合这些以获得更好的、更人性化的输出结果:

  • 现在处于工作状态,但是正在考虑是否要攻读计算机科学的博士学位以免陷入没有居留签证的尴尬局面。有谁出于研究的目的攻读博士学位但是在毕业之后不想加入学术界的吗?

现实中有大量这样的例子,所以很明显,使用RLHF在这样的任务上有很好的效果,特别是当你问到了一些比较关键和重要的话题,你可能不想获得没有用处的或者错误的信息

ChatGPT

OpenAI告诉我们可以在大模型中使用RLHF,但是我们并不清楚其中的细节,显然在这件事情上OpenAI没有那么的open。

但是有一些关于ChatGPT中使用RLHF的猜测:

  • OpenAI在人工添加注释上面花费了大量的资金
  • OpenAI修改了RLHF的训练过程

很明显使用了RLHF之后语言模型的效果有着显著的提升,使用过ChatGPT的人能够明确的感受到

RLHF中的技术细节

image-20230626213836185

RLHF 是一项涉及多个模型和不同训练阶段的复杂概念,这里我们按三个步骤分解:

  • 预训练一个语言模型 (LM)
  • 聚合问答数据并训练一个奖励模型 (Reward Model,RM)
  • 强化学习 (RL) 方式微调 LM

预训练语言模型

image-20230626214048027

通常语言模型基于transformer进行构建,在训练过程中涉及以下内容:

  • 无监督的序列预测
  • 从网站上进行数据爬取
  • 对于模型的尺寸没有一个最佳的答案(业界的模型参数涵盖范围从100亿到2800亿)

image-20230626214230747

Language model pretraining : datasetDataset:- Reddit, other forums, news, books
- Optionally include human-written text from predefined promptsPrompts & Text Dataset -> Train Language Model(Initial Language Model)|						^|-----------------------|Human Augmented Text(Optional)

人类增强文本是可选步骤,使用它只是为了覆盖我们原有的数据集。人类增强文本中包含提示原始的文本数据集,这使得这个数据集看起来像从Reddit、其他论坛或新闻中获取的。这样的组合可以为语言模型提供更丰富和多样化的输入,使其更好地理解和模仿真实世界中的对话和讨论

image-20230626214323985

关于该可选步骤,公司可以雇佣一些数据标注人员对数据进标注,即对其中的重要问题或重要的提问进行回答和标注,这些处理后的数据将是真正的高质量的训练语料,可以基于此进一步的训练语言模型,一些论文将其称之为监督式微调

接下来我们来讨论怎么使用特定的数据集来训练奖励模型引入人类的偏好信息并降低损失,因为我们刚讨论了怎么从人类不同的价值观中降低损失,而不是使用具体的损失函数

训练奖励模型

image-20230626214414790

RM 的训练是 RLHF 区别于旧范式的开端,该模型的目标是将一段输入文本序列映射到奖励值,数值上对应人的偏好。我们可以用端到端的方式用 LM 建模,或者用模块化的系统建模 (比如对输出进行排名,再将排名转换为奖励) 。这一奖励数值将对后续无缝接入现有的 RL 算法至关重要。

image-20230626214536804

RM 的提示 - 生成对文本是从预定义数据集中采样生成的,并用初始的 LM 给这些提示生成文本。即该奖励模型的训练数据集与语言模型预训练中使用的数据集不同,它包含更多期望输出的目标数据,这和互联网上的一些偏好数据集类似,也和一些聊天机器人类似,他们在更具体的场景使用更加具体的数据集和语料

这些数据集和语言模型预训练使用的数据集相比在数量上要少几个数量级,因为它们更关注于获得具体的内容,就像一种真正人性化交互式的文本类型,而不是互联网上的大多数较为嘈杂并难以处理的数据。

image-20230627232827874

经过从预定义数据集中的采样之后,语言模型会基于一个prompt将输出多个文本,之后我们会对其进行排名。这有点像我们将一个prompt输入到多个语言模型中,这些模型将生成不同的文本,然后我们标记这些输出并进行相应的排名。

image-20230626214647187

在得到模型的多个输出之后,我们可以采用一些排序方法,例如Elo对它们进行逐个比较排序,有很多种排序方法都可以使用,但本质上都是使用一个较为人工的方式将文本映射到下游的分数。

image-20230626214806157

在我们有了一些输出结果的排名之后,我们就需要考虑使用输入输出对来训练监督学习模型,具体的我们实际训练一系列的文本并将其作为输入,基于Transformer模型对其进行解码操作,得到输出后将根据奖励的特定标量值对其进行训练,最后我们就得到了奖励模型或称之为偏好模型。

image-20230626214831505

奖励模型也是一种非常大的基于Transformer的语言模型,因此它也可以有很多的参数,例如50B。但其参数量大小也会有变化,例如chatGPT的奖励模型有6B个参数,但最关键的是其从输入文本到输出标量中实际训练方式的变化

基于RL进行微调

image-20230708211224714

最后一步我们基于RL进行微调,在其中状态和操作都是语言,奖励模型将环境信息从语言转换到标量奖励值。

image-20230708211641317

我们希望从用户的prompt或模型的输出中获取一些有用的信息,然后通过策略来传递这些信息。该策略是一个经过训练的的大型语言模型,它会生成一些文本,我们将其传入奖励模型并获取相应的标量值,该奖励模型也使用文本进行训练,然后将其放入反馈循环中,以便我们可以随着时间的推移对其进行更新。

image-20230708212204873

与此同时还有其他一些较为重要的步骤,其中之一已经被人们广泛的使用到,并且几乎该方向的论文都使用了这种方法的某种变体,即KL散度

KL散度在机器学习中较为常用,它是分布之间的距离度量。当用户传入一个prompt时,语言模型会生成一个时间序列,一个随时间变化的分布,我们可以查看这些分布相对于彼此的差异。在上图中我们试图限制灰色板块中的语言模型的策略,因为当我们随着时间的推移对其进行迭代,其与已知具有准确的文本描述能力的初始语言模型的输出分布差异较大。

采取KL散度对语言模型的输出分布进行评估可以有效的防止出现异常,即语言模型即使输出乱码也能从奖励模型中获得高奖励,而我们希望的是在它给出有效的文本信息后从奖励模型中获得高奖励。因此采取KL散度对语言模型进行约束可以使我们处于理想的优化环境。

现在我们有了奖励模型的输出和KL散度对模型的约束,然后我们将奖励的标量与KL比例因子进行结合,这表达了我们对奖励模型给予的奖励值和尾部约束的关心程度。实际我们可以选择向KL散度和奖励模型的求和运算中添加更多的输入。例如chatGPT为经过训练的模型的文本输出添加了奖励项,该模型将进行迭代更新以匹配他们付费人工编写的一些高质量注释,对于具体的prompt,就像上述关于就业和读博问题的总结那样,他们希望文本能够与所有人性化文本相匹配,但这显然非常依赖于数据。

最后我们将奖励输入到RL优化器中,RL优化器处理该奖励会像处理来自环境中的奖励一样,之后经过一个RL循环,其中语言模型是策略,奖励模型和文本采样技术是环境,我们得到状态和奖励,并随着RL更新规则正常工作。其中有一些技巧,例如该RL策略可能会冻结一些参数对环境进行优化使其更容易处理,但实际上这就像只将PPO应用到语言模型上,这是一种策略分级添加算法。

PPO算法是一种相对较旧的强化学习算法,当数据通过系统时仅根据该数据计算梯度,而不保留最近转化的重放缓冲区。PPO算法适用于连续或离散操作,这就是为什么它可以处理之前的语言数据。

PPO 算法确定的奖励函数具体计算如下:将提示 x 输入初始 LM 和当前微调的 LM,分别得到了输出文本 y1, y2,将来自当前策略的文本传递给 RM 得到一个标量的奖励 r_θ。将两个模型的生成文本进行比较计算差异的惩罚项,在来自 OpenAI、Anthropic 和 DeepMind 的多篇论文中设计为输出词分布序列之间的KL散度的缩放。此外,OpenAI 在 InstructGPT 上实验了在 PPO 添加新的预训练梯度,可以预见到奖励函数的公式会随着 RLHF 研究的进展而继续进化。

作为一个可选项,RLHF 可以通过迭代 RM 和策略共同优化。随着策略模型更新,用户可以继续将输出和早期的输出进行合并排名。Anthropic 在他们的论文中讨论了迭代在线 RLHF,其中策略的迭代包含在跨模型的 Elo 排名系统中。这样引入策略和 RM 演变的复杂动态,代表了一个复杂和开放的研究问题。

RLHF 的未来

尽管 RLHF 取得了一定的成果和关注,但依然存在局限。这些模型依然会不确定性地输出有害或者不真实的文本。这种不完美也是 RLHF 的长期挑战和发展的动力 —— 在人类的固有领域中运行意味着永远不会到达一个完美的标准。

收集人类偏好数据的质量和数量决定了 RLHF 系统性能的上限。RLHF 系统需要两种人类偏好数据:人工生成的文本和对模型输出的偏好标签。生成高质量回答需要雇佣兼职人员 (不能依赖产品用户和众包) 。另一方面,训练 RM 需要的奖励标签规模大概是 50k 左右,所以并不那么昂贵 (当然这远超学术实验室的预算) 。

目前相关的数据集只有一个基于通用 LM 的 RLHF 数据集 (来自Anthropic和几个较小的子任务数据集 (如来自 OpenAI的摘要数据集) 。另一个挑战来自手工标注者的偏见,不同的人类标注者对于一个文本可能有不同的意见,导致了训练数据存在一些潜在差异。

抛开数据方面的限制,一些有待开发的设计可以让 RLHF 取得长足进步。例如对 RL 优化器的改进方面,PPO 是一种较旧的算法,但目前没有什么结构性原因让其他算法可以在现有 RLHF 工作中更具有优势。另外,微调 LM 策略的一大成本是策略生成的文本都需要在 RM 上进行评估,通过离线 RL 优化策略可以节约这些大模型 RM 的预测成本。

最近,出现了新的 RL 算法如隐式语言 Q 学习 (Implicit Language Q-Learning,ILQL) 也适用于当前 RL 的优化。在 RL 训练过程的其他核心权衡,例如探索和开发 (exploration-exploitation) 的平衡也有待尝试和记录。探索这些方向至少能加深我们对 RLHF 的理解,更进一步提升系统的表现。

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

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

相关文章

GPT-4 API 接口调用及价格分析

GPT-4 API 接口调用及价格分析 15日凌晨,OpenAI发布了万众期待的GPT-4!新模型支持多模态,具备强大的识图能力,并且推理能力和回答准确性显著提高。在各种专业和学术基准测试上的表现都媲美甚至超过人类。难怪OpenAI CEO Sam Altm…

穷人应该先买房还是先创业?

我个人建议先买房。既然是穷人,那么肯定资金不宽裕,这种情况下不应该是先买房来保障自己的生活,让自己过的安稳吗? 可能大家会问,为什么不能先创业呢?功成名就,买车买房不香吗?但是我…

穷人的新年红包系统,单节点 12W TPS

每年春节都是红包漫天飞,今年百度红包成为了最耀眼的明星。本届春晚红包活动,百度APP 最终累计互动量达到 208 亿次,百度 DAU 峰值突破 3 亿。面对这些数字,我不由感叹大厂技术的强大,机器资源的海量。作为一个穷人&am…

世界上到处都是有才华的穷人

我们每个人都自认为自己很有才华,不觉得自己哪方面比别人差什么,但为什么我们没有变更富有?是我们根本没有才华吗?如果有才华,我们自己真正出众的才华是什么?有几个人真正的清楚了解自己的才华是什么&#…

穷人实现阶级跨越有多难

经常看我们的读者应该知道,周末一般会发一些个人感悟或者分享一些我个人认为比较的文章或者观点,这样看起来公众号内容不是很冰冷,有温度,毕竟我们的生活中除了学习还有更多其他的思考。 周末在起点财经看到一篇文章,跟…

为什么穷人不敢创业?

对于“穷人大多不敢创业”的观点,持中性看法,不认为是对的,也不认为是错的。因为从身边的情况来讲,有钱人往往更加不敢创业,没钱的朋友也有很多喜欢“折腾”的。 创业,最重要的是看创业者的性格、行动&…

Numpy练习小例题(1)--穷人借钱

一个穷人到富人那里去借钱,原以为富人不愿意,哪知富人一口答应了下来,但提出了如下条件: 在30天中,富人第一天借给穷人1万元,第二天借给2万,以后每天所借的钱数都比上一天的多一万; 但借钱…

穷孩子就活该这样吗?10幅漫画扎破穷人真相

文/北妈、刘娜 阅读本文需要 3.0分钟 作者丨刘娜 来源 | 闲时花开(ID:xsha369) 最近看到一组漫画,真实到震撼人心。 它来自新西兰漫画家Toby Morris,这个漫画叫On a Plate——《盘子上》。 漫画描述了两个在不同环境中…

★为什么不要和“穷人”做朋友?

不要和“穷人”做朋友(深度好文) 他穷的,不仅仅是物质条件,他穷的,更是视野和格局。 01 我工作在三里屯,那里人多车多,所以停车是一个特别麻烦的事情。 我很少开车,但凡开车&#xf…

EleutherAI GPT-Neo: 穷人的希望

前面一篇blog finetune一个GPT3,借助openai的api finetune了一个GPT3,使用下来确实太贵,生成了1w条数据,花掉了60多美刀。肉痛,所以穷人只能想想穷人的办法,脑子就浮现出好朋友EleutherAI的GPT-Neo来。gith…

路径依赖:穷人很难逆袭突破的科学道理

路径依赖 为什么要了解路径依赖原理 马云说:“晚上想想千条路,早上醒走原路。“我们会看到一些社会现象,为什么穷人最终大部分还是穷人,即使告诉他方法,提供给他资金,最终还是穷人?为什么很多…

穷人跨越阶层有多难?

— 1 — 最难突破的就是父母 父母是每个人的起点,也是绝大部分人的天花板。 中国最近这代人大部分都比父母混的强,是因为父母被耽搁了,再往后几代,大家就能看出来我这句话的威力了。 美国英国德国那边的成熟型社会这一点非常明显&…

李宏毅2023春季机器学习笔记 - 01生成AI(ChatGPT)

一、引言 预设的知识储备要求:数学(微积分、线性代数、机率);编程能力(读写python) 这门课专注在 深度学习领域deep learning, 事实上深度学习在今天的整个机器学习(ML&#xff09…

穷人入门区块链指南

本文来自作者 Fengy 在 GitChat 上分享 「区块链与比特币快速入门」 编辑 | 甘道夫 写在前面 本人是个对编程以及区块链感兴趣的人。平时没事的时候喜欢阅读技术博客,技术书籍。 本次在 GitChat 上发起 Chat,主要是带领区块链小白、炒币者、区块链爱好者…

穷人翻身唯一出路是什么?穷人赚钱一点都不难?

世界上有很多种人,可以分为男人或者女人。更全面一点可以说是穷人和富人,有些人出生就含着金钥匙,而有的人可能连饭都吃不上,但是又不想就此放弃,所以会选择创业这条路,穷人翻身唯一出路到底是什么&#xf…

这个社会穷人的出路在哪里?

穷人也分上进的穷人和不上进的穷人,如果你自己不上进,那就根本没有出路。 如果你上进,就多少还有点办法。 如果你没有学历,说实话,挺难的,在现在这个社会,没有学历,只知道苦做&…

中国移动牵头定义【“1”个技术底座+“X”个厂商算法】隐私计算平台

开放隐私计算 《中国移动“1X”隐私计算平台纳管集成规范》于2月10日正式发布,该规范是中国移动牵头组织业内技术伙伴亚信科技、富数科技、蓝象智联、数牍科技、同盾科技等多个业内技术合作伙伴联合编写,主要基于1X架构的互联互通分级纳管模式展开说明。…

一万年太久,只争朝夕 | Foundation model的进展仍不够快

编者按:如今根基模型(Foundation Models)的应用和相关创新正在快速涌现,但仍有很大的提升空间,目前还无法充分发挥根基模型的潜能、将其高效快速地应用于企业级AI应用中。 根基模型的加速应用和落地,带动了…

【思维模型】概率思维的价值:找到你的人生算法!打开你的人生格局!实现认知跃迁!

把同样公平的机会放在放在很多人面前,不同的人生算法,会得到迥然不同的结果。 概率思维是什么? 【ChatGPT】概率思维是一种通过使用数学模型来思考和评估不确定性事件的方法。它通过计算不同可能性的概率来预测事件的结果,并评估风险和机会。 概率思维的价值在于它可以帮…

GPT-4越强,这些数据隐私问题就越需要被重视!

开放隐私计算 今天,ChatGPT4.0版本(下称GPT-4)正式发布,引爆了我们的话题圈子。GPT-4霸榜各个频道、社区的热度头条,不管是学术界还是工业界,是茶余饭后的谈资还是头脑风暴的创新,到处都能听到“…