InstructGPT 与 ChatGPT的学习与解读

这篇具有很好参考价值的文章主要介绍了InstructGPT 与 ChatGPT的学习与解读。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近ChatGPT大火,简单整理了一些文章和帖子。
ps.此时ChatGPT还没公布相应的论文,所有以下内容为官网发布内容,以及一些合理的推测。

InstructGPT

相比于GPT,2022年初推出的InstructGPT在某种程度上更像是ChatGPT的“直系前辈”。因为InstructGPT大量的使用到了人类反馈与指导,在大力出奇迹的GPT3的基础上,更加的进一步精调,使得InstructGPT的输出更加的可控,也就是跟人类习惯更加贴近了。

对于这项工作,OpenAI 表示:“我们成功训练出了在遵守用户意图方面比 GPT-3 显著更强的新语言模型,并且同时确保这些模型更加诚实,减少了有害结果的生成。具体来说,我们采用了在对齐 (alignment) 研究当中掌握的技术,使得这些训练结果成为可能”。

新的模型名为 InstructGPT(instruct 是指导的意思),意即和一般模型训练的自我监督模式不同,这次在新模型的训练当中,OpenAI 重度使用了人类作为“教师”的身份,对模型训练进行反馈和指导。从人类反馈中进行强化学习的过程,称为reinforcement learning from human feedback,简称 RLHF。这个也是使ChatGPT变得特殊的秘密武器(也许~)。

人类的监督即为,每一次GPT的反馈都会交由数据标记员评估,他们对不同 GPT模型版本生成的结果进行打分并优化参数,最后训练得到的即为InstructGPT。
InstructGPT 与 ChatGPT的学习与解读

RLHF

在通过语言模型实现下游任务的过程中,如生成对话任务,在使用token级别的loss以外,我们还会使用评估整体文段输出的指标,人们往往用BLEU或ROUGH等评价指标来刻画模型输出与人类偏好的相近程度,但这也仅仅是在评价的层面,模型在训练的时候是见不到这些人类真实的偏好的。因此,训练阶段,如果直接用人的偏好(或者说人的反馈)来对模型整体的输出结果计算reward或loss,显然是要比上面传统的“给定上下文,预测下一个词”的损失函数合理的多。基于这个思想,便引出了本文要讨论的对象——RLHF(Reinforcement Learning from Human Feedback):即,使用强化学习的方法,利用人类反馈信号直接优化语言模型。

RLHF的训练过程可以分解为三个核心步骤:

  1. 预训练语言模型(LM):如InstructGPT使用了标准的预训练GPT3
  2. 收集数据并训练奖励模型:奖励模型reward model的目标是刻画模型的输出是否在人类看来表现不错。通过已有的Prompt训练奖励模型,奖励模型可以看做一个判别式的语言模型,因此我们可以用一个预训练语言模型热启,而后在 [x=[prompt,模型回答], y=人类满意度] 构成的标注语料上去微调。
  3. 通过强化学习微调 LM:我们将初始语言模型的微调任务建模为强化学习(RL)问题,因此需要定义策略(policy)、动作空间(action space)和奖励函数(reward function)等基本要素。显然,策略就是基于该语言模型,接收prompt作为输入,然后输出一系列文本(或文本的概率分布);而动作空间就是词表所有token在所有输出位置的排列组合(单个位置通常有50k左右的token候选);观察空间则是可能的输入token序列(即prompt),显然也相当大,为词表所有token在所有输入位置的排列组合;而奖励函数则是基于上一章节我们训好的RM模型,配合一些策略层面的约束进行的奖励计算。

如上图所示,标注人员的任务则是对初始语言模型生成的文本进行排序。有人可能会奇怪,为啥不直接让标注人员对文本进行打分呢?这是因为研究人员发现不同的标注员,打分的偏好会有很大的差异(比如同样一段精彩的文本,有人认为可以打1.0,但有人认为只能打0.8),而这种差异就会导致出现大量的噪声样本。若改成标注排序,则发现不同的标注员的打分一致性就大大提升了。一种比较有效的做法是“pair-wise”,即给定同一个prompt,让两个语言模型同时生成文本,然后比较这两段文本哪个好。奖励模型的训练流程:InstructGPT 与 ChatGPT的学习与解读

