ChatGPT 实际上是如何工作的?

更新:我们深入研究了广受欢迎的人工智能聊天机器人 ChatGPT 的内部工作原理。如果你想知道它的生成人工智能魔力是如何发生的,请继续阅读。

20230925151602169562616210150

万俊/ZDNET

Google、Wolfram Alpha 和ChatGPT都通过单行文本输入字段与用户交互并提供文本结果。谷歌返回搜索结果、网页和文章列表(希望)提供与搜索查询相关的信息。Wolfram Alpha 通常提供与数学和数据分析相关的答案。

相比之下,ChatGPT 根据用户问题背后的上下文和意图提供响应。例如,你不能要求 Google 写一个故事或要求 Wolfram Alpha 编写一个代码模块,但 ChatGPT 可以做这些事情。

从根本上来说,Google 的强大之处在于能够进行大量数据库查找并提供一系列匹配。Wolfram Alpha 的强大之处在于能够解析与数据相关的问题并根据这些问题执行计算。 

ChatGPT 的强大之处在于能够根据世界上大多数可数字访问的基于文本的信息(至少是 2021 年之前训练时存在的信息)解析查询并生成完全充实的答案和结果。

在本文中,我们将了解 ChatGPT 如何生成这些完全充实的答案。我们将首先了解 ChatGPT 操作的主要阶段,然后介绍一些使其正常运行的 核心AI架构组件。

除了本文中引用的来源(其中许多是每种技术背后的原始研究论文)之外,我还使用 ChatGPT 本身来帮助我创建此背景资料。我问了它很多问题。一些答案是在本次讨论的整体背景下解释的。

ChatGPT 操作的两个主要阶段

我们再用谷歌来打个比方。当你要求谷歌查找某些内容时,你可能知道它不会——在你提出要求的那一刻——出去搜索整个网络来寻找答案。相反,谷歌会在其数据库中搜索与该请求匹配的页面。Google 实际上有两个主要阶段:蜘蛛抓取和数据收集阶段,以及用户交互/查找阶段。

粗略地说,ChatGPT 的工作原理是相同的。数据收集阶段称为预训练,而用户响应阶段称为推理。生成式人工智能背后的魔力及其突然爆发的原因是预训练的工作方式突然被证明具有巨大的可扩展性。这种可扩展性是通过最近在经济实惠的硬件技术和云计算方面的创新而实现的。

人工智能预训练的工作原理

一般来说(因为要了解具体细节需要花费大量时间),人工智能使用两种主要方法进行预训练:监督和非监督。对于大多数人工智能项目,直到当前的生成式人工智能系统(如 ChatGPT),都使用了监督方法。

监督预训练是在标记数据集上训练模型的过程,其中每个输入都与相应的输出相关联。

例如,人工智能可以在客户服务对话数据集上进行训练,其中用户的问题和投诉被标记为客户服务代表的适当答复。为了训练人工智能,需要提出诸如“如何重置密码?”之类的问题。将作为用户输入提供,并且诸如“您可以通过访问我们网站上的帐户设置页面并按照提示操作来重置密码”之类的答案将作为输出提供。

监督训练方法中,整个模型被训练以学习可以准确地将输入映射到输出的映射函数。该过程通常用于监督学习任务,例如分类、回归和序列标记。

正如您可能想象的那样,其扩展方式是有限的。人类培训师必须花很大力气来预测所有的输入和输出。培训可能需要很长时间,并且主题专业知识有限。

但正如我们所知,ChatGPT 在主题专业知识方面几乎没有限制。你可以让它为《星际迷航》中的迈尔斯·奥布莱恩酋长写一份简历,让它解释量子物理,写一段代码,写一篇短篇小说,并比较美国前总统的执政风格状态。

不可能预测所有会被问到的问题,因此 ChatGPT 确实不可能用监督模型进行训练。相反,ChatGPT 使用无监督预训练——这就是游戏规则的改变者。

