【赠书:自己动手做聊天机器人】解析ChatGPT背后的工作原理

5ac73da9785d8054a76b05b41d22cc2a.png

赠书方式见文末

作者:Marco Ramponi (选自Assembly AI) 

来源:《机器之心》 编译(编辑:王强、蛋酱)

自 ChatGPT 发布以来,已经吸引了无数人一探究竟。但 ChatGPT 实际上是如何工作的?尽管它内部实现的细节尚未公布,我们却可以从最近的研究中一窥它的基本原理。

ChatGPT 是 OpenAI 发布的最新语言模型,比其前身 GPT-3 有显著提升。与许多大型语言模型类似,ChatGPT 能以不同样式、不同目的生成文本,并且在准确度、叙述细节和上下文连贯性上具有更优的表现。它代表了 OpenAI 最新一代的大型语言模型,并且在设计上非常注重交互性。

OpenAI 使用监督学习和强化学习的组合来调优 ChatGPT,其中的强化学习组件使 ChatGPT 独一无二。OpenAI 使用了「人类反馈强化学习」(RLHF)的训练方法,该方法在训练中使用人类反馈,以最小化无益、失真或偏见的输出。

本文将剖析 GPT-3 的局限性及其从训练过程中产生的原因,同时将解释 RLHF 的原理和理解 ChatGPT 如何使用 RLHF 来克服 GPT-3 存在的问题,最后将探讨这种方法的局限性。

ac7067474617d8e0ad19ee898fbea50c.png

大型语言模型中的能力与一致性

1166fa3b4a101e458d8c024b906fe232.png

b6d2feab272e67b235c525c3165c727c.png

「一致性 vs 能力」可以被认为是「准确性 vs 精确性」的更抽象的类比。

在机器学习中,模型的能力是指模型执行特定任务或一组任务的能力。模型的能力通常通过它能够优化其目标函数的程度来评估。例如,用来预测股票市场价格的模型可能有一个衡量模型预测准确性的目标函数。如果该模型能够准确预测股票价格随时间的变化,则认为该模型具有很高的执行能力。

一致性关注的是实际希望模型做什么,而不是它被训练做什么。它提出的问题是「目标函数是否符合预期」,根据的是模型目标和行为在多大程度上符合人类的期望。假设要训练一个鸟类分类器,将鸟分类为「麻雀」或「知更鸟」,使用对数损失作为训练目标,而最终目标是很高的分类精度。该模型可能具有较低的对数损失,即该模型的能力较强,但在测试集上的精度较差,这就是一个不一致的例子,模型能够优化训练目标,但与最终目标不一致。

原始的 GPT-3 就是非一致模型。类似 GPT-3 的大型语言模型都是基于来自互联网的大量文本数据进行训练,能够生成类似人类的文本,但它们可能并不总是产生符合人类期望的输出。事实上,它们的目标函数是词序列上的概率分布,用来预测序列中的下一个单词是什么。

但在实际应用中,这些模型的目的是执行某种形式的有价值的认知工作,并且这些模型的训练方式与期望使用它们的方式之间存在明显的差异。尽管从数学上讲,机器计算词序列的统计分布可能是建模语言的高效选择,但人类其实是通过选择最适合给定情境的文本序列来生成语言,并使用已知的背景知识和常识来辅助这一过程。当语言模型用于需要高度信任或可靠性的应用程序(如对话系统或智能个人助理)时,这可能是一个问题。

尽管这些基于大量数据训练的大模型在过去几年中变得极为强大,但当用于实际以帮助人们生活更轻松时,它们往往无法发挥潜力。大型语言模型中的一致性问题通常表现为:

  • 提供无效帮助:没有遵循用户的明确指示。

  • 内容胡编乱造:虚构不存在或错误事实的模型。

  • 缺乏可解释性:人们很难理解模型是如何得出特定决策或预测的。

  • 内容偏见有害:一个基于有偏见、有害数据训练的语言模型可能会在其输出中出现这种情况,即使它没有明确指示这样做。

