1 RL究竟是如何与LLM做结合的?-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RL究竟是如何与LLM做结合的?

深度学习自然语言处理 来源:深度学习自然语言处理 2024-01-03 16:34 次阅读

RLHF 想必今天大家都不陌生,但在 ChatGPT 问世之前,将 RL 和 LM 结合起来的任务非常少见。这就导致此前大多做 RL 的同学不熟悉 Language Model(GPT)的概念,而做 NLP 的同学又不太了解 RL 是如何优化的。在这篇文章中,我们将简单介绍 LM 和 RL 中的一些概念,并分析 RL 中的「序列决策」是如何作用到 LM 中的「句子生成」任务中的,希望可以帮助只熟悉 NLP 或只熟悉 RL 的同学更快理解 RLHF 的概念。

1. RL: Policy-Based & Value Based

强化学习(Reinforcement Learning, RL)的核心概念可简单概括为:一个机器人(Agent)在看到了一些信息(Observation)后,自己做出一个决策(Action),随即根据采取决策后得到的反馈(Reward)来进行自我学习(Learning)的过程。

光看概念或许有些抽象,我们举个例子:现在有一个机器人找钻石的游戏,机器人每次可以选择走到相邻的格子,如果碰到火焰会被烧死,如果碰到钻石则通关。

5a3653c2-aa00-11ee-8b88-92fbcf53809c.png

机器人找钻石的例子:碰到火焰则会被烧死

在这个游戏中,机器人(Agent)会根据当前自己的所在位置(Observation),做出一次行为选择(Action):

如果它此时选择「往上走」,则会碰到火焰,此时会得到一个来自游戏的负反馈(Reward),于是机器人会根据当前的反馈进行学习(Learning),总结出「在当前的位置」「往上走」是一次错误的决策。

如果它此时选择「向右走」,则不会碰到火焰,并且因为离钻石目标更近了一步,此时会得到一个来自游戏的正反馈(Reward),于是机器人会根据当前的反馈进行学习(Learning),总结出「在当前位置」「往右走」是一次相对安全的决策。

通过这个例子我们可以看出,RL 的最终目标其实就是要让机器人(Agent)学会:在一个给定「状态」下,选择哪一个「行为」是最优的。

一种很直觉的思路就是:我们让机器人不断的去玩游戏,当它每次选择一个行为后,如果这个行为得到了「正奖励」,那么下次就多选择这个行为;如果选择行为得到了「负惩罚」,那么下次就少选择这个行为。

为了实现「多选择得分高的行为,少选择得分低的行为」,早期存在 2 种不同的流派:Policy Based 和 Value Based。

5a43258e-aa00-11ee-8b88-92fbcf53809c.png

Policy Based 将行为量化为概率;Value Based 将行为量化为值

其实简单来说,这 2 种流派的最大区别就是在于将行为量化为「概率」还是「值」,具体来讲:

Policy Based:将每一个行为量化为「概率分布」,在训练的时候,好行为的概率值将被不断提高(向右走,0.9),差行为的概率将被不断降低(向上走,0.1)。当机器人在进行行为选择的时候,就会按照当前的概率分布进行采样,这样就实现了「多选择得分高的行为,少选择得分低的行为」。

Value Based:将每一个行为量化为「值」,在训练的时候,好行为的行为值将被不断提高(向右走,1分),差行为的行为值将被不断降低(向上走,-1)。当机器人在进行行为选择的时候会选择「行为值最大的动作」,这样也实现了「多选择得分高的行为,少选择得分低的行为」。

5a521eb8-aa00-11ee-8b88-92fbcf53809c.png

两种策略输入一样,只是输出的形式不一样(概率 v.s. 值)

关于这 2 种流派的更多训练细节在这里就不再展开,如果感兴趣可以看看比较出名的代表算法:[Policy Gradient](Policy Based)和 [Q-Learning](Value Based)。

讲到这里,我们可以思考一下,Language Model(GPT)是属于 Policy Based 还是 Value Based ?

为了弄明白这个问题,我们下面一起看看 GPT 是怎么工作的。