无监督预训练是根据数据训练模型的过程,其中每个输入都没有关联特定的输出。相反,模型经过训练来学习输入数据中的底层结构和模式,而无需考虑任何特定任务。该过程通常用于无监督学习任务,例如聚类、异常检测和降维。在语言建模的背景下,无监督预训练可用于训练模型理解自然语言的语法和语义,使其能够在会话上下文中生成连贯且有意义的文本。

在这里,ChatGPT 看似无限的知识成为可能。因为开发人员不需要知道输入的输出,所以他们所要做的就是将越来越多的信息转储到 ChatGPT 预训练机制中,这称为基于 Transformer 的语言建模。

变压器架构

Transformer架构是一种用于处理自然语言数据的神经网络。神经网络通过互连节点层处理信息来模拟人脑的工作方式。将神经网络想象成一个曲棍球队:每个球员都有一个角色,但他们在具有特定角色的球员之间来回传递冰球,所有人一起努力得分。

Transformer 架构在进行预测时,通过使用“自注意力”来权衡序列中不同单词的重要性来处理单词序列。自我注意力类似于读者回顾前一个句子或段落以了解理解书中新单词所需的上下文的方式。转换器查看序列中的所有单词,以了解上下文以及单词之间的关系。

变压器由多层组成,每层又包含多个子层。两个主要子层是自注意力层和前馈层。自注意力层计算序列中每个单词的重要性,而前馈层对输入数据应用非线性变换。这些层帮助转换器学习和理解序列中单词之间的关系。

在训练期间,变压器会获得输入数据(例如句子),并被要求根据该输入进行预测。该模型根据其预测与实际输出的匹配程度进行更新。通过这个过程,变压器学习理解序列中单词之间的上下文和关系,使其成为自然语言处理任务(例如语言翻译和文本生成)的强大工具。

需要记住的一件事是,这些模型可能会生成有害或有偏见的内容,因为它们可能会学习训练数据中存在的模式和偏见。实施这些模型的公司正在尝试提供“护栏”,但这些护栏本身可能会引起问题。这是因为不同的人有不同的观点,而试图防止基于一种思想流派的偏见可能会被另一种思想流派声称为偏见。考虑到整个社会的复杂性,这使得通用聊天机器人的设计变得困难。

我们首先讨论输入 ChatGPT 的数据,然后看看 ChatGPT 和自然语言的用户交互阶段。

ChatGPT 的训练数据集

用于训练 ChatGPT 的数据集非常庞大。ChatGPT 基于GPT-3(生成式预训练 Transformer 3)架构。其实,这里我们需要澄清一下。ChatGPT 的免费版本是在 CPT-3 上进行训练的。如果您每月支付 20 美元购买 ChatGPT Plus,您可以选择使用GPT-3 训练数据集或更广泛的 GPT-4 数据集

现在,缩写 GPT 很有意义,不是吗?它是生成式的,这意味着它会生成结果,它是经过预先训练的,这意味着它基于它摄取的所有数据,并且它使用变压器架构来衡量文本输入以理解上下文。

GPT-3 在名为WebText2的数据集上进行训练,该数据集是一个包含超过 45 TB 文本数据的库。当您可以以低于 300 美元的价格购买 16 TB 的硬盘时,45 TB 的语料库可能看起来并没有那么大。但文本占用的存储空间比图片或视频要少得多。

如此大量的数据使 ChatGPT 能够以前所未有的规模学习自然语言中单词和短语之间的模式和关系,这也是它能够如此有效地为用户查询生成连贯且上下文相关的响应的原因之一。

虽然 ChatGPT 基于 GPT-3 架构,但它已在不同的数据集上进行了微调,并针对对话用例进行了优化。这使得它能够为通过聊天界面与其交互的用户提供更加个性化和引人入胜的体验。

