ChatGPT 如何工作?5 分钟了解 人工智能 指南 - 2024

author photo
作者: Louis Roland
更新时间: 31/08/2023 朗读用时:4分钟

对彻底改变对话的人工智能感到好奇吗?有没有想过 ChatGPT 如何设法理解您的问题并做出连贯的答复?深入了解这项突破性技术的复杂运作方式,从 GPT 基础到自然语言处理的作用等。探索其性能、局限性和未来的可能性。揭开您的数字对话伙伴 ChatGPT 背后的科学原理。

openai中chatgpt和whisper api介绍

1. 关于GPT & ChatGPT

1.1 定义GPT模型

GPT,即生成式预训练变压器,是人工智能领域的一项重大发展。它们被用于许多生成式人工智能应用程序,包括 ChatGPT。 GPT 模型建立在 Transformer 架构之上,可以生成类似人类的文本以及图像和音乐等其他类型的内容。此外,您还可以用它来回答问题、与他们对话、处理与文本相关的所有内容等等。

1.2 ChatGPT简介

ChatGPT 是 GPT 模型的衍生品,由 OpenAI 开发。它的运作方式与其兄弟模型 InstructGPT 类似,但采用对话方式。这种差异的独特性赋予了ChatGPT交互功能,使其能够与用户进行交流,进一步完成问答、错误识别等。

1.3 ChatGPT 与搜索引擎的比较

像 Google 这样的搜索引擎和像 Wolfram Alpha 这样的计算引擎也通过单行文本输入字段与用户交互。然而,虽然 Google 的优势在于执行大量数据库查找以提供一系列匹配,并且 Wolfram Alpha 能够解析与数据相关的问题并执行计算,但 ChatGPT 的优势在于能够解析查询并根据大量数据提供全面的答案。数字可访问的文本信息。

例如,在Google等搜索引擎上搜索“如何解锁iPhone”,您将得到由不同网站创建的解决方案的文章。您需要阅读这些文章才能找到解决方案。

谷歌如何解锁 iPhone 搜索引擎

但如果你把这个问题输入ChatGPT,它会直接给你答案。答案来自其预先训练的数据集,其中还包含搜索引擎提供的链接中的内容。

chatGPT如何解锁 iPhone

换句话说,您与一个知识渊博的实体进行通信,该实体可以生成查询结果,而不仅仅是通过搜索引擎获取这些内容源。但需要注意的是,目前在时效性方面不如搜索引擎,因为ChatGPT的信息是基于截至2021年训练的数据。

2. ChatGPT 的工作原理

ChatGPT 的功能分为两个阶段:预训练(即数据收集)和推理(即响应用户提示)。正如我们之前讨论的,ChatGPT 与 Google 类似。经过大量培训后,ChatGPT 可以理解问题并从其数据库中生成答案。唯一的区别是,当您发送提示时,它将生成直接答案,而不是链接。

ChatGPT 采用深度学习神经网络来生成类似人类的文本。就像人脑根据先验知识进行预测和得出结论一样,ChatGPT 接受了大量数据或标记的训练,这些数据或标记本质上是可以表示单个单词或复杂单词的一部分的文本单元。

与使用将每个输入与特定输出配对的监督方法训练的传统 AI 模型不同,ChatGPT 使用无监督的预训练方法。在这里,模型无需考虑特定任务即可学习输入数据中的固有结构和模式,从而理解语言的语法和语义,并使其能够以会话方式生成有意义的文本。这种预训练是 ChatGPT 丰富的知识和能力背后的变革力量。该模型可以通过使用基于转换器的语言建模处理大量数据,根据接收到的输入开发各种响应。这种方法论构成了 ChatGPT 看似无限的知识和对话能力的基础。

该培训首先让模型接触大量人类编写的内容——从书籍和文章到互联网内容。因此,该模型从这些标记中学习模式和关系,形成深度学习神经网络。该网络类似于模仿人脑功能的多层算法,使模型能够生成上下文相关且类似人类的文本。