计算得到奖励reward:首先,基于前面提到的预先富集的数据,从里面采样prompt输入,同时丢给初始的语言模型和我们当前训练中的语言模型(policy),得到俩模型的输出文本y1,y2。然后用奖励模型RM对y1、y2打分,判断谁更优秀。显然,打分的差值便可以作为训练策略模型参数的信号,这个信号一般通过KL散度来计算“奖励/惩罚”的大小。显然,y2文本的打分比y1高的越多,奖励就越大,反之惩罚则越大。这个reward信号就反映了文本整体的生成质量。

InstructGPT 与 ChatGPT的学习与解读
以上摘自:https://mp.weixin.qq.com/s/hm_bbVebSF4JudctCsiRcA

ChatGPT 更进一步

此外,ChatGPT 的强大还依赖于一项秘密武器 —— 一种名为 RLHF(人类反馈强化学习)的训练方法。
大家可以看到ChatGPT的官方示意图跟InstructGPT非常相似。在一定程度上也证明了InstructGPT与之的关系,其实就是一脉相承的,只是在一些细节上进行了修改。

所以当然训练数据的变化应该更大更有影响力。

InstructGPT 与 ChatGPT的学习与解读根据 OpenAI 官方公布的资料,这种训练方法主要也有三个阶段:

  1. 冷启动阶段的监督策略模型:从测试用户提交的 prompt 中随机抽取一批,靠专业的标注人员,给出指定 prompt 的高质量答案,然后用这些人工标注好的 < prompt,answer > 数据来 Fine-tune GPT 3.5 模型,从而让 GPT 3.5 初步具备理解指令中蕴含的意图的能力;
  2. 训练回报模型(Reward Model,RM):随机抽样一批用户提交的 prompt,然后使用第一阶段 Fine-tune 好的冷启动模型为每个 prompt 生成 K 个不同的回答,再让标注人员对 K 个结果进行排序,以此作为训练数据,通过 pair-wise learning to rank 模式来训练回报模型;
  3. 采用强化学习来增强预训练模型的能力:利用上一阶段学好的 RM 模型,靠 RM 打分结果来更新预训练模型参数。可以观察到使用RLHF仍然是被声明为关键环节。

关于RLHF在整个训练过程中到底起了多大作用,我个人比较喜欢张俊林老师的这段话“尽管如此,我觉得第三阶段采用强化学习策略,未必是ChatGPT模型效果特别好的主要原因。假设第三阶段不采用强化学习,换成如下方法:类似第二阶段的做法,对于一个新的prompt,冷启动模型可以产生k个回答,由RM模型分别打分,我们选择得分最高的回答,构成新的训练数据<prompt,answer>,去fine-tune LLM模型。假设换成这种模式,我相信起到的作用可能跟强化学习比,虽然没那么精巧,但是效果也未必一定就差很多。第三阶段无论采取哪种技术模式,本质上很可能都是利用第二阶段学会的RM,起到了扩充LLM模型高质量训练数据的作用。”

实际上我的理解是,无论收敛是否用的是强化学习,其目的是为了引入忍得评价作为一种loss来干预模型的精调,那么无论是一般的token级的比对,还是对每一个输出进行排序打分,亦或是使用RLHF,都不过是一种实现方法,希望后续能有陆续的研究对该内容进行消融实验看看效果。别是消融试验一做,发现如transform一般,很多设置都是帮助不大的,改成MLP is all you need 也可以 \笑。

