一文读懂ChatGPT中的强化学习

原创 陈芝麻 2023-10-20 07:54

ChatGPT基于OpenAI的GPT-3.5创造,是InstructGPT的衍生产品,它引入了一种新的方法,将人类反馈纳入训练过程中,使模型的输出与用户的意图更好地结合。在openAI的2022年论文《通过人类反馈训练语言模型以遵循指令》中来自人类反馈的强化学习(RLHF)进行了深入描述

创建者将监督学习和强化学习相结合来微调ChatGPT,强化学习组件是ChatGPT的独到之处。研究人员使用了 “根据人类反馈强化学习(Reinforcement Learning from Human Feedback ,RLHF)”的特殊技术,在训练环路中使用人类反馈来尽量减少有害的、不真实的和/或有偏差的输出。

该方法包括以下三个步骤:

第一步:带监督的微调,预训练语言模型对由标注人员管理的相对较少的演示数据进行微调,以学习监督策略(SFT模型),根据选定的提示列表生成输出,这表示基线模型。

第二步:“模仿人类偏好” :要求人员对相对较多的SFT模型输出进行投票,创建一个由比数据组成的新数据集。在数据集上训练一个新的奖励模型(RM)。

第三步:近端策略优化(PPO):对奖励模型进一步微调改进SFT模型。这一步的结果就是所谓的策模型。

步骤1只进行一次,而步骤2和步骤3可以连续迭代:在当前的最佳策略模型上收集更多的比较数据,训练出一个新的奖励模型,然后在此基础上再训练出一个新的策略。

带监督的微调(SFT)模型

首先是收集演示数据,以训练一个带监督的策略模型,称之为SFT模型。

· 数据收集:选择一份提示列表,要求一组人工标注人员写下预期的输出响应。ChatGPT使用了两种不同的提示来源:一些是直接从标注人员或开发人员那里获取到的的,一些是从OpenAI的API请求中取样的(即来自GPT-3客户)。整个过程速度缓慢并且代价昂贵,输出结果是一个相对较小的、高质量的管理数据集(大概大约有12-15k个数据点),将利用该数据集微调预先训练的语言模型。

· 模型选取:开发人员选择了在GPT-3.5系列中选择一个预训练模型,而不是对原来的GPT-3模型进行微调。可使用最新的基线模型——text-davinci-003,这也是一个GPT-3模型,对主要的编程代码进行微调。

由于这一步的数据量有限,在此过程之后获得的SFT模型很可能输出用户不太关注的文本,而且往往会出现错位的问题。这里的问题是,监督学习这一步存在很高的可扩展性成本。

为了克服上述问题,利用人工标记创建一个更大的数据集,这个速度缓慢而代价昂贵的过程,采用一个新的策略,为人工标记的SFT模型输出创建一个奖励模型——在下面的内容中进行更详细的解释。

奖励模型

在步骤 1 中训练 SFT 模型后,该模型会对用户提示生成更一致的响应。接下来是训练奖励模型,其中模型输入是一系列提示和响应,输出是一个缩放值,称为奖励。需要奖励模型以利用强化学习,在强化学习中模型学习产生输出以最大化其奖励。

直接从数据中学习出一个目标函数(奖励模型)。这个函数的目的是给SFT模型的输出给出一个分值,这一分值与人类对输出的可取程度成比例。在实践中,这将反映出选定的标记人员群体的具体偏好和他们同意遵循的准则。最后,这一过程将从数据中提取出一个模仿人类偏好的自动回答系统。其工作原理如下:

选择一个提示列表,SFT模型为每个提示生成多个SFT 模型输出(在4个到9个之间)。

标注人员将输出从好到坏进行排序,结果是生成一个新的标记数据集,其中的排名是标记。这个数据集的大小大约是SFT模型数据集的10倍。

利用这些新数据训练一个奖励模型(RM)。该模型将某些SFT模型输出作为输入,并根据人类偏好对它们进行排序。

对于标注者来说,对输出进行排序比从头开始生成它们要容易得多,因此这个过程的缩放效率会更高。在实践中,从30-40k个提示符(prompts)中生成一个数据集,要求将这些输出从最好到最差进行排名,创建输出排名组合。在排名阶段,将不同标注的输出呈现给不同的提示符。

利用近端策略优化(PPO)算法微调SFT模型

接下来,利用强化学习微调SFT策略,让它优化奖励模型。模型会收到随机提示并返回响应。响应是使用模型在步骤 2 中学习的“策略”生成的。策略表示机器已经学会使用以实现其目标的策略;在这种情况下,最大化其奖励。基于在步骤 2 中开发的奖励模型,然后为提示和响应对确定缩放器奖励值。然后奖励反馈到模型中以改进策略。所使用的算法为近端策略优化(PPO)算法,而微调后的模型称为PPO模型。