ChatGPT 的非凡之处在于它能够生成长文本,而不仅仅是预测句子中的下一个单词。 OpenAI 展示了其通过人类反馈强化学习 (RLHF) 来训练 ChatGPT 的能力,使其能够生成整个句子、段落,甚至更长的文本字符串,以生成连贯的响应。这种训练涉及一个奖励模型,其中训练者对模型生成的不同反应进行排名,以帮助人工智能理解什么是良好的反应。

支持 ChatGPT 运行的另一个优势是其大量的参数。 GPT-3是1750亿,GPT-4没有透露具体数字,但可以推测可能更多。用户发送的每一个提示都需要经过这些参数的处理,并且输出会受到其值和权重的影响。此外,这些参数中还融入了随机性,以避免机械、重复的响应并保持新鲜感。例如,您可以使用相同的提示并生成不同的结果。

chatgpt 相同提示但结果不同

3.人类反馈强化学习(RLHF)

据OpenAI介绍,ChatGPT的下雨很大程度上是基于人类反馈强化学习(RLHF)方法。该方法涉及一系列不同的步骤来生成可以生成所需响应的模型。

根据人类反馈进行强化学习 (RLHF) 的 3 个步骤

1.初始训练:监督微调(SFT)

训练 ChatGPT 的第一步是监督微调 (SFT)。此阶段涉及使用一个小型的、精心策划的数据集,该数据集由人类标记者生成的提示及其相应响应组成。训练的目的是向ChatGPT输出高质量的正确输出。据OpenAI介绍,现阶段的训练模型基于GPT-3.5系列模型。

训练 ChatGPT 的第一步是监督微调 (SFT),这是一种通过从人工标记者收集演示数据来训练的监督策略模型。 ChatGPT 使用两种提示来源:开发人员的直接标记或 OpenAI 的 API 请求。生成的小型、高质量的精选数据集用于微调预训练的语言模型。 ChatGPT 开发人员没有对原始 GPT-3 模型进行微调,而是选择了预训练的 GPT-3.5 系列模型,可能是 text-davinci-003。我们决定在“代码模型”而不是纯文本模型之上创建一个像 ChatGPT 这样的通用聊天机器人。

然而,SFT 模型可能仍然不够用户关注,并且存在偏差。为了克服这个问题,开发人员现在对 SFT 模型的不同输出进行排名,以创建奖励模型。

2. 生成奖励模型

该步骤旨在生成目标函数,即奖励模型。该模型对 SFT 模型的输出进行评分,评分与班级对这些输出的期望程度成正比。满足的期望越多,得分就越高,反之亦然。

贴标者将根据他们同意遵循的特定偏好和通用标准对 SFT 模型的输出进行手动评分。最终,这个过程有助于创建一个可以模仿人类偏好的自动化系统。

这种方法的优点是效率极高。因为贴标签者只需要对输出进行排名,而不是使用模型从头开始生成内容。

其工作流程大致如下:

  1. 选择提示列表,SFT 模型会为每个提示生成多个输出(4 到 9 之间的任何输出)。

  2. 标记器将输出从最好到最差进行排名,创建一个新的标记数据集,并以“排名”作为标签。该数据集大约比 SFT 模型使用的精选数据集大十倍。

  3. 然后,该数据集将训练奖励模型(RM)。该模型将一些 SFT 模型输出作为输入,并按优先顺序对它们进行排序。

到目前为止,我们已经讨论了如何使用监督微调来初始训练模型,然后使用奖励模型进行细化。这些步骤构成了训练 ChatGPT 的基本构建块。然而,该过程仍在继续。然后,系统通过称为“近端策略优化”的技术进入迭代改进阶段。

3.迭代改进:近端策略优化(PPO)