我的感悟:
  1. 不用恐慌:刚开始我自己没进行测评的时候,看帖子大家说 ChatGPT的短板的时候会说,ChatGPT不能看得懂脑筋急转弯,我当时还在想,那这不是说明ChatGPT已经很厉害很智能了嘛。但是当我自己进行测试,也阅读了很多测试帖子之后,还是明显能感觉到ChatGPT并没有大家说的那么夸张,无懈可击。相反,对于应用ChatGPT到现实生活中,实际上还是很有距离的。最好能把ChatGPT理解成一种工具,他不会直接反馈给你绝对正确的答案,但是能在一定程度上帮助你节约时间,减少工作量,就犹如最近大火的Diffusion model在绘画上面能给画师提供草稿一样,是需要具备一定专业知识的从业人员能利用好的工具,而不是随便来个人加上ChatGPT就可以抢工程师饭碗了。但是在这个基础上,我们可以说ChatGPT的确是能改变某些行业的生态的。
  2. ChatGPT也有短板:在基于 RLHF 范式训练模型时,人工标注的成本是非常高昂的,而 RLHF 性能最终仅能达到标注人员的知识水平。
  3. 合理的认识ChatGPT带来的技术优化:实际上并没有啥突破性的技术进展,但是得到了比较不错的效果。
  4. 数据:数据应该是ChatGPT成功很大程度依赖一个关键因素,首先是人工标注的有监督学习的数据,根据内容编写prompt来得到的。回报函数模型的训练也同样依赖标注者的人工排序。这些不仅需要大量的人力,同时对人工标注的成熟度,准确度也有很大要求,并不容易复现。
  5. 对于非常拿手的写代码,Stack overflow表示:关于 Stack Overflow 为何禁用 ChatGPT,官方表示:「我们正在试图阻止 ChatGPT 随机编造,现阶段让其与当前技术保持平衡是很棘手的主要问题在于,虽然 ChatGPT 产生的答案错误率很高,但我们很难看出来它哪里错了。」这会造成问题回答鱼目混珠的情况,\摊手手

参考文章,部分内容截取自:
【1】OpenAI 拾回初心?总爱乱讲话的GPT-3终于懂事了
【2】台大資訊 深度學習之應用 | ADL 17.2: OpenAI InstructGPT 從人類回饋中學習 ChatGPT 的前身
【3】抱抱脸:ChatGPT背后的算法——RLHF | 附12篇RLHF必刷论文
【4】张俊林:由ChatGPT反思大语言模型(LLM)的技术精要
【5】ChatGPT的前世今生
【6】张俊林:ChatGPT会成为下一代搜索引擎吗
【7】前沿重器[31] | 理性聊聊ChatGPT文章来源地址https://www.toymoban.com/news/detail-414193.html