但具体来说,一致性问题源自何处?语言模型的训练方式本身就容易产生不一致吗?

3c2df3fa00f5bfe065cf0a9b21166f39.png

语言模型训练策略如何产生不一致?

18800e2b7e4947fe4940f3f8040570fe.png

Next-token-prediction 和 masked-language-modeling 是用于训练语言模型的核心技术。在第一种方法中,模型被给定一个词序列作为输入,并被要求预测序列中的下一个词。如果为模型提供输入句子:

“The cat sat on the”

它可能会将下一个单词预测为「mat」、「chair」或「floor」,因为在前面的上下文中,这些单词出现的概率很高;语言模型实际上能够评估给定先前序列的每个可能词的可能性。

masked-language-modeling 方法是 Next-token-prediction 的变体,其中输入句子中的一些词被替换为特殊 token,例如 [MASK]。然后,模型被要求预测应该插入到 mask 位置的正确的词。如果给模型一个句子:

“The [MASK] sat on the ”

 它可能会预测 MASK 位置应该填的词是「cat」、「dog」。

这些目标函数的优点之一是,它允许模型学习语言的统计结构,例如常见的词序列和词使用模式。这通常有助于模型生成更自然、更流畅的文本,并且是每个语言模型预训练阶段的重要步骤。

然而这些目标函数也可能导致问题,这主要是因为模型无法区分重要错误和不重要错误。一个非常简单的例子是,如果给模型输入句子:

"The Roman Empire [MASK] with the reign of Augustus." 

它可能会预测 MASK 位置应该填入「began」或「ended」,因为这两个词的出现概率都很高。

一般来说,这些训练策略可能会导致语言模型在一些更复杂的任务中出现不一致,因为一个仅被训练来预测文本序列中的下一个词的模型可能不一定会学习其含义的某些更高级表征。因此,该模型很难推广到需要对语言更深入理解的任务。

研究人员正研究各种方法来解决大型语言模型中的一致性问题。ChatGPT 基于最初的 GPT-3 模型,但为了解决模型的不一致问题,使用了人类反馈来指导学习过程,对其进行了进一步训练。所使用的具体技术就是前面提到的 RLHF。ChatGPT 是第一个将此技术用于实际场景的模型。

那 ChatGPT 是如何利用人类反馈来解决一致性问题的呢?

c2b3aa851e49be8a4625c21827d8c7eb.png

从人类反馈中进行强化学习

3c068691c59393dec1a8f78b86ab1526.png

方法总体上包括三个不同步骤:

  • 有监督的调优:预训练的语言模型在少量已标注的数据上进行调优,以学习从给定的 prompt 列表生成输出的有监督的策略(即 SFT 模型);

  • 模拟人类偏好:标注者们对相对大量的 SFT 模型输出进行投票,这就创建了一个由比较数据组成的新数据集。在此数据集上训练新模型,被称为训练回报模型(Reward Model,RM);

  • 近端策略优化(PPO):RM 模型用于进一步调优和改进 SFT 模型,PPO 输出结果是的策略模式。

步骤 1 只进行一次,而步骤 2 和步骤 3 可以持续重复进行:在当前最佳策略模型上收集更多的比较数据,用于训练新的 RM 模型,然后训练新的策略。接下来,将对每一步的细节进行详述。

 
牛逼啊!接私活必备的 N 个开源项目!赶快收藏

步骤 1:监督调优模型

     第一步是收集数据,以训练有监督的策略模型。

  • 数据收集:选择一个提示列表,标注人员按要求写下预期的输出。对于 ChatGPT,使用了两种不同的 prompt 来源:一些是直接使用标注人员或研究人员准备的,另一些是从 OpenAI 的 API 请求(即从 GPT-3 用户那里)获取的。虽然整个过程缓慢且昂贵,但最终得到的结果是一个相对较小、高质量的数据集(大概有 12-15k 个数据点),可用于调优预训练的语言模型。

  • 模型选择:ChatGPT 的开发人员选择了 GPT-3.5 系列中的预训练模型,而不是对原始 GPT-3 模型进行调优。使用的基线模型是最新版的 text-davinci-003(通过对程序代码调优的 GPT-3 模型)。