最后的训练阶段涉及应用近端策略优化(PPO)。该技术使用奖励模型作为价值函数来估计操作的预期回报。然后,它应用代表预期回报与实际回报之间差异的“优势函数”来更新策略。

PPO 是一种“on-policy”算法,它根据代理的行为和收到的奖励来学习并更新当前策略。这种设计通过限制每次更新期间策略的变化程度来帮助确保稳定的学习,防止模型做出可能破坏学习过程的剧烈变化。

PPO模型从SFT模型开始,从奖励模型初始化价值函数。在这种环境中,会出现随机提示,并期望得到响应。一旦给出响应,该事件就会以奖励模型结束,奖励由奖励模型决定。

持续学习:迭代循环

除了第一步只发生一次外,奖励模型生成和PPO阶段都是循环重复的。这种迭代方法允许随着时间的推移不断改进模型。在每个周期中,模型都会收集更多的比较数据,训练新的奖励模型,并建立新的策略。因此,随着时间的推移,该模型在符合人类偏好方面会有所改进。

4. Transformer 架构:ChatGPT 的基础

4.1 概述

ChatGPT 的基础是一种称为 Transformer 架构的神经网络。神经网络本质上是通过多层互连节点处理信息来模拟人脑的工作方式。想象一个交响乐团:每个音乐家都有一个角色,来回传递旋律(信息),所有这些协调在一起创造音乐(输出)。

Transformer 架构专门利用一种称为“自注意力”的机制来处理单词序列。自注意力机制类似于读者重新访问之前的句子或段落以理解新单词或短语的上下文的方式。转换器评估序列中的所有单词,以辨别上下文和它们之间的关系。

4.2 变压器的层数

Transformer 架构由多个层组成,每个层由两个主要子层组成:自注意力层和前馈层。自注意力层计算序列中每个单词的相关性,而前馈层对输入数据应用非线性变换。通过这种配置,变压器学习理解和导航序列中单词之间的关系。

4.3 训练 Transformer

在训练期间,变压器会获得输入数据(例如一个句子),并被要求根据该输入预测结果。然后根据其预测与输出的吻合程度来更新模型。通过这种方式,变压器磨练了理解序列中单词之间的上下文和关系的能力。

这就像教孩子新单词:你向他们展示新单词(输入),他们猜测含义(预测),如果他们错了,你就纠正他们(更新模型),从而帮助他们的语言习得过程。

4.4 使用时的挑战

然而,与任何强大的工具一样,变压器架构也面临着挑战。这些模型产生有害或有偏见内容的可能性是一个重大问题,因为它们可能会无意中学习并延续训练数据中存在的偏见。想象一下一只鹦鹉,它会模仿它所听到的一切,而不管这些话是否恰当或政治正确。

这些模型的开发人员努力加入“护栏”来减轻这些风险。尽管如此,由于不同的观点和偏见解释,这些护栏可能会导致新的问题。

众所周知,ChatGPT的发电能力得益于其GPT模型的大数据源,因此接下来我们将讨论为ChatGPT提供支持的数据。

5. 多样化数据集的作用

5.1 ChatGPT:大量预训练的产物

ChatGPT 站在 GPT-3(生成式预训练 Transformer 3)架构的肩膀上,是一个由重要数据集 WebText2 提供支持的强大语言模型。要了解其规模,请想象一个包含超过 45 TB 文本数据的图书馆,相当于维基百科内容的数千倍。

WebText2 的巨大规模使得 ChatGPT 能够以难以想象的规模学习单词和短语之间的模式和关联,从而使其能够生成连贯且上下文相关的响应。

5.2 针对对话微调 ChatGPT

虽然 ChatGPT 继承了 GPT-3 架构的主干,但它已经针对特定的对话应用程序进行了微调和优化。这为与 ChatGPT 交互的用户带来了更具吸引力和个性化的交互体验。