2017 年,舒尔曼等人。引入了近端策略优化 (PPO),该方法用于在生成每个响应时更新模型的策略。PPO 包含来自 SFT 模型的每个代币 Kullback–Leibler (KL) 惩罚。KL 散度衡量两个分布函数的相似性并对极端距离进行惩罚。在这种情况下,使用 KL 惩罚会减少响应与步骤 1 中训练的 SFT 模型输出之间的距离,以避免过度优化奖励模型和与人类意图数据集的偏差太大。PPO算法的具体实现已经在前文4.4 节中进行了描述,这种方法的要点:

· PPO是一种用于训练强化学习中智能体的算法,为策略算法,正如DQN(深度q网络)等算法一样,它直接从当前策略中学习和更新策略,而非从过去的经验中学习算法。PPO根据智能体所采取的行动和它所获得的奖励,不断地调整当前的政策。

· PPO使用置信区间优化方法对策略进行训练,它将策略的变化限制在与先前策略的一定距离内,以确保稳定性。这与其他策略梯度方法相反,其他策略梯度方法有时会对策略进行大量更新,从而使学习不稳定。

· PPO使用价值函数来估计给定状态或动作的预期回报。利用价值函数计算优势函数,它表示期望回报和当前回报之间的差值,使用优势函数通过比较当前策略所采取的动作与先前策略的本应采取的动作来更新策略,PPO能够根据动作的估计值对策略进行更明智的更新。

在该步骤中,由SFT模型初始化PPO模型,由奖励模型初始化价值函数。该环境是一个强盗环境( bandit environment),它显示一个随机的提示符,并期望对该提示符作出响应。给出提示和反响应之后,会生成奖励(由奖励模型决定)。在每个标注的SFT模型中添加各个标记的KL惩罚,以优化奖励模型。

结论:

ChatGPT引入了强化学习近端策略优化(PPO)算法微调SFT模型,将人类反馈纳入模型训练过程中,从而大幅度提高了模型训练的准确度。

 扫码有惊喜:

