什么是ChatGPT ?以及它的工作原理介绍

news/2024/4/29 21:48:24/文章来源:https://blog.csdn.net/qq_20173195/article/details/129025328

ChatGPT 是 OpenAI 的最新语言模型,比其前身 GPT-3 有了重大改进。与许多大型语言模型类似,ChatGPT 能够为不同目的生成多种样式的文本,但具有更高的精确度、细节和连贯性。它代表了 OpenAI 大型语言模型系列的下一代产品,其设计非常注重交互式对话。

创建者结合使用监督学习和强化学习来微调 ChatGPT,但正是强化学习组件使 ChatGPT 独一无二。创作者使用一种称为人类反馈强化学习 (RLHF) 的特殊技术,该技术在训练循环中使用人类反馈来最大限度地减少有害、不真实和/或有偏见的输出。

在了解 RLHF 的工作原理和了解 ChatGPT 如何使用 RLHF 来克服这些问题之前,我们将研究 GPT-3 的局限性以及它们如何源于其训练过程。最后,我们将研究这种方法的一些局限性。

#大型语言模型中的能力与对齐

“对齐与能力”可以被认为是“准确性与精确度”的更抽象的类比

在机器学习的上下文中,术语能力是指模型执行特定任务或一组任务的能力。模型的能力通常通过优化其目标函数的能力来评估,目标函数是定义模型目标的数学表达式。例如,设计用于预测股票市场价格的模型可能具有衡量模型预测准确性的目标函数。如果该模型能够准确预测股票价格随时间的变化,则可以认为它具有完成此任务的高水平能力。

另一方面,对齐关注的是我们实际希望模型做什么而不是训练它做什么。它问的问题是“目标函数是否符合我们的意图?” 并指模型的目标和行为与人类价值观和期望相一致的程度。举一个简单的具体例子,假设我们训练一个鸟类分类器将鸟类分类为“麻雀”或“知更鸟”,我们使用对数损失(衡量模型预测概率分布与真实分布之间的差异)作为训练客观的,即使我们的最终目标是高分类精度。该模型可能具有低对数损失,即模型的能力高,但准确性差在测试集上。事实上,对数损失与分类任务的准确性并不完全相关。这是一个错位的例子,模型能够优化训练目标,但与我们的最终目标不一致。

像原始 GPT-3 这样的模型未对齐

大型语言模型(例如 GPT-3)根据来自互联网的大量文本数据进行训练,能够生成类似人类的文本,但它们可能并不总是产生与人类期望或理想值一致的输出。事实上,他们的目标函数是单词序列(或标记序列)的概率分布,使他们能够预测序列中的下一个单词是什么(下面有更多详细信息)。

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

虽然这些强大、复杂的模型在过去几年中经过大量数据训练变得非常有能力,但当用于生产系统以使人类生活更轻松时,它们往往无法发挥这种潜力。Large Language Models 中的对齐问题通常表现为:

  • 缺乏帮助:不遵循用户的明确指示。

  • 幻觉:模型编造了不存在的或错误的事实。

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

  • 生成有偏见或有毒的输出:在有偏见/有毒数据上训练的语言模型可能会在其输出中重现该结果,即使没有明确指示这样做。

但是这个对齐问题具体是从哪里来的呢?语言模型的训练方式是否天生就容易出现错位

#语言模型训练策略如何产生错位

Next-token-prediction并且masked-language-modeling用于训练语言模型的核心技术,例如transformers。在第一种方法中,模型被赋予一个单词序列(或“标记”,即单词的一部分)作为输入,并被要求预测序列中的下一个单词。例如,如果给模型输入句子

“猫坐在上面”

它可能会预测下一个词为“mat”“chair”“floor”,因为在给定先前上下文的情况下,这些词出现的可能性很高;语言模型实际上能够估计给定先前序列的每个可能单词(在其词汇表中)的可能性。

掩码语言建模方法是下一个标记预测的变体,其中输入句子中的某些单词被替换为特殊标记,例如[MASK]. 然后要求模型预测应该插入的正确单词来代替掩码。例如,如果模型给出了句子

[MASK]坐在”

作为输入,它可能会将下一个单词预测为“cat”“dog”“rabbit”

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

然而,这些目标函数也会导致问题,本质上是因为模型无法区分重要错误和不重要错误。举个很简单的例子,如果给模型输入句子:

[MASK]“奥古斯都统治下的罗马帝国。”

它可能会预测“开始”“结束”,因为这两个词出现的可能性都很高(事实上,这两个句子在历史上都是正确的),即使第二个选择意味着非常不同的含义。