例如,OpenAI(ChatGPT 的开发者)发布了一个名为Persona-Chat 的数据集,专门用于训练 ChatGPT 等会话式 AI 模型。该数据集由两个人类参与者之间的超过 160,000 条对话组成,每个参与者都被分配了一个独特的角色来描述他们的背景、兴趣和个性。这使得 ChatGPT 能够学习如何生成个性化且与对话的特定上下文相关的响应。

除了 Persona-Chat 之外,还有许多其他对话数据集用于微调 ChatGPT。这里有一些例子:

  • 康奈尔电影对话语料库 包含电影脚本中角色之间对话的数据集。它包括 10,000 多个电影角色对之间的 200,000 多次对话,涵盖各种主题和类型。

  • Ubuntu 对话语料库 寻求技术支持的用户与 Ubuntu 社区支持团队之间多轮对话的集合。它包含超过 100 万个对话,使其成为用于对话系统研究的最大的公开数据集之一。

  • DailyDialog 各种主题的人与人对话的集合,从日常生活对话到有关社会问题的讨论。数据集中的每个对话都由几个回合组成,并标有一组情感、情感和主题信息。

除了这些数据集之外,ChatGPT 还接受了互联网上大量非结构化数据的训练,包括网站、书籍和其他文本源。这使得 ChatGPT 能够从更一般的意义上了解语言的结构和模式,然后可以针对对话管理或情感分析等特定应用进行微调。

ChatGPT 是一个独特的模型,使用与 GPT 系列类似的方法进行训练,但在架构和训练数据方面存在一些差异。ChatGPT 有 15 亿个参数,比 GPT-3 的 1750 亿个参数要小。

总体而言,用于微调 ChatGPT 的训练数据本质上通常是对话性的,并且专门包含人类之间的对话,这使得 ChatGPT 能够学习如何以对话格式生成自然且引人入胜的响应。

以这种方式思考 ChatGPT 的无监督训练:它被输入大量数据,并留给自己的设备来寻找模式并理解这一切。这就是新的生成式人工智能系统能够如此迅速扩展的机制。

虽然 ChatGPT 生成式人工智能的繁重工作是通过预训练完成的,但它还必须能够理解问题并从所有数据中构建答案。这是由自然语言处理和对话管理组成的推理阶段完成的。

预训练中人类的参与又如何呢?

尽管无监督预训练具有固有的可扩展性,但有一些证据表明,在准备供公众使用的 ChatGPT 时可能涉及人工协助。

《时代》杂志的一篇文章披露了这一重大事件,该文章讨论了肯尼亚使用人类“数据标签员”的情况,其收入在每小时 1.32 美元到 2 美元之间。据《时代》杂志报道,这些工作人员有责任扫描恐怖和露骨的互联网内容,将其标记为进行 ChatGPT 培训。

另一篇发表在人工智能时事通讯 Martechpost 上的文章指出,大型语言模型是使用名为“人类反馈强化学习”(RLHF) 的过程进行训练的。文章称,“训练过程涉及使用监督学习微调初始模型,人类训练师同时扮演用户和人工智能助手的角色。”

当谈到“培训”这个词的含义时,有一些微妙之处。根据 ChatGPT 本身的说法,“OpenAI 没有使用带有人类反馈的强化学习来训练我。相反,我使用无监督和监督学习技术的组合进行预训练,例如语言建模、自动编码和序列预测。我的培训涉及处理来自互联网的大量文本数据,这使我能够学习单词和短语之间的模式和关系。”

人工智能继续说道,“然而,一旦我接受了预先训练,研究人员和开发人员就可以使用强化学习和人类反馈来针对特定任务或领域对我进行微调,例如回答问题或生成文本。在这些情况下,人类可以提供以奖励或惩罚形式提供的反馈,可用于更新我的参数并提高我未来在类似任务中的表现。”

这似乎与 Marktechpost 和 TIME 的报告相符,因为最初的预训练是无监督的,允许将大量数据输入系统。但在构建与用户交流的对话响应时(更多内容见下文),响应引擎显然接受了响应类型的培训,并接受了过滤掉不适当材料的培训——而且这种培训似乎是人工辅助的。