到了这里,关于InstructGPT 与 ChatGPT的学习与解读的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • InstructGPT——ChatGPT前身

    InstructGPT——ChatGPT前身

    We trained this model using Reinforcement Learning from Human Feedback (RLHF), using the same methods as InstructGPT, but with slight differences in the data collection setup. ChatGPT is fine-tuned from a model in the GPT-3.5 series, which finished training in early 2022. 从ChatGPT”方法“原文可以看出,其使用的网络模型来自GPT-3.5,其原

    2023年04月15日
    浏览(9)
  • ChatGPT的来源-InstructGPT论文简要介绍

    现在大火的ChatGPT功能十分强大,不仅可以回答用户问题,编写故事,甚至还可以写代码。ChatGPT跟OpenAI之前发表的InstructGPT使用的模型方法比较类似,只是训练的数据不同,为了探索ChatGPT的原理,笔者找来2022年3月发表的InstructGPT的论文,做了简要的介绍。 ChatGPT,美国OpenAI 研

    2024年02月02日
    浏览(10)
  • 随着ChatGPT、文言一心的大火,未来可能的生活工作方式

    随着ChatGPT、文言一心的大火,未来可能的生活工作方式

            前面的文章笼统的扯了一些ChatGPT、文言一心的差异化,感觉还是不够明白直观。特地找了一份资料,通过基础能力、进阶能力、和一些垂直领域的几百个各种问题,来对比分析两者的回答情况,让大家可以有个更接地气的了解。         由于问题太多,这里实在没

    2024年02月09日
    浏览(11)
  • 嗯?大火的ChatGPT和new bing都离不开它?

    嗯?大火的ChatGPT和new bing都离不开它?

    概述:本文是对 WhalePaper 向量检索领域第一次直播活动内容的文字版,会对向量检索这个 ChatGPT 和 new bing 都离不开的技术进行介绍,结合了 ChatGPT 以及 new bing 的应用场景进行讲解,相信被标题骗进来的你还真能有所收获的(手动狗头)!本期内容入门友好,对课件进行了一

    2024年02月03日
    浏览(12)
  • GPT3.5 , InstructGPT和ChatGPT的关系

    GPT3.5 , InstructGPT和ChatGPT的关系

    GPT-3.5 系列是一系列模型,从 2021 年第四季度开始就使用文本和代一起进行训练。以下模型属于 GPT-3.5 系列: code-davinci-002 是一个基础模型,非常适合纯代码完成任务 text-davinci-002 是一个基于 code-davinci-002 的 InstructGPT 模型 text-davinci-003 是对 text-davinci-002 的改进 gpt-3.5-turbo-030

    2023年04月09日
    浏览(8)
  • GPT3.5, InstructGPT和ChatGPT的关系

    GPT3.5, InstructGPT和ChatGPT的关系

    GPT-3.5 系列是一系列模型,从 2021 年第四季度开始就使用文本和代一起进行训练。以下模型属于 GPT-3.5 系列: code-davinci-002 是一个基础模型,非常适合纯代码完成任务 text-davinci-002 是一个基于 code-davinci-002 的 InstructGPT 模型 text-davinci-003 是对 text-davinci-002 的改进 gpt-3.5-turbo-030

    2024年02月01日
    浏览(8)
  • 解读一下最近Midjourney开放的中国版

    解读一下最近Midjourney开放的中国版

    最近Midjourney在中国开放测试申请,吸引了众多朋友加入,但也存在许多问题需要解答。因此,我决定撰写一份使用指南,以帮助大家更好地理解与国际版的差异。 接下来,我将分为两个部分进行详细介绍,其中一部分涵盖了免费用户可使用的功能和限制,而一些基础功能也

    2024年02月13日
    浏览(8)
  • 最近读的AIGC相关论文思路解读

    最近读的AIGC相关论文思路解读

    提示:本博客是作者本人最近对AIGC领域相关论文调研后,临时记录所用,所有观点都是来自作者本人局限理解,以及个人思考,不代表对。如果你也正好看过相关文章,发现作者的想法和思路有问题,欢迎评论区留言指正! 既然是论文阅读分享,首先,你需要有一些AIGC基础

    2024年02月10日
    浏览(8)
  • 聊一聊近段时间大火的ChatGPT,它真的能代替程序员导致失业潮来袭吗?

    聊一聊近段时间大火的ChatGPT,它真的能代替程序员导致失业潮来袭吗?

    OpenAI又火了!近期许多人的朋友圈里都混进了一个让人既爱又怕的狠角色,以至于StackOverflow不得不急忙下架。 近日,OpenAI发布了聊天AI ChatGPT,短短几天,其用户量直冲百万级,甚至服务器一度被注册用户挤爆了。 这种被网友惊叹“超越谷歌搜索”的神器究竟怎么做到的?到

    2023年04月17日
    浏览(12)
  • Python大火,零基础还能学习么?

    Python大火,零基础还能学习么?

    Python近段时间一直涨势迅猛,在各大编程排行榜中崭露头角,得益于它多功能性和简单易上手的特性,让它可以在很多不同的工作中发挥重大作用。 正因如此,目前几乎所有大中型互联网企业都在使用 Python 完成各种各样的工作,比如Web应用开发、自动化运维、人工智能领域

    2024年02月06日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包