为了创建像 ChatGPT 这样的通用聊天机器人,开发人员是在「代码模型」而不是纯文本模型之上进行调优。

a1d92ebc54370f281cc20fd0445f0bf9.png

由于此步骤的数据量有限,该过程获得的 SFT 模型可能会输出仍然并非用户关注的文本,并且通常会出现不一致问题。这里的问题是监督学习步骤具有高可扩展性成本。

为了克服这个问题,使用的策略是让人工标注者对 SFT 模型的不同输出进行排序以创建 RM 模型,而不是让人工标注者创建一个更大的精选数据集。

第二步:训练回报模型

这一步的目标是直接从数据中学习目标函数。该函数的目的是为 SFT 模型输出进行打分,这代表这些输出对于人类来说可取程度有多大。这强有力地反映了选定的人类标注者的具体偏好以及他们同意遵循的共同准则。最后,这个过程将从数据中得到模仿人类偏好的系统。

它的工作原理是:

  • 选择 prompt 列表,SFT 模型为每个 prompt 生成多个输出(4 到 9 之间的任意值);

  • 标注者将输出从最佳到最差排序。结果是一个新的标签数据集,该数据集的大小大约是用于 SFT 模型的精确数据集的 10 倍;

  • 此新数据用于训练 RM 模型 。该模型将 SFT 模型输出作为输入,并按优先顺序对它们进行排序。

4595a58da0de8ac09b7e8a36c6798de5.png

对于标注者来说,对输出进行排序比从头开始打标要容易得多,这一过程可以更有效地扩展。在实践中,所选择的 prompt 的数量大约为 30-40k,并且包括排序输出的不同组合。

牛逼啊!接私活必备的 N 个开源项目!赶快收藏

步骤 3:使用 PPO 模型微调 SFT 模型

这一步里强化学习被应用于通过优化 RM 模型来调优 SFT 模型。所使用的特定算法称为近端策略优化(PPO),而调优模型称为近段策略优化模型。

什么是 PPO?该算法的主要特点如下:

  • PPO 是一种用于在强化学习中训练 agent 的算法。它被称为「on-policy」算法,因为它直接学习和更新当前策略,而不是像 DQN 的「off-policy」算法那样从过去的经验中学习。PPO 根据 agent 所采取的行动和所获得的回报不断调整策略;

  • PPO 使用「信任区域优化」方法来训练策略,它将策略的更改范围限制在与先前策略的一定程度内以保证稳定性。这与其它策略使用梯度方法形成鲜明对比,梯度方法有时会对策略进行大规模更新,从而破坏策略的稳定性;

  • PPO 使用价值函数来估计给定状态或动作的预期回报。价值函数用于计算优势函数,它代表预期收益和当前收益之间的差异。然后使用优势函数通过比较当前策略采取的操作与先前策略将采取的操作来更新策略。这使 PPO 可以根据所采取行动的估计价值对策略进行更明智的更新。

在这一步中,PPO 模型由 SFT 模型初始化,价值函数由 RM 模型初始化。该环境是一个「bandit environment」,它会产生随机 prompt 并期望对 prompt 做出响应。对于给定的 prompt 和响应,它会产生相应的回报(由 RM 模型决定)。SFT 模型会对每个 token 添加 KL 惩罚因子,以尽量避免 RM 模型的过度优化。

74922e6ec3f55eab288485a497cc2c2d.png

性能评估

因为模型是根据人工标注的输入进行训练的,所以评估的核心部分也基于人工输入,即通过让标注者对模型输出的质量评分来进行。为避免训练阶段涉及的标注者的判断过拟合,测试集使用了来自其它 OpenAI 客户的 prompt,这些 prompt 未出现在训练数据中。