我联系 OpenAI(ChatGPT 的制造商)寻求澄清,但尚未得到回复。如果该公司回复我(在 ChatGPT 本身之外),我将用其答案更新文章。

自然语言处理

自然语言处理(NLP)专注于使计算机能够理解、解释和生成人类语言。随着数字数据的指数级增长和自然语言界面的日益使用,NLP 已成为许多企业的关键技术。

NLP 技术可用于广泛的应用,包括情感分析、聊天机器人、语音识别和翻译。通过利用 NLP,企业可以自动化任务、改善客户服务,并从客户反馈和社交媒体帖子中获得有价值的见解。

实施 NLP 的关键挑战之一是处理人类语言的复杂性和歧义性NLP 算法需要接受大量数据的训练,才能识别模式并学习语言的细微差别。它们还需要不断完善和更新,以跟上语言使用和上下文的变化。

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

对话管理

您可能已经注意到,ChatGPT 可以提出后续问题来澄清您的意图或更好地了解您的需求,并提供考虑到整个对话历史记录的个性化响应。

这就是 ChatGPT 能够以自然且有吸引力的方式与用户进行多轮对话的方式。它涉及使用算法和机器学习技术来理解对话的上下文并在与用户的多次交流中维护它。

使用方法: 中途 | Bing 图像创建者 | 克雷永 | 稳定扩散

对话管理是自然语言处理的一个重要方面,因为它允许计算机程序以一种感觉更像对话而不是一系列一次性交互的方式与人交互。这有助于与用户建立信任和互动,并最终为用户和使用该程序的组织带来更好的结果。

当然,营销人员希望扩大信任的建立方式,但这也是一个可能令人恐惧的领域,因为这是人工智能可能操纵其用户的一种方式。

运行 ChatGPT 的硬件内部一览

Microsoft 最近发布了一个视频,讨论如何使用 Azure 创建网络来运行 ChatGPT 所需的所有计算和存储。这是一部引人入胜的手表,无论是对 Azure 的讨论还是对人工智能如何在真实硬件中构建的讨论。

常问问题

ChatGPT 的生成式人工智能与传统聊天机器人有何不同?

传统的聊天机器人基于预定义的规则和决策树进行操作,以预定的答案响应特定的用户输入。另一方面,ChatGPT 利用生成式人工智能,使其能够通过理解上下文和意图来产生独特的响应,从而使交互更加动态和人性化。

为什么无监督预训练被认为是 ChatGPT 等 AI 模型的游戏规则改变者?

Non-supervised pre-training allows AI models to learn from vast amounts of unlabeled data. This approach helps the model grasp the nuances of language without being restricted to specific tasks, enabling it to generate more diverse and contextually relevant responses.

ChatGPT 理解和响应用户查询的能力是否有任何限制?

是的。ChatGPT 依赖于它所训练的数据,这意味着它可能并不总是拥有有关最近主题或利基主题的信息。此外,它的响应是根据数据中的模式生成的,因此它有时可能会产生实际上不正确或缺乏上下文的答案。另外,它所训练的数据可能是错误的,甚至被武器化以产生彻底的误导。

现在你知道了

尽管我们的字数超过 3,200,但这仍然是 ChatGPT 内部发生的所有事情的非常基本的概述。也就是说,也许现在您对为什么这项技术在过去几个月中爆炸式增长有了更多的了解。这一切的关键在于数据本身不受“监督”,并且人工智能能够获取所输入的数据并理解它。

非常棒,真的。

最后,我将整篇文章的草稿发送给 ChatGPT,并要求 AI 用一句话描述这篇文章。干得好:

ChatGPT 就像 Google 和 Wolfram Alpha 的聪明表弟一样,可以做他们做不到的事情,比如编写故事和代码模块。

晓白博客网版权所有,原文地址https://www.xbnb.cn/12680
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享