更一般地说,这些训练策略可能会导致语言模型在某些更复杂的任务中出现偏差,因为仅经过训练以预测文本序列中的下一个词(或掩码词)的模型可能不一定会学习一些其含义的更高层次的表示。因此,该模型难以泛化到需要更深入地理解语言的任务或上下文。

研究人员和开发人员正在研究各种方法来解决大型语言模型中的对齐问题。ChatGPT 基于原始的 GPT-3 模型,但经过进一步训练,使用人工反馈来指导学习过程,具体目标是减轻模型的错位问题。所使用的具体技术,称为从人类反馈中强化学习,是基于先前的学术研究。ChatGPT 代表了第一个将这种技术用于生产模型的案例

但是,ChatGPT 的创建者究竟是如何利用人类反馈来解决对齐问题的呢?

#从人类反馈中强化学习

该方法总体上由三个不同的步骤组成:

  1. 有监督的微调步骤:预训练语言模型在标记者策划的相对少量的演示数据上进行微调,以学习从选定的提示列表生成输出的监督策略SFT 模型)。这表示基线模型。

  1. “模仿人类偏好”步骤:标注者被要求对相对大量的 SFT 模型输出进行投票,这样就创建了一个由比较数据组成的新数据集。在此数据集上训练了一个新模型。这称为奖励模型 (RM)

  1. Proximal Policy Optimization (PPO) 步骤:奖励模型用于进一步微调和改进 SFT 模型。这一步的结果就是所谓的政策模型

第一步只发生一次,而第二步和第三步可以不断迭代:在当前最好的策略模型上收集更多的比较数据,用于训练新的奖励模型,然后训练新的策略。

现在让我们深入了解每个步骤的细节!

注意:本文的其余部分基于InstructGPT 论文的内容。根据 OpenAI 的说法,ChatGPT 已经“使用与 InstructGPT 相同的方法进行训练,但数据收集设置略有不同”来源)。不幸的是,ChatGPT 的确切定量报告尚未公开。

第 1 步:监督微调 (SFT) 模型

第一步包括收集示范数据以训练监督政策模型,称为 SFT 模型。

  • 数据收集:选择提示列表,并要求一组人工标记者写下预期的输出响应。对于 ChatGPT,使用了两种不同的提示来源:一些是直接从贴标者或开发人员准备的,一些是从 OpenAI 的 API 请求(即来自他们的 GPT-3 客户)中采样的。由于整个过程缓慢且昂贵,结果是一个相对较小的高质量精选数据集(大概有大约 12-15k 个数据点),用于微调预训练语言模型。

  • 模型选择:ChatGPT 的开发人员没有微调原始 GPT-3 模型,而是选择了所谓的GPT-3.5 系列中的预训练模型。据推测,使用的基线模型是最新的text-davinci-003,一个 GPT-3 模型,主要在编程代码上进行了微调。

因此,非常有趣的是,为了创建像 ChatGPT 这样的通用聊天机器人,开发人员决定在“代码模型”而非纯文本模型之上进行微调。

由于此步骤的数据量有限,在此过程之后获得的 SFT 模型可能会输出仍然(概率上)不是很受用户关注的文本,并且通常会出现上文所述意义上的错位。这里的问题是监督学习步骤的可扩展性成本很高

为了克服这个问题,现在的策略是让贴标签者对 SFT 模型的不同输出进行排序以创建奖励模型,而不是要求人工贴标签者创建一个更大的精选数据集,这是一个缓慢且昂贵的过程——让我们更详细地解释这一点下节详述。

第二步:奖励模型(RM)

目标是直接从数据中学习目标函数(奖励模型) 。此函数的目的是为 SFT 模型输出打分,与这些输出对人类的期望程度成正比。在实践中,这将强烈反映选定的人类标签组的特定偏好以及他们同意遵循的共同准则。最后,这个过程将从数据中提取一个应该模仿人类偏好的自动系统。

它是这样工作的:

  • 选择提示列表,SFT 模型为每个提示生成多个输出(4 到 9 之间的任意位置)。

  • 贴标签者将输出从最好到最差排序。结果是一个新的标记数据集,其中排名是标签。该数据集的大小大约是用于 SFT 模型的精选数据集的 10 倍。

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

图改编自来源

对于贴标机来说,对输出进行排序比从头开始生产要容易得多,这个过程可以更有效地扩大规模。在实践中,这个数据集是从 30-40k 提示的选择中生成的,并且在排名阶段将可变数量的生成输出(对于每个提示)呈现给每个标签器。