陈芝麻 Altium Designer 22 电路设计与仿真实战从入门到精通一书作者
评论
  •  光伏及击穿,都可视之为 复合的逆过程,但是,复合、光伏与击穿,不单是进程的方向相反,偏置状态也不一样,复合的工况,是正偏,光伏是零偏,击穿与漂移则是反偏,光伏的能源是外来的,而击穿消耗的是结区自身和电源的能量,漂移的载流子是 客席载流子,须借外延层才能引入,客席载流子 不受反偏PN结的空乏区阻碍,能漂不能漂,只取决于反偏PN结是否处于外延层的「射程」范围,而穿通的成因,则是因耗尽层的过度扩张,致使跟 端子、外延层或其他空乏区 碰触,当耗尽层融通,耐压 (反向阻断能力) 即告彻底丧失,
    MrCU204 2025-01-17 11:30 186浏览
  • 数字隔离芯片是一种实现电气隔离功能的集成电路,在工业自动化、汽车电子、光伏储能与电力通信等领域的电气系统中发挥着至关重要的作用。其不仅可令高、低压系统之间相互独立,提高低压系统的抗干扰能力,同时还可确保高、低压系统之间的安全交互,使系统稳定工作,并避免操作者遭受来自高压系统的电击伤害。典型数字隔离芯片的简化原理图值得一提的是,数字隔离芯片历经多年发展,其应用范围已十分广泛,凡涉及到在高、低压系统之间进行信号传输的场景中基本都需要应用到此种芯片。那么,电气工程师在进行电路设计时到底该如何评估选择一
    华普微HOPERF 2025-01-20 16:50 76浏览
  • 现在为止,我们已经完成了Purple Pi OH主板的串口调试和部分配件的连接,接下来,让我们趁热打铁,完成剩余配件的连接!注:配件连接前请断开主板所有供电,避免敏感电路损坏!1.1 耳机接口主板有一路OTMP 标准四节耳机座J6,具备进行音频输出及录音功能,接入耳机后声音将优先从耳机输出,如下图所示:1.21.2 相机接口MIPI CSI 接口如上图所示,支持OV5648 和OV8858 摄像头模组。接入摄像头模组后,使用系统相机软件打开相机拍照和录像,如下图所示:1.3 以太网接口主板有一路
    Industio_触觉智能 2025-01-20 11:04 157浏览
  • 高速先生成员--黄刚这不马上就要过年了嘛,高速先生就不打算给大家上难度了,整一篇简单但很实用的文章给大伙瞧瞧好了。相信这个标题一出来,尤其对于PCB设计工程师来说,心就立马凉了半截。他们辛辛苦苦进行PCB的过孔设计,高速先生居然说设计多大的过孔他们不关心!另外估计这时候就跳出很多“挑刺”的粉丝了哈,因为翻看很多以往的文章,高速先生都表达了过孔孔径对高速性能的影响是很大的哦!咋滴,今天居然说孔径不关心了?别,别急哈,听高速先生在这篇文章中娓娓道来。首先还是要对各位设计工程师的设计表示肯定,毕竟像我
    一博科技 2025-01-21 16:17 105浏览
  • 2024年是很平淡的一年,能保住饭碗就是万幸了,公司业绩不好,跳槽又不敢跳,还有一个原因就是老板对我们这些员工还是很好的,碍于人情也不能在公司困难时去雪上加霜。在工作其间遇到的大问题没有,小问题还是有不少,这里就举一两个来说一下。第一个就是,先看下下面的这个封装,你能猜出它的引脚间距是多少吗?这种排线座比较常规的是0.6mm间距(即排线是0.3mm间距)的,而这个规格也是我们用得最多的,所以我们按惯性思维来看的话,就会认为这个座子就是0.6mm间距的,这样往往就不会去细看规格书了,所以这次的运气
    wuliangu 2025-01-21 00:15 189浏览
  • 临近春节,各方社交及应酬也变得多起来了,甚至一月份就排满了各式约见。有的是关系好的专业朋友的周末“恳谈会”,基本是关于2025年经济预判的话题,以及如何稳定工作等话题;但更多的预约是来自几个客户老板及副总裁们的见面,他们为今年的经济预判与企业发展焦虑而来。在聊天过程中,我发现今年的聊天有个很有意思的“点”,挺多人尤其关心我到底是怎么成长成现在的多领域风格的,还能掌握一些经济趋势的分析能力,到底学过哪些专业、在企业管过哪些具体事情?单单就这个一个月内,我就重复了数次“为什么”,再辅以我上次写的:《
    牛言喵语 2025-01-22 17:10 68浏览
  • 本文介绍瑞芯微开发板/主板Android配置APK默认开启性能模式方法,开启性能模式后,APK的CPU使用优先级会有所提高。触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。源码修改修改源码根目录下文件device/rockchip/rk3562/package_performance.xml并添加以下内容,注意"+"号为添加内容,"com.tencent.mm"为AP
    Industio_触觉智能 2025-01-17 14:09 167浏览
  • Ubuntu20.04默认情况下为root账号自动登录,本文介绍如何取消root账号自动登录,改为通过输入账号密码登录,使用触觉智能EVB3568鸿蒙开发板演示,搭载瑞芯微RK3568,四核A55处理器,主频2.0Ghz,1T算力NPU;支持OpenHarmony5.0及Linux、Android等操作系统,接口丰富,开发评估快人一步!添加新账号1、使用adduser命令来添加新用户,用户名以industio为例,系统会提示设置密码以及其他信息,您可以根据需要填写或跳过,命令如下:root@id
    Industio_触觉智能 2025-01-17 14:14 125浏览
  • 嘿,咱来聊聊RISC-V MCU技术哈。 这RISC-V MCU技术呢,简单来说就是基于一个叫RISC-V的指令集架构做出的微控制器技术。RISC-V这个啊,2010年的时候,是加州大学伯克利分校的研究团队弄出来的,目的就是想搞个新的、开放的指令集架构,能跟上现代计算的需要。到了2015年,专门成立了个RISC-V基金会,让这个架构更标准,也更好地推广开了。这几年啊,这个RISC-V的生态系统发展得可快了,好多公司和机构都加入了RISC-V International,还推出了不少RISC-V
    丙丁先生 2025-01-21 12:10 118浏览
  •  万万没想到!科幻电影中的人形机器人,正在一步步走进我们人类的日常生活中来了。1月17日,乐聚将第100台全尺寸人形机器人交付北汽越野车,再次吹响了人形机器人疯狂进厂打工的号角。无独有尔,银河通用机器人作为一家成立不到两年时间的创业公司,在短短一年多时间内推出革命性的第一代产品Galbot G1,这是一款轮式、双臂、身体可折叠的人形机器人,得到了美团战投、经纬创投、IDG资本等众多投资方的认可。作为一家成立仅仅只有两年多时间的企业,智元机器人也把机器人从梦想带进了现实。2024年8月1
    刘旷 2025-01-21 11:15 502浏览
  •     IPC-2581是基于ODB++标准、结合PCB行业特点而指定的PCB加工文件规范。    IPC-2581旨在替代CAM350格式,成为PCB加工行业的新的工业规范。    有一些免费软件,可以查看(不可修改)IPC-2581数据文件。这些软件典型用途是工艺校核。    1. Vu2581        出品:Downstream     
    电子知识打边炉 2025-01-22 11:12 65浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