ChatGPT 的创建者 OpenAI 提供了一个名为 Persona-Chat 的独特数据集,专门用于训练对话式 AI 模型。该数据集包含超过 160,000 条人类参与者之间的对话;每个人都被分配了一个独特的角色,概述了他们的兴趣、个性和背景。 ChatGPT 就好像是数千个角色扮演场景的参与者,学习如何根据对话的上下文和角色调整其响应。

5.3 各种数据集:秘密武器

除了 Persona-Chat 之外,ChatGPT 还使用其他几个对话数据集进行微调:

  • 康奈尔电影对话语料库:该数据集包含电影剧本中角色之间的对话,超过 10,000 个角色对之间有超过 200,000 次对话交流。可以将其视为 ChatGPT 研究数百部电影的剧本,吸收不同类型和背景的语言细微差别。

  • Ubuntu 对话语料库:寻求技术支持的用户与 Ubuntu 社区支持团队之间多轮对话的汇编。这些数据可以模拟技术支持对话,帮助 ChatGPT 学习特定术语和解决问题的方法。这样的对话已经有一百万次了。

  • 就好像 ChatGPT 参加了超过一百万次技术支持对话,学习特定术语和解决问题的方法。

  • DailyDialog:该数据集包含各种主题的人类对话,从日常生活聊天到社会问题讨论。使用这个数据库,ChatGPT 就像加入无数的讨论来理解构成日常人类对话的语气、情绪和主题。

此外,ChatGPT 利用互联网上的大量非结构化数据,包括书籍、网站和其他文本源。这拓宽了它对语言结构和模式的理解,可以针对情感分析或对话管理等特定应用进行微调。

5.4 ChatGPT 的规模

虽然 ChatGPT 在方法上与 GPT 系列类似,但它是一个独特的模型,在架构和训练数据方面存在差异。 ChatGPT 包含 15 亿个参数,规模小于 GPT-3 惊人的 1750 亿个参数,但仍然令人印象深刻。

总而言之,用于微调 ChatGPT 的训练数据主要是对话数据,经过精心设计,包括人类之间的对话,使 ChatGPT 能够生成自然、引人入胜的响应。将其无人监督的训练想象成通过让孩子接触无数的对话来教孩子进行交流,让他们找到模式并理解这一切。

经过预训练后,ChatGPT 还需要能够理解问题并从数据中构建答案。这涉及推理阶段,由自然语言处理和对话管理支持;让我们来看看。

6.自然语言处理:

自然语言处理 (NLP) 是人工智能的一个子领域,专注于使计算机能够理解、解释和生成人类语言。它是当今数字时代的一项关键技术,因为它是情感分析、聊天机器人、语音识别和语言翻译等许多应用的基础。

NLP 技术可以通过自动化任务、增强客户服务以及从客户反馈和社交媒体帖子等数据源中提取有价值的见解来显着使企业受益。

然而,人类语言本质上是复杂且含糊的,给计算机解释带来了困难。为了解决这个问题,NLP 算法接受了大量数据的训练,使它们能够识别模式并学习语言的细微差别。这些算法还必须不断完善和更新,以跟上语言及其上下文不断发展的使用。

NLP 将语言输入(例如句子或段落)分解为更小的组件,并分析它们的含义和关系以生成见解或响应。它采用统计建模、机器学习和深度学习等各种技术来辨别模式并从大量数据中学习,从而准确地解释和生成语言。

ChatGPT 是 NLP 的实际应用示例。它旨在与用户进行自然且有吸引力的多轮对话。这涉及使用算法和机器学习技术来理解对话的上下文并在与用户的多次交流中维护它。

这种在扩展对话中维护上下文的能力称为对话管理。它允许计算机程序以一种更像对话的方式与人交互,而不是一系列一次性交互。 NLP 的这一方面至关重要,因为它可以建立用户的信任和参与度,从而为用户和使用该程序的组织带来更好的结果。

7. ChatGPT的性能评估

三个核心标准