第 3 步:通过近端策略优化 (PPO) 微调 SFT 模型

强化学习现在用于通过优化奖励模型来微调 SFT 策略。使用的特定算法称为近端策略优化(PPO),微调后的模型称为 PPO 模型。

什么是 PPO?以下是此方法的主要要点:

  • PPO 是一种用于在强化学习中训练代理的算法。之所以称为“on-policy”算法,是因为它直接从当前策略中学习和更新,而不是像 DQN(深度 Q 网络)这样的“off-policy”算法中那样从过去的经验中学习。这意味着 PPO 会根据代理正在采取的行动和收到的奖励不断调整当前策略。

  • PPO使用信任域优化的方法来训练策略,这意味着它将策略的变化限制在与先前策略的一定距离内,以确保稳定性。这与其他策略梯度方法形成对比,后者有时会对可能破坏学习稳定性的策略进行大量更新。

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

在这一步中,PPO模型是从SFT模型初始化的,价值函数是从奖励模型初始化的。该环境是一个bandit 环境,它呈现随机提示并期望对提示做出响应。给定提示和响应,它会产生一个奖励(由奖励模型决定)并且这一集结束。每个代币的SFT 模型都添加了每个代币的KL 惩罚,以减轻奖励模型的过度优化。

图改编自来源

#绩效评估

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

该模型根据三个高级标准进行评估:

  • Helpfulness:判断模型遵循用户指令的能力,以及推断指令的能力。

  • Truthfulness:判断模型对封闭域任务产生幻觉(编造事实)的倾向。该模型在TruthfulQA 数据集上进行评估。

  • 无害性:标注者评估模型的输出是否合适,是否诋毁受保护类,或包含贬损内容。该模型还在RealToxicityPromptsCrowS-Pairs数据集上进行了基准测试。

该模型还评估了传统 NLP 任务(如问答、阅读理解和摘要)的零样本性能,开发人员在其中一些任务上观察到与 GPT-3 相比的性能回归。这是一个“校准税”的例子,其中基于 RLHF 的校准程序是以降低某些任务的性能为代价的。

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

#该方法的缺点

正如InstructGPT 论文(根据其创建者所说,ChatGPT 正是基于该论文)所讨论的,该方法的一个非常明显的局限性是,在将语言模型与人类意图对齐的过程中,用于微调模型的数据受到各种错综复杂的主观因素的影响,包括:

  • 生成演示数据的标记者的偏好。

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

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

  • 标记者偏差既包含在奖励模型训练(通过对输出进行排名)中,也包含在模型评估中

作者特别指出了一个明显的事实,即参与训练过程的标注人员和研究人员可能无法代表语言模型的所有潜在最终用户。

除了这个明显的“内在”限制之外,我们还想指出该方法的其他一些可能的缺点、未明确解决的问题以及一些悬而未决的问题:

缺乏控制研究报告的结果衡量最终 PPO 模型的性能,以 SFT 模型为基线。这可能会产生误导:我们怎么知道改进实际上是由于 RLHF?一项适当的(但昂贵的)对照研究将包括投入与用于训练奖励模型的标记工时数完全相同的时间,以创建具有高质量演示数据的更大的精选 SFT 数据集。然后,人们就可以客观地衡量 RLHF 方法与监督方法相比的性能改进。简单来说,缺乏这样的控制研究让一个基本问题完全悬而未决:RLHF 在对齐语言模型方面真的做得很好吗?

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

人类偏好并不是同质的:RLHF 方法将人类偏好视为同质和静态的。假设所有人都拥有相同的价值观显然是一种延伸,至少在人类知识的大量主题上是这样。最近的一些研究开始以不同的方式解决这个悬而未决的问题。

奖励模型 (RM) 的提示稳定性测试:似乎没有实验调查奖励模型在输入提示变化方面的敏感性。如果两个提示在句法上不同但在语义上是等价的,RM 能否在模型输出的排名中显示出显着差异?简单来说,提示的质量对 RM 有多重要?

Wireheading 类型的问题:在 RL 方法中,模型有时可以学习操纵自己的奖励系统以获得预期的结果,从而导致“过度优化的策略”。这可以推动模型重新创建一些模式,这些模式由于某种未知原因使奖励模型得分高(请参阅OpenAI 这篇论文中的表 29 ,了解语言建模中这种行为的明确示例)。ChatGPT 在奖励函数中使用 KL 惩罚项对此进行了修补。请注意,有人试图优化 RM输入(即 PPO 输出)以提高其输出(奖励分数),同时限制输入本身与某些参考输入不太远(SFT 输出)。在最近的预印本中详细介绍了这种方法的局限性。

