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。
请添加图片描述

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,让两个语言模型同时生成文本,然后比较这两段文本哪个好。奖励模型的训练流程:请添加图片描述

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

请添加图片描述
以上摘自:https://mp.weixin.qq.com/s/hm_bbVebSF4JudctCsiRcA

ChatGPT 更进一步

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

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

请添加图片描述根据 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

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

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

相关文章

ChatGPT 到底强大在哪里?(文末有彩蛋)

ChatGPT 是由 OpenAI 开发的一个人工智能聊天机器人程序&#xff0c;于2022年11月推出。该程序使用基于 GPT-3.5 架构的大型语言模型并通过强化学习进行训练。ChatGPT 以文字方式交互&#xff0c;而除了可以通过人类自然对话方式进行交互&#xff0c;还可以用于相对复杂的语言工…

chatGPT使用教程-提问的六个层次

为了让广大用户能够快速掌握聊天AI工具的使用方法&#xff0c;我们经过一段时间的摸索&#xff0c;并向各路高手请教学习&#xff0c;总结出了一些向类似于ChatGPT这样的聊天AI提问的技巧。我们将聊天AI的提问分为六个层次&#xff0c;从简单到复杂逐步讲解&#xff0c;帮助您解…

ChatGPT 已成为下一代的新操作系统!

作者 | 屠敏 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 「操作系统 20 年一周期」这一经典理论&#xff0c;正在科技发展的长河中得到了新一轮的验证。 如果说 Windows 引领了 PC 互联网新时代&#xff0c;iOS、Android 成为了移动开发时代的敲门砖&#xff…

《ChatGPT百科全书》你对ChatGPT的问题都可以在这里找到答案

我花了一周时间整理了份《ChatGPT百科全书》&#xff0c;里面涵盖了账号、ChatGPT小白科普、Prompt学习由浅入深、ChatGPT花式玩法、AI工具库、利用ChatGPT变现的90种方法以及最新研报等&#xff1b; 传送门&#xff1a;Docshttps://xum666e6ro.feishu.cn/docx/Sk11dgxhtoQFKd…

如何与ChatGPT交流,获得你想要的答案?正确提问是关键

正确提问是与ChatGPT交流时达到预期结果的必要技能。ChatGPT是一种人工智能聊天机器人&#xff0c;它可以回答你的问题、提供帮助、分享知识等。然而&#xff0c;与ChatGPT交流时&#xff0c;你需要注意一些技巧&#xff0c;以确保你能够得到你想要的答案。首先&#xff0c;要明…

用了 ChatGPT 后,我迫不及待的问了它这 10 个问题

前言 20230208 日&#xff0c;ChatGPT 已经联手微软登录必应搜索引擎&#xff0c;谷歌、百度等巨头更是紧随其后着急麻慌的推出自己的 AI 聊天产品&#xff0c;有理由相信&#xff0c;传统搜索引擎时代已经结束&#xff0c;不远的未来&#xff0c;每个人家里都会有一个可以陪你…

ChatGPT百科全书,你的问题都可以在这里找到答案

我花了一周时间整理了一份ChatGPT百科全书&#xff1b; 涵盖了账号篇/prompt指令学习、模板/花式玩法/AI工具库/高分插件/90种chatgpt挣钱方法/研报等&#xff1b;基本对chatgpt的所有问题都可以在这里面找到答案&#xff1b; 传送门&#xff1a;Docshttps://xum666e6ro.feis…

ChatGPT研究框架(2023)

开发者&#xff08;KaiFaX&#xff09; 面向全栈工程师的开发者 专注于前端、Java/Python/Go/PHP的技术社区 ChatGPT市场反应热烈&#xff0c;国内外巨头纷纷入场 据统计&#xff0c;ChatGPT日活跃用户数的增速远超Instagram&#xff0c;1月份平均每天有超过1300万名独立访问者…

【关于ChatGPT的30个问题】30、ChatGPT未来的发展趋势是什么?/ By 禅与计算机程序设计艺术

30、ChatGPT未来的发展趋势是什么? 目录 30、ChatGPT未来的发展趋势是什么? ChatGPT未来发展趋势