2. Language Model(GPT)是一种 Policy Based 还是一种 Value Based?

GPT 是一种 Next Token Prediction(NTP),即:给定一段话的前提下,预测这段话的下一个字是什么。

5a6845f8-aa00-11ee-8b88-92fbcf53809c.png

GPT 工作原理(Next Token Prediction,NTP)

而 GPT 在进行「下一个字预测」的时候,会计算出所有汉字可能出现的概率,并根据这个概率进行采样。

在这种情况下,我们完全可以将「给定的一段话」看成是我们上一章提到的 Observation,

将「预测的下一个字」看成是上一章提到的 Action,而 GPT 就充当了其中 Agent 的角色:

5a7870b8-aa00-11ee-8b88-92fbcf53809c.png

GPT 生成文本的过程,一个典型的 Policy Based 过程

如此看来,Language Model 的采样过程其实和 Policy Based 的决策过程非常一致。

回顾一下我们之前提到过 RL 的目标:在一个给定「状态」下,选择哪一个「行为」是最优的,

迁移到 GPT 生成任务上就变成了:在一个给定的「句子」下,选择(续写)哪一个「字」是最优的。

因此,将 RL 中 Policy Based 的训练过程应用到训练 GPT 生成任务里,一切都显得非常的自然。

5a928e4e-aa00-11ee-8b88-92fbcf53809c.png

通过 RL 对 GPT 进行训练,我们期望 GPT 能够学会如何续写句子才能够得到更高的得分,

但,现在的问题是:游戏中机器人每走一步可以通过游戏分数来得到 reward,GPT 生成了一个字后谁来给它 reward 呢?

3. 序列决策(Sequence Decision)以及单步奖励(Step Reward)的计算

在第一章和第二章中,我们其实讨论的都是「单步决策」:机器人只做一次决策,GPT 也只生成一个字。

但事实上,机器人想要拿到钻石,通常需要做出 N 次行为选择。

5a9a6e2a-aa00-11ee-8b88-92fbcf53809c.png

不同的行为选择序列得到的得分:假设拿到 得1分,碰到 得-1分,其余情况不加分也不扣分

在这种情况下我们最终只有 1 个得分和 N 个行为,但是最终 RL 更新需要每个行为都要有对应的分数,

我们该如何把这 1 个总得分对应的分配给所有的行为呢?

答案是计算「折扣奖励(discount reward)」。

我们认为,越靠近最末端的行为对得分的影响越大,于是从后往前,每往前行为就乘以 1 次折扣因子 γ:

5aa94d50-aa00-11ee-8b88-92fbcf53809c.png

根据最终得分(total reward),从后往前倒推出每一个行为的得分(step reward)

同样,GPT 在生成一个完整句子的过程中,也会做出 N 个行为(续写 N 个字),

而我们在评分的时候,只会针对最后生成的完整句子进行一个打分(而不是生成一个字打一个分),

最后,利用上述方法通过完整句子的得分倒推出每个字的对应得分:

5ab822bc-aa00-11ee-8b88-92fbcf53809c.png

注意:在 GPT 的得分计算中,通常折扣因子(γ)取 1.0

值得注意的是:通常在对 GPT 生成句子进行得分拆解的时候,折扣因子(γ)会取 1.0,

这意味着,在句子生成任务中,每一个字的生成都会同等重要地影响着最后生成句子的好坏。

我们可以这么理解:在找钻石的游戏中,机器人采取了一些「不当」的行为后是可以通过后续行为来做修正,比如机器人一开始向右走(正确行为),再向左走(不当行为),再向右走(修正行为),再向上走(正确行为),这个序列中通过「修正行为」能够修正「不当行为」带来的影响;但在句子生成任务中,一旦前面生成了一个「错别字」,后面无论怎么生成什么样的字都很难「修正」这个错别字带来的影响,因此在文本生成的任务中,每一个行为都会「同等重要」地影响最后句子质量的好坏。

4. 加入概率差异(KL Penalty)以稳定 RL 训练