#进一步阅读的精选参考资料

  • 关于用于 ChatGPT 的 RLHF 方法最相关的论文是训练语言模型以遵循带有人类反馈的指令,它实际上详细介绍了一个名为 InstructGPT 的模型,OpenAI 将其称为 ChatGPT 的“兄弟模型”。

  • Anthropic 发表了一份关于 RLHF 方法的有效性的详细研究,用于微调语言模型以充当有用和无害的助手。

  • Learning to summarize from Human Feedback论文在文本摘要的背景下描述了 RLHF。

  • 近端策略优化:PPO 算法论文。

  • 根据人类偏好进行深度强化学习——是最早在 Atari 游戏的背景下在 RL 中使用人类反馈的(深度学习)论文之一。

  • DeepMind 在SparrowGopherCite论文中提出了 OpenAI 的 RLHF 的替代方案。

  • Anthropic 的一篇(长篇)论文深入探讨了语言模型的对齐问题。这是Sam Ringer 的精彩总结。Anthropic 也有一个 RLHF 的开源存储库(附带论文)。

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

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

相关文章

GPT-4震撼发布:多模态大模型,直接升级ChatGPT、必应,开放API,游戏终结的时代到来了?

ChatGPT 点燃了科技行业的明灯,GPT-4 能燎原吗? 谁能革得了 ChatGPT 的命?现在看来还是 OpenAI 自己。 人们一直在探讨AI下一步的发展方向是什么,特别是在ChatGPT引爆科技领域之后。许多学者认为,多模态技术将成为未…

我对ChatGPT的一些看法与思考

我对ChatGPT的一些看法与思考 文章目录我对ChatGPT的一些看法与思考1.什么是ChatGPT1.1 ChatGPT是干啥的1.2 ChatGPT的发布时间1.3 ChatGPT的图标2.ChatGPT的同类程序以及ChatGPT的优越性2.1 ChatGPT的同类程序2.2 ChatGPT相较于其他的优越性2.3ChatGPT已经开源的部分代码3.我对…

一块GPU搞定ChatGPT;ML系统入坑指南;理解GPU底层架构

1. 跑ChatGPT体量模型,从此只需一块GPU 在发展技术,让大模型掌握更多能力的同时,也有人在尝试降低AI所需的算力资源。最近,一种名为FlexGen的技术因为「一块RTX 3090跑ChatGPT体量模型」而获得了人们的关注。 虽然FlexGen加速后的…

大战谷歌!微软Bing引入ChatGPT;羊了个羊高·薪招纳技术人才;Debian彻底移除Python2;GitHub今日热榜 | ShowMeAI资讯日报

👀日报合辑 | 🎡AI应用与工具大全 | 🔔公众号资料下载 | 🍩韩信子 🎡 『微软Bing』将引入 ChatGPT,与 Google 一场大战难免 微软计划2023年3月底之前推出 Bing 搜索引擎的新版本,使用 ChatGPT …

ChatGPT目前存在四大严重设计问题, 全面使用前需要注意OpenAI正在努力解决