ChatGPT的评估是确保其有效性和可靠性的关键一步。由于该模型是基于人类交互进行训练的,因此其评估也主要依赖于人类输入,其中质量评估者评估模型的输出。

为了防止模型过度拟合参与训练阶段的评估者的判断,评估采用了一个测试集,其中包含来自 OpenAI 用户群的提示,但这些提示未包含在训练数据中。这样可以对模型在现实场景中的性能进行公正的评估。

该模型的评估根据三个核心标准进行:

标准

解释

乐于助人

这衡量了模型遵守用户指令并直觉用户意图的能力。

诚实

这评估了模型的“幻觉”倾向,即其捏造事实的倾向。为此,使用 TruthfulQA 数据集。

无害化

质量评估者评估模型的输出是否适当、尊重受保护群体并避免贬义内容。这方面的评估采用了 RealToxicityPrompts 和 CrowS-Pairs 数据集。

零样本性能

ChatGPT 还因其“零样本”性能而受到评估,即其在没有先前示例的情况下处理传统 NLP 任务(如问答、阅读理解和摘要)的任务的能力。有趣的是,开发人员注意到在某些任务上与 GPT-3 相比性能有所下降。这种现象被称为“对齐税”,表明该模型基于 RLHF 的对齐过程可能会降低特定任务的性能。

然而,预训练混合技术可以大大减轻这些性能下降。在通过梯度下降训练 PPO 模型期间,通过结合 SFT 模型和 PPO 模型的梯度来计算梯度更新。此过程有助于提高模型在特定任务上的性能。

8. ChatGPT 的限制和改进

ChatGPT 与任何人工智能模型一样,尽管其功能非凡,但也存在局限性。

不正确或无意义的答案。

ChatGPT 有时会产生听起来合理但不正确或无意义的答案。这主要是因为它的数据并不完全正确。正如我们之前讨论的,ChatGPT 在训练期间会接收各种数据源,包括书籍和互联网。那么,交通信号灯有哪些颜色呢?

如果其数据源中存在错误的答案,例如黑、白、黄,那么ChatGPT也可能会输出错误的答案。

此外,当模型被训练得更加小心时,它可能会拒绝回答它可以正确处理的问题。在监督训练期间,模型的知识(而不是人类演示者的知识)会影响所需的响应。

对输入调整敏感

该模型对输入调整也很敏感。这意味着一旦您调整命令或要求它再次回答问题,它可能会产生非常不同的答案。例如,该模型将正确回答它之前声称不知道的查询。或者更改上一个答案(是到否)。此外,训练ChatGPT的数据偏差和已知的过度优化也造成了一些问题。您可能会在 ChatGPT 的输出中发现冗长或过度使用的短语和语句,例如重申其与 OpenAI 的关系。

在理想情况下,ChatGPT 会针对不明确的查询提出澄清问题。然而,当前的模型倾向于猜测用户的意图。尽管我们已努力拒绝不适当的请求,但该模型仍可能对有害指令做出反应或表现出有偏见的行为。为了解决这个问题,OpenAI 使用审核 API 来警告或阻止某些不安全内容,但误报和误报可能仍然存在。

尽管存在这些限制,从 GPT-3 到 GPT-4 的进步还是充满希望的,展示了该模型生成可信且准确的文本的能力得到了提高。展望未来,我们期望这些改进将继续下去,并且随着 GPT 模型的每次新迭代,限制将会减少。

结论

总之,ChatGPT 是 GPT 先进人工智能的产物,通过 Transformer 架构、来自人类反馈的强化学习和多样化数据集的组合来运行。它利用自然语言处理来理解和生成类似人类的文本,从而促进互动。尽管令人印象深刻,但值得注意的是,该系统的性能并非完美无缺,需要持续改进评估。尽管存在局限性,ChatGPT 仍然是人工智能技术的一项非凡创新,突破了人机交互的界限。

在这个页面上 跳至