ChatGPT研究(一)——AI平民化的里程碑

✏️写作&#xff1a;个人博客&#xff0c;InfoQ&#xff0c;掘金&#xff0c;知乎&#xff0c;CSDN &#x1f4e7;公众号&#xff1a;进击的Matrix &#x1f6ab;特别声明&#xff1a;创作不易&#xff0c;未经授权不得转载或抄袭&#xff0c;如需转载可联系小编授权。 前言 …

Claude Prompt工程 -- chatgpt最强对手

github地址&#xff1a;GitHub - Jerenyaoyelu/claude-prompt-engineering: Claude AI Prompt engineering. Learn to use Claude well. 一些使用claude的提示工程心得 文章目录 一、Claude 自我介绍 二、对比 Chatgpt 优势 三、如何使用 四、文档QA能力 五、视频 QA 能力 六、…

【AI实战】训练一个自己的ChatGPT

【AI实战】训练一个自己的ChatGPT 准备环境代码模型 数据集Belle下载 Belle 的开源中文数据集&#xff08;仅限研究使用&#xff0c;禁止商用&#xff01;&#xff09;清洗自己的数据集上述工作完成后&#xff0c;大概是这样子的 训练测试参考 本文使用 Alpaca-LoRA 来训练一个…

ChatGPT探索系列之三:探究ChatGPT的训练、优化和应用方法

文章目录 前言一、ChatGPT训练原理二、采样和微调阶段三、采样和训练奖励模型阶段三、采样和训练奖励模型阶段总结 前言 ChatGPT发展到目前&#xff0c;其实网上已经有大量资料了&#xff0c;博主做个收口&#xff0c;会出一个ChatGPT探索系列的文章&#xff0c;帮助大家深入了…

想让 ChatGPT 帮忙进行数据分析?你还需要做......

近年&#xff0c;火出圈的 ChatGPT 掀起了久违的人工智能的热潮&#xff0c;如何更好地让人工智能真正为企业所用&#xff0c;也成了近期的热门话题。大数据和人工智能两者相辅相成&#xff0c;人工智能的训练以大量数据作为基础&#xff0c;而数据的价值则需要人工智能的充分挖…

高频交易与量化交易到底有什么区别?

高频交易也可以说是量化交易&#xff0c;但是量化交易可不仅仅是高频交易。或者说&#xff0c;高频交易是量化交易中的一个部分&#xff0c;一种形式。都是资本市场和计算机领域快速发展的必然产物。 近些年来国内的大数据产业链和芯片的迅猛发展&#xff0c;投资所需的大型数…

外汇量化交易之高频交易策略

很多投资者对外汇高频交易策略一知半解今日小恩与大家聊聊高频交易策略。 外汇高频交易策略是什么&#xff1f; 字面意思也可以理解&#xff0c;高频率做单的外汇交易方式。高频交易是自动化交易的一种形式&#xff0c;它利用复杂的计算机技术和软件系统以极快的速度快速执行…

《量化交易》

量化交易到底是如何帮助大家赚钱的呢&#xff1f; 很多人都会觉得在如今的投资市场上&#xff0c;币圈的量化交易好像非常的神秘&#xff0c;也营造出一种神话的形象&#xff0c;今天就为大家详细的介绍一下&#xff0c;到底什么是量化交易&#xff0c;怎么样才能够有效获得稳定…

股票量化交易-获取数据的N种方法

来源&#xff1a;萧遥量化 作者&#xff1a; sally 在上一篇的基础上再分享两个量化股票需要的数据资源。 通过python第三方库pytdx获取 这是个很强大的第三方库&#xff0c;原理是解析通达信的.dat底层数据。没错&#xff0c;我说的就是老少皆宜&#xff0c;平时看盘下单的…

MT4_应用于外汇交易的量化模型

MT4_应用于外汇交易的量化模型 你好&#xff01;欢迎浏览本文章模型设计的数据来源历史数据的提取与处理历史数据的选取与提取历史数据的处理 寻找符合涨跌要求的历史数据段对已选取时间段的值进行技术分析对每个时间段的值及技术指标值进行绘图调用所有函数并运行 数据指标的分…