作者简介 作者:Surika 原文: https://zhuanlan.zhihu.com/p/616708590
*封面由new bing创作,prompt为depicting pictures about reinforcement learning based on human feedback, impressionism style.
之前提到的PG算法,我们有一个agent,他与环境互动,然后学习更新,这个过程中的policy都是同一个。因此,当我们更新参数之后,之前计算的策略的所有概率就都不对了,这时候就需要重新去采样。之前采样出来的数据都不能用了,换句话说,过程中的数据都只能用一次。这就造成了policy gradient会花很多时间在采样数据上,因为所有的数据都只能更新一次,更新一次之后就要重新采样。
因此,有了PPO算法的改进原因。我们希望可以用一个旧策略收集到的数据来训练新策略,这意味着我们可以重复利用这些数据来更新策略多次,效率上可以提升很多。具体来说,PPO算法利用重要性采样的思想,在不知道策略路径的概率p的情况下,通过模拟一个近似的q分布,只要p同q分布不差的太远,通过多轮迭代可以快速参数收敛
重要性采样的过程如下。开始时x服从于p(x)分布,可以展开为对px计算积分,然后分子分母同乘q(x),通过变形,调整为从q采样x,并且需要承上一个权重p(x)比q(x),来修正p q两个分布之间的差异。
总结来说,近线策略优化算法PPO 即属于AC框架下的算法,在采样策略梯度算法训练方法的同时,重复利用历史采样的数据进行网络参数更新,提升了策略梯度方法的学习效率。PPO重要的突破就是在于对新旧新旧策略器参数进行了约束,希望新的策略网络和旧策略网络的越接近越好。近线策略优化的意思就是:新策略网络要利用到旧策略网络采样的数据进行学习,不希望这两个策略相差特别大,否则就会学偏。
但重要性采样依然存在一个问题。我们用q代替了p来采样x,但是两个随机变量的分布,即使均值mean一样,也不代表方差variance一样。推导过程可以看左边的公式。第一行是我们上一页ppt推出来的结论。根据黄色框中的方差计算的方法,我们可以写出第三行到第四行的公式。根据这个推导过程可以看见,两个方差之间存在这差异p(x)比q(x),因此,如果p(x)比q(x)的数值很大,就会造成方差很大。理论上来说,如果采样次数很多,p和q得到的期望会是一样的。但如果采样次数不够多,就可能会有很大的差别。
直观的用右边的图来说明一下。蓝线是p(x)的分布,绿线是q(x)的分布,红线是f(x)。以分布来说,p(x)采样的点多数在左边,f(x)是负的;但q(x)采样的点多数在右边,是正的。因此,采样样本数不多的情况,两者之间差异会很大。
上面的是不能重用数据的版本,强化学习中称为on policy。用theta策略与环境互动,采样出轨迹
并计算期望值。下面是可以重用的版本,用
与环境互动。它是另一个agent,用于示范给要更新的 看,让 知道与环境互动会发生的情况,以此来训练 ,这时候轨迹使用 来采样的,这么做的优点是可以利用相同的数据多次。应用我们前面介绍的重要性采样的思想,只要乘上权重p(x)比q(x),用在这里也就是
比上根据一系列的推导和演化,我们可以得到最后这个公式,一个新的目标函数。这个推导是根据蓝色框里的公式来的。
我们前面也提到了,在重要性采样中,如果用于采样的和需要更新的两个策略分布差距太大,就会出问题,具体到PG的场景中,也就是不能让
差异过大。如何避免的方式就是我们最后的主角:PPO算法。为了不让差异过大,PPO的解法是在里面加入一个约束项,也就是
KL散度简单来说就是衡量二者有多相似,我们希望这两个分布越像越好。
算法的步骤如下:
第一步:初始化Policy的参数
2.在每次迭代中,首先使用
与环境互动,得到一堆数据对, 计算优势函数,我们这里可以理解成奖励。而不同于PG算法只能应用一次数据,PPO可以多次训练
。目标函数即中间这个式子。
这里还有一个trick,即动态更新
。我们设置一个可以接受的最大、最小KL,成为适应性KL惩罚。如果目前的KL大于设定的KL最大值,说明惩罚项没有发挥效果,就加大 ;如果比最小值小,说明惩罚项太强了,就减少使用KL散度的是初版的PPO算法,因为要计算KL散度还是有点复杂,因此延伸出了PPO2算法。
它的目标函数由两项组成,需要选择两项里的较小项。clip函数中有三项,它的意思是当第一项小于第二项时回传
,当第一项大于第三项时回传 ,这里 是个超参数。我们将clip处理的部分画成了图,即蓝色虚线。横轴是三项里的第一项,
,纵轴是clip的实际输出。当clip大于时,输出;输出小于时,输出;介于中间时,直接输出值。红线是取值范围。看着两个图,A我们先当成奖励reward理解。直观来看,奖励大于0时,说明这个s,a对是好的,我们希望增加他出现的概率,也就是
越大越好,但的比值不能超过;奖励小于0时,说明这个s,a对是不好的,我们希望增加他减少的概率,也就是越小越好,但的比值不能小于这是PPO的论文给出的实验结果,紫色的线是PPO2的效果,基本都是在第一第二的位置上,效果是非常不错的。
在了解了最基本的强化学习之后,我们再来对比一下RL和RLHF的区别和联系。
上面的图是前面出现过的基本强化学习的概念,下面是RLHF的示意图。可见其中的元素和概念基本是共享的,而不同的也就是红框中的部分,在agent和environment之前,出现了第三个可以参与交互的对象:人类,并由其衍生了一系列步骤。
实际上,RLHF并不是突然出现的事物,最早在2017年的NIPS就出现了这一思想。而在2020年的NIPS上,OpenAI已经尝试将其用于文本摘要任务,并取得了很好的效果。图中可见,RLHF的步骤框架从2020年这篇工作开始,就基本确定了。
这篇工作针对的是奖励函数设计的问题。奖励函数设计是强化学习中的一个难题。从本质上讲,奖励函数是对任务目标的一种抽象,也是我们向 agent 传达任务目标的桥梁。当任务非常复杂时,很难将目标转化为奖励函数这种形式化、数字化的表征。试想一下,如何为煎鸡蛋这个任务设计奖励函数?虽然将煎鸡蛋这个任务数字化抽象为奖励函数很困难,但是我们人类执行这个任务则没什么难度,也就是说,我们可以以相对低的成本获取很多完成这个任务的专家轨迹,这样我们就可以做模仿学习(IL),比如我们可以先用逆强化学习(IRL)方法从专家轨迹中恢复奖励函数,再用这个奖励函数做 RL。这种方法虽然有效,但是仍存在限制,假如任务太难了,以至于普通人很难完成呢?比如遥控玩具飞机做特技,或者控制一个虚拟机器人后空翻,这些特殊任务需要训练有素的专业人士提供专家轨迹,成本就又上去了。注意到从提供奖励函数到提供任务轨迹,我们降低了对人能力的要求,从而降低成本。按这个思路继续下去,虽然我们不能给出复杂任务的完整轨迹,但是评估某条轨迹的效果还是比较容易的。比如后空翻任务,我们一眼就能看出某段轨迹是不是后空翻,并且能对完成质量给出大概的评估。显然,可以把这个评估作为这一段轨迹的 return,执行 MC 类的 RL 方法。这看起来好像不错,但我们普通人不是专业裁判,且通常没有一个详尽的评价标准,难以给出稳定的定量评估分数。于是我们再次降低要求,只要人类定性地对比两条轨迹哪个比较好就行了。
本文提出的就是一种利用上述 “人类偏好” 进行 DRL 的方法,非正式地说, agent 的目标是通过向人类发出尽量少的偏好比较请求,生成人类喜欢的轨迹。
考虑通过一系列步骤与环境交互的代理:在每个时刻t,代理从环境中接收到一个观测o,然后向环境发送一个动作a,轨迹片段是观察和动作组成的序列。
表示相比代表的意思是,o1 a1获得的reward要大于o2 a2获得的reward。。(论文中使用的是偏序关系的符号大于,这里为了打字方便直接用>代替了)这里在之前的RL工作中,r是有定量的评估公式的。但像在上一页里介绍的,我们现在没有定量评估所需的奖励函数r,就只能定性评估agent满足人咧偏好的程度。此外还有一个问题,因为系统很难每次重置成同样的状态,因此用于比较的轨迹片段通常从不同的状态开始,这增加了人类比较评估的难度,也使得人类的比较结果更难解释,但是本方法克服了此困难。
优化策略使用偏好诱导,人类的判断记录在一个三元组
是两段轨迹片段,是{1,2}上的分布,表示用户首选的轨迹片段。如果人类选择一个轨迹片段作为首选,则
将其所有权重放在该选择上;如果人类将片段标记为同样好的选择,则 是均匀分布;如果人类将片段标记为不可比较,则数据库中不包含此比较。最后是拟合奖励函数,我们将奖励函数的估计值解释为偏好预测器,最小化预测偏好分布和实际人类偏好分布之间的交叉熵损失。
实验结果也非常的好。更形象的结果展示,可以看这个openai博客里发布的视频https://openai.com/research/learning-from-human-preferences
对这篇文章更详细的解读可以参考:
论文翻译 -- Deep Reinforcement Learning from Human Preferences
论文理解【IL - IRL】 -- Deep Reinforcement Learning from Human Preferences
这篇工作是OpenAI早于ChatGPT两年发表在NeurIPS 2020,在这篇文章中ChatGPT的框架雏形已经显现。文章专注于英文摘要任务,所用的方法和ChatGPT基本一致,包括了ChatGPT的核心方法,RLHF。这篇工作在知乎上也有许多介绍,我做PPT的时候主要参考了以下两篇:
读论文:Learning to summarize from human feedback
ChatGPT技术精要,RLHF相关论文笔记(一)——Learning to summarize from human feedback
这篇工作解决的问题聚焦在不合理的评价指标上,在文本生成领域这同样是一个棘手的问题。随着语言模型变得越来越强大,训练和评估越来越受到用于特定任务的数据和指标的限制。例如,摘要任务训练模型使用ROUGE等一些自动化指标进行评估,但这些指标都不能完全刻画我们对摘要质量的需求。传统的通过监督学习和最大化对数似然并不是一个好的方法。因为在摘要、翻译等任务中,可能同时有几个相差很大的输出文本都是高质量的输出,而最大化对数似然只会迫使模型输出去接近训练集reference里的那个版本的文本。这篇文章专注于英文摘要任务,不采用极大化词的对数似然损失,而是利用收集到的human feedback数据通过监督学习专门训练一个打分模型来直接捕获人类的偏好,然后再使用这个模型通过强化学习来训练生成模型。
本研究使用来自 Reddit 的 TL;DR 摘要数据集,该数据集包含 3M 的帖子文本以及相应的摘要信息。通过一系列数据预处理,我们仅保留了包含 24 到 48 个 token 的人工编写摘要的帖子,并将摘要长度最大化以减少长度对质量的潜在影响。最终,我们获得了一个包含 123,169 个帖子的数据集。选择 CNN/DM 数据集的原因是该数据集的基线非常强,可以通过简单的提取方法实现。
本研究的目标是生成质量尽可能好、长度不超过 48 个 token 的摘要。摘要的质量标准是能够准确地传达原文的内容,以满足只读摘要不读原文的读者的需求。
前一项研究报告了“我们希望我们的模型学习的质量概念和人工标注人员实际评估的质量概念之间的不匹配”,导致模型生成的摘要在标注员看来是高质量的,但在研究人员看来却是相当低质量的。
与前一项研究相比,本研究采取了两个措施来提高人工标注数据的质量。首先,我们完全过渡到离线设置,向人工标注人员发送大批次的比较数据,并在累积的数据上重新训练模型。其次,我们与标注员保持密切联系,为他们提供详细的指导,回答他们在共享聊天室中的问题,并定期向他们提供反馈。我们对所有标注员进行了培训,以确保他们的标注结果与我们的标准高度一致,并在项目过程中不断监测标注员和研究人员之间的一致性。
最后,我们的一致性数据非常良好,标注员与专家之间的一致性达到了77%,而专家之间的一致性达到了73%。我们的主干模型采用了 GPT-3 结构,并在 1.3B 和 6.7B 两个参数量的模型上进行了 Human Feedback 实验。
首先,对LM进行自回归预训练是第一步。这包括对两个模型进行LM的token预测自回归预训练,并在构建的摘要数据集上对模型进行有监督的fine-tune,以获得监督模型。使用这些监督模型对初始摘要进行抽样,以进行比较,并将其用作baseline来收集多个候选的原文-摘要对数据。这些数据基于当前策略、初始策略、原文摘要和其他不同的baseline生成,并成对发送给标注人员来选择最佳的那一个。
其次,利用第一步标注好的数据来训练一个奖励模型,以模拟人类偏好。在监督模型的基础上进行奖励模型(RM)的训练,是通过在其上增加一个输出标量的线性head来实现的。训练结束后将reward模型输出归一化,以便参考文章数据的摘要达到0的平均分。
公式里x是post,y0和y1是两个summary, reward model要预测哪个是人类认为更好地。如果人类认为yi更好,RM loss写成这个公式。
第三步是利用第二步训练得到的奖励模型输出的logit来引导强化学习过程,从而训练摘要生成模型。这是通过使用强化学习来实现的,并且用于生成最终结果的模型(策略模型)是另一个进行fine-tune的模型。通过将奖励模型的输出作为使用PPO算法最大化的整个摘要的奖励,在每个时间步骤都是一个BPE token。只有在整个摘要生成完之后,才会有可用于监督信号的reward。在生成单个单词时,没有监督信号可用。
作者在奖励中加入了一个KL散度惩罚项,具有以下两个好处。首先,它可以作为熵奖励,鼓励策略进行探索,从而防止其坍塌为单一模式。其次,它确保策略不会学习产生与奖励模型在训练期间看到的结果有太大不同的输出,从而防止模型训飞了。
左上角是人工评估最喜欢的输出,纵坐标是被选为最喜欢的比例。可见HF的结果大大超越了监督学习的结果。
右上角是文章还从覆盖度、准确度、流畅性、整体质量四个方面对各模型的结果进行了对比。发现HF模型在每一个方面都有优势,而且在覆盖度方面很突出。
左下角是泛化性评估。评估模型在其他数据集上的迁移能力(OOD)。虽然HF在训练时有生成长度的限制,但是从结果可以看到,模型的效果基本和相同结构模型在目标领域数据上训练的结果一样好,比另外两个模型好出一大截。
HF的迁移性能也非常优秀,接近了监督学习的效果。反观监督学习的迁移效果很差,甚至还不如pretrain only。
右下角表示利用ROUGE作为reward来优化模型,人类评估效果上会很快就达到峰值,并稳步下降,收敛。效果相比其他RM的差了很多
虽然作者提出的方法效果非常好,但是作者在文末也承认了这篇工作的方法资源消耗巨大,达到了320 GPU / 天和数千小时的人工标注时间。这个成本确实不是一般研究团队所能承受的了的,目前来看对于硬件,人力成本和时间成本的消耗是其最大的局限性。但是其应用前景非常广阔,给模型注入人类的偏好,让大模型更好地对齐人。ChatGPT的巨大成功也证明了这一方法可行性。
有了前面两篇的铺垫,我们就可以正式来看chatgpt是怎么做的了。
第一步是花钱招人给问题(prompt)写回答(demonstration),使用经典的预训练目标训练一个语言模型GPT3。这一步大家都懂,就不用说了。这一步可以多训几个版本,第二步会用到。
这一步里比较值得说的就是预训练模型的选择。首先,我们。对这一步的模型,OpenAI 在其第一个流行的 RLHF 模型 InstructGPT 中使用了较小版本的 GPT-3; Anthropic 使用了 1000 万 ~ 520 亿参数的 Transformer 模型进行训练;DeepMind 使用了自家的 2800 亿参数模型 。
这里可以用额外的文本或者条件对这个 LM 进行微调,例如 OpenAI 对 “更可取” (preferable) 的人工生成文本进行了微调,而 Anthropic 按 “有用、诚实和无害” 的标准在上下文线索上蒸馏了原始的 LM。这里或许使用了昂贵的增强数据,但并不是 RLHF 必须的一步。由于 RLHF 还是一个尚待探索的领域,对于” 哪种模型” 适合作为 RLHF 的起点并没有明确的答案。
接下来,我们会基于 LM 来生成训练奖励模型的数据,并在这一步引入人类的偏好信息。
在第二部中,针对问题的多个回答,我们可以使用多个模型来产生,包括初始模型、finetune模型和人工模型等,然后使用奖励模型/偏好模型来对这些回答进行打分。这个奖励模型接收prompt和response两个文本作为输入,输出一个标量奖励。奖励模型的训练是RLHF流程中非常重要的一个环节,实际上是一个监督学习过程。
在RM的训练过程中,我们可以从Prompt数据集中选取一些数据作为训练集,在输入初始模型后,可以产生多个response,这些response可以是多个语言模型生成的,也可以是generate之后采样得到的,只要保证这些response是针对同一个prompt生成的即可。接下来,我们需要对这些response进行排名,人工对这些回答进行排序,按照一些标准(比如可读性、正确性等)进行排序。这里需要注意,我们不直接对文本标注分数来训练RM,因为标注者的价值观不同会导致标注分数不准确且存在噪音。相反,我们使用排名来比较多个模型的输出,并构建更好的规范数据集。
对于排名方式,一种成功的方式是对不同模型在相同提示下的输出进行比较,并使用Elo系统建立一个完整的排名。使用pair-wise loss将rank计算为具体的分数,然后归一化为标量奖励值。InstructGPT论文使用的是pair-wise loss,也可以使用经典的ELO算法来实现。通过这些排名结果,我们可以得到针对同一个prompt的response的分数,这些分数将被用于训练RM模型。需要注意的是,这些训练数据集可以从预定义数据集中采样生成,也可以通过Amazon Mechanical Turk等渠道获得。
最后,这一奖励模型的训练对于RLHF算法的无缝接入非常重要。我们可以用端到端的方式使用LM来建模,也可以使用模块化的系统建模。这一奖励数值对于后续的RL算法来说至关重要。
接下来是最后一步:利用 RM 输出的奖励,用强化学习方式微调优化 LM。
最后一阶段是强化学习微调阶段。在这一步中,数据集规模更大,且不再需要人工参与。这一步的方法可以概括为以下四个部分:
首先,使用第一阶段监督模型的参数来初始化PPO模型的参数。接着,使用PPO模型生成回答,并使用第二阶段的RM模型对回答进行评估和打分。最后,通过打分,更新训练PPO模型的参数。
让我们将微调任务表述为强化学习问题。我们认为输入的prompt是状态(state),输出的response是动作(action),想要得到的策略(policy)就是怎么从prompt生成action能够得到最大的reward,也就是拟合人类的偏好。
这个策略的行为空间(action space)是语言模型(LM)的词表对应的所有词元,通常在50k数量级左右。所有的状态是可能的输入词元序列,也比较大(词汇量 ^ 输入标记的数量)。奖励函数是偏好模型和策略转变约束(Policy shift constraint)的组合。
PPO算法确定的奖励函数具体计算如下:将prompt输入初始LM和当前微调的LM,分别得到了输出文本。将来自当前策略的文本传递给RM,得到一个标量的奖励。将两个模型生成的文本进行比较,计算差异的惩罚项。在来自OpenAI、Anthropic和DeepMind的多篇论文中,该惩罚项被设计为输出词分布序列之间的KL散度的缩放。这一项被用于惩罚RL策略在每个训练批次中生成大幅偏离初始模型的文本,以确保模型输出合理连贯的文本。如果去掉这一惩罚项,可能会导致模型在优化中生成乱码文本来愚弄奖励模型提供高奖励值。此外,OpenAI在InstructGPT上实验了在PPO添加新的预训练梯度,以保证RL模型能够保留好的语言模型能力。可以预见到,随着RLHF研究的进展,奖励函数的公式会继续进化。
作为一个可选项,RLHF可以通过迭代RM和策略共同优化。随着策略模型的更新,用户可以继续将输出和早期的输出进行合并排名。Anthropic 在他们的论文中讨论了迭代在线 RLHF,其中策略的迭代包含在跨模型的 Elo 排名系统中。这样引入策略和 RM 演变的复杂动态,代表了一个复杂和开放的研究问题。
对这一部分,已经有许多非常优秀且深入的解析,例如以下两篇:
https://huggingface.co/blog/rlhf* 官方中文翻译:ChatGPT 背后的“功臣”——RLHF 技术详解
Akiko:从零实现ChatGPT——RLHF技术笔记
ChatGPT的主要成功要归结于采用RLHF来精调语言大模型。既然RLHF效果这么好,自然也有工作尝试将这个思路迁移到其他任务上。近日谷歌AI团队将类似的思路用于文生图大模型:基于人类反馈来精调Stable Diffusion模型来提升生成效果。
目前的文生图模型虽然已经能够取得比较好的图像生成效果,但是很多时候往往难以生成与输入文本精确匹配的图像,特别是在组合图像生成方面。为此,谷歌最新的论文Aligning Text-to-Image Models using Human Feedback提出了基于人类反馈的三步精调方法来改善这个问题。
该工作更详细的介绍可见 当ChatGPT和Stable Diffusion碰撞:谷歌用人类反馈提升文生图效果
下面是一些图像生成样例,也可以看出精调后的模型在文本语义对齐上的提升。
这个论文只是基于人类反馈在文生图模型上一个尝试,看起来还是有一定的效果,但是主要的问题是图像生成质量出现下降,比如出现过饱和以及失真的图像。虽然加入未标注的数据集和预训练数据集,能在一定程度上改善这个问题。
论文在120个文本上基于人类打分来对原始模型和精调后的模型来进行对比,结果如下所示,可以看到在图像和文本对齐方面,模型效果有明显的提升(50% vs 3%),但是在图像生成质量上(fidelity)有稍微的下降(MS-COCO数据集上的FID也有下降),论文认为主要的原因是设计的数据集主要目标是为了对齐文本和图像,数据集的多样性较少,而且采用的预训练数据集只是一个很小的子集,如果采用更大的数据集,应该可以进一步改善这个问题。从消融实验来看,采用未标注数据集和预训练数据集来进行正则化,对于保证图像生成质量还是非常关键的。
对于ChatGPT成功的关键,我个人认为可以总结为以下三点:
优秀的大模型
高质量数据:garbage in garbage out
Human in the loop:有多少人工就有多少智能
三者缺一不可,而其中,虽然ChatGPT为代表的RLHF技术非常有影响力,引发了巨大的关注,但仍然存在若干局限性:
RLHF 范式训练出来的这些模型虽然效果更好,但仍然可能输出有害或事实上不准确的文本。这种不完美则是 RLHF 的长期挑战和优化目标。在基于 RLHF 范式训练模型时,人工标注的成本是非常高昂的,而 RLHF 性能最终仅能达到标注人员的知识水平。
此外,这里的人工标注主要是为RM模型标注输出文本的排序结果,而若想要用人工去撰写答案的方式来训练模型,那成本更是不可想象的。
RLHF的流程还有很多值得改进的地方,其中,改进 RL 优化器显得尤为重要。PPO 是一种基于信赖域优化的相对较旧的RL算法,但没有其他更好的算法来优化 RLHF 了。
作为讨论班里技术系列的最后一期,这页PPT总结了ChatGPT背后技术的发展历程:
2017年之前早已有之的一些数学/AI/RL等基础技术,比如微积分、概率统计、最优化、策略梯度、TRPO算法(2015年提出)
2017年6月OpenAI联合DeepMind首次正式提出的RLHF,试图解决的问题是,在奖励函数不够明确的情况下,通过基于人类对事物比较的偏好而非绝对奖励值训练奖励函数,最后通过TRPO算法迭代策略
2017年7月的OpenAI团队提出的对TRPO算法的改进:PPO算法
2017年6月的Transformer/Self-Attention
2018年6月的GPT(Generative Pre-trained Transformer),其关键构成是基于Transformer-Decoder的Masked Self-Attention
2019年2月的融合prompt learning的GPT2,prompt learning的意义在于小样本也能出大效果
2020年5月的GPT3,参数规模到了1750亿,而且这一年的9月份OpenAI已经开始研究GPT3与RLHF的结合了(即上边介绍的文本摘要的工作),且此时用的策略优化方法为PPO
2021年7月的Codex,通过对GPT3进行大量的代码训练迭代而出Codex,从而具备代码/推理能力
2021年9月Google提出的FLAN大模型:基于指令微调技术Instruction Fine-Tuning (IFT)
2022年1月的Google研究者提出的思维链技术(Chain of Thought,简称CoT)
2022年3月的OpenAI正式发布instructGPT:GPT3 + 指令学习 + RLHF + PPO,其中,遵循人类指令的学习instruction learning,和prompt learning的核心区别在于instruction learning会提供更多的指令引导模型输出更符合预期的结果
2021年第4季度逐步发展而来的GPT3.5
2022年11月的ChatGPT:语言模型层面的核心架构是GPT3.5(基于Transformer-Decoder的Masked Self-Attention且融合了Codex的代码/推理能力、instruction learning等技术) + RLHF + PPO
由此可见,ChatGPT非一蹴而就、横空出世,背后其实经过了各个前置技术的发展、迭代、结合而成。在准备这期讨论班的时候GPT-4还没有发布,而在整理博客的这个节点,GPT-4在升级的同时,还新加入了多模态的能力。在这个时间节点的NLPer无可避免的站在时代的前沿,面对未知的未来发展趋势,希望这篇介绍可以帮大家更好的了解背景、思考未来、拥抱变化。
进技术交流群请添加AINLP小助手微信(id: ainlp2)
请备注具体方向+所用到的相关技术点 关于AINLP
AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP小助手微信(id:ainlp2),备注工作/研究方向+加群目的。
阅读至此了,分享、点赞、在看三选一吧🙏
联系客服