除了折扣奖励,在 OpenAI 的 [Learning to summarize from human feedback] 这篇工作中指出,

在最终生成句子的得分基础上,我们还可以在每生成一个字时候,计算 RL 模型和 SFT 模型在生成当前字的「概率差异」,并以此当作生成当前字的一个 step reward:

5ac5ee7e-aa00-11ee-8b88-92fbcf53809c.png

通过概率差异(KL)作为 reward 有 2 个好处:1. 避免模型崩溃到重复输出相同的一个字(模式崩溃)。2. 限制 RL 不要探索的离一开始的模型(SFT)太远

通常在进行 RL 训练时,初始都会使用 SFT 模型做初始化,随即开始探索并学习。

由于 RL 的训练本质就是:探索 + 试错,

加上「概率差异」这一限制条件,就相当于限制了 RL 仅在初始模型(SFT)的附近进行探索,

这就大大缩小了 RL 的探索空间:既避免了探索到那些非常差的空间,又缓解了 Reward Model 可能很快被 Hacking 的问题。

我们举一个具体的例子:

5ad49aa0-aa00-11ee-8b88-92fbcf53809c.png

加上 KL 惩罚(概率差异)约束后的 step reward

如上图所示,对于「大家好,我是」这个 prompt,Policy(RL)Model 认为「鸡太美」是一个很好的答案,

这可能是 Reward Model 打分不准导致的(这很常见),上图中 RM 给「鸡太美」打出了 2 分的高分(绿色)。

但是,这样一个不通顺的句子在原始的模型(SFT Model)中被生成出来的概率往往是很低的,

因此,我们可以计算一下「鸡太美」这 3 个字分别在 RL Model 和在 SFT Model 中被采样出来的概率,

并将这个「概率差异」加到 RM 给出的「折扣分数」中,

我们可以看到:尽管对于这个不通顺的句子 RM 给了一个很高的分数,但是通过「概率差异」的修正,每个字的 reward 依然被扣除了很大的惩罚值,从而避免了这种「RM 认为分数很高,但实则并不通顺句子」被生成出来的情况。

通过加入「概率差异」的限制,我们可以使得 RL 在 LM 的训练中更加稳定,防止进化为生成某种奇怪的句子,但又能「哄骗」Reward Model 给出很高分出的情况(RL 非常擅长这一点)。

但,如果你的 RM 足够的强大,永远无法被 Policy 给 Hack,或许你可以完全放开概率限制并让其自由探索。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    211

    文章

    28379

    浏览量

    206904
  • 强化学习
    +关注

    关注

    4

    文章

    266

    浏览量

    11245
  • LLM
    LLM
    +关注

    关注

    0

    文章

    286

    浏览量

    327