该模型基于三个标准进行评估:

  • 帮助性:判断模型遵循用户指示以及推断指示的能力。

  • 真实性:判断模型在封闭领域任务中有产生虚构事实的倾向。

  • 无害性:标注者评估模型的输出是否适当、是否包含歧视性内容。

该模型还针对传统 NLP 任务(如解答问题、阅读理解和摘要)的零样本学习的性能进行了评估,开发人员发现在其中一些任务上模型的表现比 GPT-3 要差一些,这是一个「一致性税」( alignment tax) 的例子,其中基于 人类反馈强化学习的一致性程序是以降低某些任务的性能为代价的。

这些数据集的性能回归可以通过称为预训练混合的技巧大大减少:在通过梯度下降训练 PPO 模型期间,通过混合 SFT 模型和 PPO 模型的梯度来计算梯度更新。

486e8b36aff186e3382c7646232a224a.png

方法的缺点

e1f9bab477f750573d94935b5d804ed4.png

该方法的一个非常明显的局限性是,在将语言模型与人类意图保持一致的过程中,用于 fine-tuning 模型的数据会受到各种错综复杂的主观因素的影响,主要包括:

  • 生成 demo 数据的人工标注者的偏好;

  • 设计研究和编写标签说明的研究人员;

  • 选择由开发人员制作或由 OpenAI 客户提供的 prompt;

  • 标注者偏差既包含在 RM 模型训练中,也包含在模型评估中。

ChatGPT 的作者也承认一个明显的事实,即参与训练过程的标注人员和研究人员可能并不能完全代表语言模型的所有潜在最终用户。

除了这一明显的「内生」限制之外,该方法还有的一些其它缺点和需要解决的问题:

  • 缺乏对照研究:报告的结果以 SFT 模型为基准衡量最终 PPO 模型的性能。这可能会产生误导:如何知道这些改进是由于 RLHF?因此对照研究非常有必要,包括投入与用于训练 RM 模型的标注工时数完全相同的时间,以创建具有高质量数据的更大的精选有监督调优的数据集。这样就可以客观地衡量 RLHF 方法与监督方法相比的性能改进。简单来说,缺乏这样的对照研究让一个基本问题完全悬而未决:RLHF 在一致性语言模型方面真的做得很好吗?

  • 比较数据缺乏基本事实:标注者通常会对模型输出的排名持不同意见。技术上讲,产生的风险是在没有任何基本事实的情况下,向比较数据添加了很大的方差。

  • 人类的偏好并非同质:RLHF 方法将人类的偏好视为同质和静态的。假设所有人都有相同的价值观,这明显是不准确的,虽然有大量的公共价值观,但在很多事务上人类还是存在许多不同的认知。

  • RM 模型 prompt 稳定性测试:没有实验表明 RM 模型在输入 prompt 变化方面的敏感性。如果两个 prompt 在句法上不同但在语义上是等价的,RM 模型能否在模型输出的排名中显示出显著差异?即 prompt 的质量对 RM 有多重要?

  • 其它问题:在 RL 方法中,模型有时可以学会控制自己的 RM 模型以实现期望的结果,从而导致「过度优化的策略」。这可能会导致模型重新创建一些模式,因为某些未知的原因,这些模式使 RM 模型得分较高。ChatGPT 通过使用 RM 函数中的 KL 惩罚项对此进行了修补。