随着 Make-A-Video、ChatGPT、PaLM 和其他大型语言模型获得如此多的关注,重要的是要记住这些模型存在严重的设计问题。 ChatGPT 最近很火。人们一直在使用它来完成各种任务——从撰写销售电子邮件和完成大学作业,甚至作为 Google 搜索的可能替代品。将其与其他大型语言模型(…

ChatGPT技术

目录一、什么是ChatGPT?二、ChatGPT的技术背景三、ChatGPT的主要特点四、ChatGPT的工作原理五、ChatGPT为何成功?一、什么是ChatGPT? ChatGPT本质是一个对话模型,它可以回答日常问题、进行多轮闲聊,也可以承认错误回复…

【我用ChatGPT学编程】Vue-Router中history模式Nginx部署后刷新404的问题

前言 作为一个码农我们都知道ChatGPT实际上是一个十分好用的代码工具,它使用了MarkDown语法更符合我们的习惯,并且可以根据语义理解问题并且给出多种解决方案,所以这个系列就是用ChatGPT来给出对于在coding时遇到的各种Bug。 ChatGPT似乎可…

不仅仅是ChatGPT:分享一些AI时代的有力工具

本文已发表在哔哔哔哔-不仅仅是ChatGPT:分享一些AI时代的有力工具 前言 可以说AI技术在2022年底是一个技术奇点,完成突破之后,我们可以预见一个技术爆炸的时代。 在计算机的早期,人与计算机的交互只有键盘,是鼠标和G…

上知天文,下知地理,还能替人写脚本!人工智能的进阶ChatGPT

ChatGPT是OpenAI在11月30日推出的聊天机器人,于12月1日起对公众免费开放。 自从这东西出来之后,大家对此的讨论热情越发浓烈。ChatGPT具体可以干些什么? 帮你写论文、检讨书、情书,甚至情诗也能信手拈来。 以上都是网友测试它写…

文心一言发布!【中国版ChatGPT】附测试链接

文心一言是百度推出的生成式对话产品,2023.3.16正式发布12。它基于文心大型模型技术,被外界誉为“中国版ChatGPT” 文心一言测试链接: https://cloud.baidu.com/survey_summit/wenxin.html 文心一言与Chatgpt对比 文心一言在中文的支持方面…

New bing带着chatGPT来啦

话不多说,随着chatGPT的到来,GPT-4的升级,AI时代真的要来啦。现在微软浏览器 bing 已经接入最新的GPT版本,而且是免费,重要的事情说三遍,免费使用GPT,免费使用GPT,免费使用GPT&#…

chatGPT和文言一心,我的看法

最近,ChatGPT-4和百度的文心一言,确实很火啊,尤其是下面的这个图,简直火遍了全网。 先说下,这类模型的一些看法。 1. 技术优势:这两个模型都采用了最先进的自然语言处理技术,如深度学习、神经网…

35岁找工作,我求助了ChatGPT。这是ChatGPT给出的建议

最近网上很多热议中年人找工作遭遇歧视的问题。正好碰到ChatGPT热火朝天,帮大家问一下,大家看看你觉得这各答案还凑合吗 ?chatGPT是这么回复的:当您寻找新的工作时,以下是一些建议:完善您的简历和求职信&am…

全网最详细中英文ChatGPT-GPT-4示例文档-从0到1快速入门翻译编程语言应用——官网推荐的48种最佳应用场景(附python/node.js/curl命令源代码,小白也能学)

从0到1快速入门翻译编程语言应用场景Introduce 简介setting 设置Prompt 提示Sample response 回复样本API request 接口请求python接口请求示例node.js接口请求示例curl命令示例json格式示例其它资料下载ChatGPT是目前最先进的AI聊天机器人,它能够理解图片和文字&am…

ChatGPT修bug横扫全场,准确率达78%!程序员要开心了

ChatGPT到底有多会修bug?这事终于有人正儿八经地搞研究了——来自德国、英国的研究人员,专门搭了个“擂台”来检验ChatGPT的这项本领。除了ChatGPT之外,研究人员还找来了其它三位修bug的“AI猛将”,分别让它们修复40个错误代码。结…

探索检测 AI 生成文本(包括 ChatGPT)的 4 种神奇方法

介绍: OpenAI 的 GPT-3 和 ChatGPT 最近的推出引发了人工智能和自然语言处理领域的一场革命。凭借其生成类人文本的能力,GPT-3 为企业和个人等开辟了许多新的可能性。GPT-4 指日可待。然而,这一进步也引起了人们对人工智能生成文本可能被滥用的担忧,特别是在错误信息、假新…

ChatGPT爆火,对制造业销售增长的AI建议

北京时间2023年2月8日,微软宣布推出由ChatGPT支持的最新版本人工智能搜索引擎Bing(必应)和Edge浏览器。 ChatGPT的问世再次掀起AI热潮。 接下来让我们一起试试与ChatGPT对话,看看传说中上知天文下知地理的他是如何回答工业制造业…

文心ERNIE源码学习与实践:为超越ChatGPT打下技术基础!

ERNIE学习与实践:为超越ChatGPT打下技术基础! ERNIE是BERT相爱相杀的好基友,由ERNIE发展起来的文心大模型,是GPT3.0的强劲竞争对手,未来还会挑战ChatGPT的江湖地位! 在“BERT学习与实践:为紧追…

中科院ChatGPT 学术版 本地部署实践记录

近期中科院ChatGPT 学术版 在github上限了,截止本文发布已经有18.3k的star了。 他们将ChatGPT 学术版开源出来真的非常好,能让更多的人享受到科技的红利。 我也想着试一下,这次也记录下本地部署的过程。 其实文件中的readme,已…

ChatGPT Something went wrong 处理

一、报错提示 Something went wrong. If this issue persists please contact us through our help center at help.openai.com. 二、解决方案 一般是代理节点出现问题 ChatGPT退出登录 关闭代理并重新启动代理 切换其他节点 清除浏览器缓存 重新登录ChatGPT 问题解决&…