原文标题:RL 究竟是如何与 LLM 做结合的?

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    嵌入式和人工智能究竟是什么关系?

    嵌入式和人工智能究竟是什么关系? 嵌入式系统是一种特殊的系统,它通常被嵌入到其他设备或机器中,以实现特定功能。嵌入式系统具有非常强的适应性和灵活性,能够根据用户需求进行定制化设计。它广泛应用于各种
    发表于 11-14 16:39

    PCM1861 INT脚究竟是输出还是输入?

    这个芯片activce或是idle. 是否有人解释下,INT脚究竟是输出还是输入。我希望是输出,我需要读取到是否有analog audio输入的信息。 或者,输入输出与否还要靠其他什么地方设置? 盼望有人回复解答,不胜感激!
    发表于 10-29 07:29

    超高频读写器究竟是什么,能做什么?一文读懂!

    在物联网技术日新月异的今天,超高频读写器作为射频识别(RFID)技术的重要组成部分,正逐渐渗透到我们生活的各个领域。那么,超高频读写器究竟是什么?它又能做些什么呢?本文将带您一探究竟。一、超高频
    的头像 发表于 10-23 14:41 199次阅读
    超高频读写器<b class='flag-5'>究竟是</b>什么,能做什么?一文读懂!

    揭秘贴片功率电感发烫究竟是不是烧坏了

    德赢Vwin官网 网站提供《揭秘贴片功率电感发烫究竟是不是烧坏了.docx》资料免费下载
    发表于 09-30 14:44 0次下载

    电感器线径究竟是粗好还是细好

    德赢Vwin官网 网站提供《电感器线径究竟是粗好还是细好.docx》资料免费下载
    发表于 09-20 11:25 0次下载

    tas5756m使用GPIO口加内部PLL产生MCLK的方法究竟是怎么样的?

    tas5756m使用GPIO口加内部PLL产生MCLK的方法究竟是怎么样的?
    发表于 08-19 06:06

    蝉联“第一”背后,是vivo的“快乐飞轮”正循环

    “快乐公司”究竟是如何脱离红海竞争?
    的头像 发表于 07-30 08:24 2906次阅读
    蝉联“第一”背后,是vivo的“快乐飞轮”正循环

    请问cH340G的TX引脚电平究竟是3v还是5v?

    用CD34G来实现usb转串口的时候,直接用usb口的5v作为电源电压,它的tx引脚输出的高电平究竟是5v还是3v,我实测是3v,但网上有的人是5v,想进一步得到大家的确认。
    发表于 05-14 08:15

    MPLS究竟是什么?

    由于运行 MPLS 的服务提供商只查看数据包上的标签,而不是 IP 本身,这使得服务提供商能够使用 MPLS 为此类客户提供 VPN 服务。
    发表于 04-26 16:09 372次阅读
    MPLS<b class='flag-5'>究竟是</b>什么?

    工业物联网究竟是什么呢?它又有哪些作用呢?

    随着科技的快速发展,物联网技术已经逐渐渗透到我们生活的各个角落,而 工业物联网(IIoT) 更是引领着工业领域的数字化转型。那么,工业物联网究竟是什么呢?它又有哪些作用呢?本文将对此进行深度解析
    的头像 发表于 04-22 15:26 387次阅读

    STM32擦除后数据究竟是0x00还是0xff ?

    STM32擦除后数据究竟是0x00还是0xff ,百度查了许多发现大多数都是0xff的多,都说SD卡(TF)储存介质是Flash 所以擦除后为0xff,但是我遇到了读出来的数据是0x00的情况,为什么呢
    发表于 04-18 07:59

    MOSFET的栅源振荡究竟是怎么来的?栅源振荡的危害什么?如何抑制

    MOSFET的栅源振荡究竟是怎么来的呢?栅源振荡的危害什么?如何抑制或缓解栅源振荡的现象呢? MOSFET(金属-氧化物-半导体场效应晶体管)的栅源振荡是指在工作过程中,出现的栅极与源极之间产生
    的头像 发表于 03-27 15:33 1634次阅读

    吸尘器究竟是如何替你“吃灰”的【其利天下技术】

    如今,吸尘器已成为大多数人居家必备的小家电产品,那么说起吸尘器,你对吸尘器有了解多少呢?不知道大家知不知道它的原理是什么?今天我们就来说一说吸尘器究竟是如何替你“吃灰”的。
    的头像 发表于 03-07 21:17 868次阅读
    吸尘器<b class='flag-5'>究竟是</b>如何替你“吃灰”的【其利天下技术】

    什么是激光二极管 激光二极管的三个引脚究竟是什么呢?

    什么是激光二极管 激光二极管的三个引脚究竟是什么呢?它的三个引脚又是用什么材质制作的呢? 激光二极管是一种常见的半导体激光器,是将电能转化为激光光能的电子元件。它是由半导体材料构成的,通常是将P型
    的头像 发表于 01-26 15:17 3640次阅读

    “其貌不扬”的共模电感究竟是如何做到抗干扰的呢?

    “其貌不扬”的共模电感究竟是如何做到抗干扰的呢? 共模电感是一种用于滤除电子设备中的共模噪声的重要元件,其主要作用是提供阻抗来滤除共模干扰信号。尽管外观看起来“其貌不扬”,但共模电感通过其特殊
    的头像 发表于 01-11 16:27 768次阅读