相关阅读:

  • 关于用于 ChatGPT 的 RLHF 方法的相关的论文:Training language models to follow instructions with human feedback(https://arxiv.org/pdf/2203.02155.pdf),它实际上详细描述了一个名为 InstructionGPT 的模型,OpenAI 称之为 ChatGPT 的「兄弟模型」。

  • Learning to summarize from Human Feedback (https://arxiv.org/pdf/2009.01325.pdf)描述了文本摘要上下文中的 RLHF。

  • PPO(https://arxiv.org/pdf/1707.06347.pdf):PPO 算法论文。

  • Deep reinforcement learning from human preferences (https://arxiv.org/abs/1706.03741)

  • DeepMind 在 Sparrow 中提出了 OpenAI RLHF 的替代方案 (https://arxiv.org/pdf/2209.14375.pdf) 和 GopherCite (https://arxiv.org/abs/2203.11147)文件。

参考内容:

https://www.assemblyai.com/blog/how-chatgpt-actually-works/?continueFlag=1bafdcd5c034def869fecb4f3bdaed70

赠送规则:添加我的企微,朋友圈点赞,送5本给到第 1、8、18、28、58个点赞的小伙伴,截止时间为2月14日10:00

f220d1ec54523e18ea0b96099dcdbe8e.png

93e433b72b8e18b310b6e55a9c8f22ea.png

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

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

相关文章

2023火爆的11门编程语言

2023火爆的11门编程语言 对于我个人来说没有语言偏好,根据不同的应用领域和需求,不同的编程语言都有其独特的优势和适用性。无论使用何种语言只要能更好的实现需求,解决痛点问题,就是好语言。 那么各种语言应用的场景解决了哪些…

Windows运维的学习笔记(Win11)

1. 基本概念 Windows默认文件系统:NTFS 2. 快捷键 KeyDescriptionwinI打开系统设置ctrlshiftS打开截图功能ctrlshiftF在微软拼音输入法中切换简/繁体 Note 在Parsec远程会话中,win无法被发送至客户端,所以使用win的快捷键无法生效。 3. 窗…

R语言提取PDF表格数据#简单!!!

R语言提取PDF表格数据#简单!!! #需要用到pdftables包以及api号,api需要从https://pdftables.com网站注册申请api,一般申请后可以免费转50页pdf install.packages("pdftables") library("pdftables&qu…

uipath发送邮件 —— Send Outlook Mail Message

Send Outlook Mail Message 发送邮件 一、参数说明 1、Body : 需要发送的邮件内容 2、Subject : 需要发送邮件标题 3、MailMessage : 需要转发的邮件信息,此字段只允许类型是MailMessage的对象,若填写该项则上面的Email属性(Body、Subject)不会生效 …

清华大学学生程序设计竞赛暨高校邀请赛(THUPC)2023 - 初赛(待补题)

心得 看题跟榜比较无力,最终5h4题罚坐 M. 世界杯 输出China即可 K. 众数(前缀和) 最优策略是先取最大的数x,设其出现次数为cnt[x], 然后把小于x的数y每个取min(cnt[y],cnt[x]), 下一轮再取剩下的最大…

3月29日!中国AIGC产业峰会最新议程嘉宾名单公布!

组委会 发自 凹非寺量子位 | 公众号 QbitAI 这是信息量爆炸的一周,AIGC相关的新讯息持续涌现,不断冲击我们对人工智能的认知。 ChatGPT、Midjourney、Phenaki等一系列颠覆性的AIGC产品,正在改变我们的日常生活。 人人都在谈论这些新兴的AI产品…

科大讯飞高建清:「底座+能力+应用」是科大讯飞AIGC整体布局的三层架构

明敏 整理自 凹非寺量子位 | 公众号 QbitAI ChatGPT掀起AIGC浪潮后,关于它的影响,成为了行业内外最为热议的话题之一。 宏观的观点已不胜枚举:改变世界、AI的iPhone时刻…… 但如果回归到技术本质,它到底会带来哪些变革&#xff1…

“千模千测”——针对大语言模型认知能力的高效测试方法

©PaperWeekly 原创 作者 | 庄严、宁雨亭 单位 | 中国科学技术大学BASE课题组 论文标题: Efficiently Measuring the Cognitive Ability of LLMs: An Adaptive Testing Perspective 作者: Yan Zhuang, Qi Liu, Yuting Ning, Weizhe Huang, Rui Lv, …

【烟雨星河】情绪哲学

目录 【情绪篇】 自信,自强,自我 诫己书 【哲学篇】 生命是什么? 序 时间浩大而渺远, 我站在时川之上 ,涛声滚滚,雨落惊雷。 总感觉在时间浪花里,得留下些什么。 仿佛应该是一些自己奇奇怪…

是在变好吗?

写这篇文章缘起于尹烨在节目中提到了他不喜欢大家说达尔文的学说是“进化论”,而更喜欢叫做“演化论”。 因为进化代表着越来越好,越来越进步;而演化只是在适应新的要求的变化,是合适的,但并不一定是在进步&#xff1b…

在弱肉强食的世界里,人类的美德意识为何能够超越其他物种?

来源:混沌巡洋舰 本文摘编整理自《人性悖论:人类进化中的美德与暴力》 中信出版集团 2022年6月 狭隘利他主义假设,战争可能导致自我牺牲,似乎只适用于其文化效应方面,而不能解释为进化上的选择力量。然而,该…

腾讯技术工程 2019 年十大最受欢迎文章出炉!

马上要过年了,大家是在回家的路上还是已经到家了?祝各位过一个好年,大鱼大肉吃个够,今天我们腾讯技术工程也给大家准备了点「精神食粮」。从 2019 年发布的近 300 篇文章中精挑细选出了十大最受欢迎文章,以供各位闲暇之…

腾讯游戏是如何使用Docker的

转自:http://www.infoq.com/cn/articles/how-tencent-game-use-docker 干货 | 腾讯游戏是如何使用Docker的? 作者 郭蕾 发布于 2015年8月15日 | 讨论 分享到: 微博 微信 Facebook Twitter 有道云笔记 邮件分享 稍后阅读我的阅读清单 腾…

好家伙,渣男基因被发现了?还能让直男变弯?

导读:“渣男基因被发现了!”这是怎么回事呢? 作者:宛平城外的胖子 来源:大数据DT(ID:hzdashuju) 01 渣男的必要条件:D4DR基因 上世纪末,耶路撒冷的理查德埃布…

2021金蝶全球创见者大会成功举办, 500强企业共话EBC数字战斗力

11月27日,由金蝶主办的“2021全球创见者大会”成功举办。大会以“用数字战斗力,向管理要效益”为主题,求索不确定时代,EBC如何帮助500强及中小企业拥抱数字战斗力,构建企业韧性。 据了解,金蝶全球创见者大…

复旦-华盛顿大学EMBA科创的奥E丨从《生命密码》看生命之趣

复旦大学-华盛顿大学EMBA项目【科创的奥E】读书栏目本期带来《生命密码》。      如果把地球的发展史浓缩到365天,人类的历史几乎可以忽略不计。虽然微生物渺小到要通过高倍显微镜才能窥见一斑,但是说它是地球之王并不过分。地球上的种种都由微生物构…

元账户层是进入Web3元宇宙的传送门

当前的 Web3.0 更像是一个有限集合,可见的元素仅有去中心化金融(DeFi)、去中心化创作者经济(NFT&Gamefi&Metaverse)、去中心化账户与身份(Connect Wallet)。可谓稀少,甚至没…

编程能够带来食物和水吗?

导言: 读完我这篇文章或许能让你颠覆认知,亦或许能让你深受启发,也或者你也有和我一样的想法…… 最近在回顾《黑客帝国》前三部,准备看第四部,你这个问题突然激发了我一些思考,觉得蛮有意思的&#xff0…

[2021年新鲜出炉]K8s工程师资料合辑,书籍推荐,面试题,精选文章,开源项目,PPT,视频,大厂资料

【推荐收藏】68道常见的Kubernetes面试题总结 本内容节选自:https://github.com/0voice/k8s_awesome_document 如果想学习更多关于云原生、K8s的知识,可以点击订阅更新,关注本Github。 跟大厂一起认识K8s Kubernetes 的概述—官方Kubernetes…

Istio 中实现客户端源 IP 的保持

作者 尹烨,腾讯专家工程师, 腾讯云 TCM 产品负责人。在 K8s、Service Mesh 等方面有多年的实践经验。 导语 对于很多后端服务业务,我们都希望得到客户端源 IP。云上的负载均衡器,比如,腾讯云 CLB 支持将客户端源IP传…