ChatGPT是OpenAI研发的一款基于GPT-3.5架构的聊天机器人程序,能够基于预训练模式和统计规律,生成回答和互动,还能完成各种文本任务,但大家了解ChatGPT实际上是如何工作的吗?下面这篇文章笔者讲述关于这个的内容,大家一起来看看吧!
我们深入研究了广受欢迎的人工智能聊天机器人 ChatGPT 的内部工作原理,才能更好的去开发和使用它。
Google、Wolfram Alpha 和ChatGPT都通过单行文本输入字段与用户交互并提供文本结果。谷歌返回搜索结果、网页和文章列表(希望)提供与搜索查询相关的信息。Wolfram Alpha 通常提供与数学和数据分析相关的答案。
相比之下,ChatGPT 根据用户问题背后的上下文和意图提供响应。例如,你不能要求 Google 写一个故事或要求 Wolfram Alpha 编写一个代码模块,但 ChatGPT 可以做这些事情。
从根本上来说,Google 的强大之处在于能够进行大量数据库查找并提供一系列匹配。Wolfram Alpha 的强大之处在于能够解析与数据相关的问题并根据这些问题执行计算。
ChatGPT 的强大之处在于能够根据世界上大多数可数字访问的基于文本的信息(至少是 2021 年之前训练时存在的信息)解析查询并生成完全充实的答案和结果。
在本文中,我们将了解 ChatGPT 操作的主要阶段。
一、ChatGPT 操作的两个主要阶段
我们再用谷歌来打个比方。当你要求谷歌查找某些内容时,它不会在你提出要求的那一刻去搜索整个网络来寻找答案。它只会会在其数据库中搜索与该请求匹配的页面。Google 实际上有两个主要阶段:蜘蛛抓取和数据收集阶段,以及用户交互/查找阶段。
粗略地说,ChatGPT 的工作原理是相同的。数据收集阶段称为预训练,而用户响应阶段称为推理。生成式人工智能背后的魔力及其突然爆发的原因是预训练的工作方式突然被证明具有巨大的可扩展性。这种可扩展性是通过最近在经济实惠的硬件技术和云计算方面的创新而实现的。
二、人工智能预训练的工作原理
一般来说,人工智能使用两种主要方法进行预训练:监督和非监督。对于大多数人工智能项目,直到当前的生成式人工智能系统(如 ChatGPT),都使用了监督方法。
监督预训练是在标记数据集上训练模型的过程,其中每个输入都与相应的输出相关联。
例如,人工智能可以在客户服务对话数据集上进行训练,其中用户的问题和投诉被标记为客户服务代表的适当答复。为了训练人工智能,需要提出诸如“如何重置密码?”之类的问题。将作为用户输入提供,并且诸如“你可以通过访问我们网站上的帐户设置页面并按照提示操作来重置密码”之类的答案将作为输出提供。
在监督训练方法中,整个模型被训练以学习可以准确地将输入映射到输出的映射函数。该过程通常用于监督学习任务,例如分类、回归和序列标记。
但是其扩展方式是有限的。人类培训师必须花很大力气来预测所有的输入和输出。培训可能需要很长时间,并且主题专业知识有限。
但正如我们所知,ChatGPT 在主题专业知识方面几乎没有限制。你可以让它为《星际迷航》中的迈尔斯·奥布莱恩酋长写一份简历,让它解释量子物理,写一段代码,写一篇短篇小说,并比较美国前总统的执政风格状态。
不可能预测所有会被问到的问题,因此 ChatGPT 确实不可能用监督模型进行训练。相反,ChatGPT 使用无监督预训练——这就是游戏规则的改变者。
无监督预训练是根据数据训练模型的过程,其中每个输入都没有关联特定的输出。相反,模型经过训练来学习输入数据中的底层结构和模式,而无需考虑任何特定任务。该过程通常用于无监督学习任务,例如聚类、异常检测和降维。在语言建模的背景下,无监督预训练可用于训练模型理解自然语言的语法和语义,使其能够在会话上下文中生成连贯且有意义的文本。
在这里,ChatGPT 看似无限的知识成为可能。因为开发人员不需要知道输入的输出,所以他们所要做的就是将越来越多的信息转储到 ChatGPT 预训练机制中,这称为基于 Transformer 的语言建模。
三、Transformer架构
Transformer架构是一种用于处理自然语言数据的神经网络。神经网络通过互连节点层处理信息来模拟人脑的工作方式。将神经网络想象成一个曲棍球队:每个球员都有一个角色,但他们在具有特定角色的球员之间来回传递冰球,所有人一起努力得分。
Transformer 架构在进行预测时,通过使用“自注意力”来权衡序列中不同单词的重要性来处理单词序列。自我注意力类似于读者回顾前一个句子或段落以了解理解书中新单词所需的上下文的方式。转换器查看序列中的所有单词,以了解上下文以及单词之间的关系。
在训练期间,Transformer会获得输入数据(例如句子),并被要求根据该输入进行预测。该模型根据其预测与实际输出的匹配程度进行更新。通过这个过程,Transformer学习理解序列中单词之间的上下文和关系,使其成为自然语言处理任务(例如语言翻译和文本生成)的强大工具。
但是这些模型可能会生成有害或有偏见的内容,因为它们可能会学习训练数据中存在的模式和偏见。实施这些模型的公司正在尝试提供“护栏”,但这些护栏本身可能会引起问题。这是因为不同的人有不同的观点,而试图防止基于一种思想流派的偏见可能会被另一种思想流派声称为偏见。考虑到整个社会的复杂性,这使得通用聊天机器人的设计变得困难。
我们首先讨论输入 ChatGPT 的数据,然后看看 ChatGPT 和自然语言的用户交互阶段。
四、ChatGPT 的训练数据集
用于训练 ChatGPT 的数据集非常庞大。ChatGPT 基于GPT-3(生成式预训练 Transformer 3)架构。ChatGPT 的免费版本是在 CPT-3 上进行训练的。如果你每月支付 20 美元购买 ChatGPT Plus,可以选择使用GPT-3 训练数据集或更广泛的 GPT-4 数据集。
如此大量的数据使 ChatGPT 能够以前所未有的规模学习自然语言中单词和短语之间的模式和关系,这也是它能够如此有效地为用户查询生成连贯且上下文相关的响应的原因之一。
虽然 ChatGPT 基于 GPT-3 架构,但它已在不同的数据集上进行了微调,并针对对话用例进行了优化。这使得它能够为通过聊天界面与其交互的用户提供更加个性化和引人入胜的体验。
例如,OpenAI发布了一个名为Persona-Chat 的数据集,专门用于训练 ChatGPT 等会话式 AI 模型。该数据集由两个人类参与者之间的超过 160,000 条对话组成,每个参与者都被分配了一个独特的角色来描述他们的背景、兴趣和个性。这使得 ChatGPT 能够学习如何生成个性化且与对话的特定上下文相关的响应。
除了 Persona-Chat 之外,还有许多其他对话数据集用于微调 ChatGPT:
康奈尔电影对话语料库:包含电影脚本中角色之间对话的数据集。它包含 10,000 多个电影角色对之间的 200,000 多次对话,涵盖各种主题和类型。
Ubuntu 对话语料库:寻求技术支持的用户与 Ubuntu 社区支持团队之间多轮对话的集合。它包含超过 100 万个对话,使其成为用于对话系统研究的最大的公开数据集之一。
DailyDialog:各种主题的人与人对话的集合,从日常生活对话到有关社会问题的讨论。数据集中的每个对话都由几个回合组成,并标有一组情感、情绪和主题信息。
除了这些数据集之外,ChatGPT 还接受了互联网上大量非结构化数据的训练,包括网站、书籍和其他文本源。这使得 ChatGPT 能够从更一般的意义上了解语言的结构和模式,然后可以针对对话管理或情感分析等特定应用进行微调。
总体而言,用于微调 ChatGPT 的训练数据本质上通常是对话性的,并且专门包含人类之间的对话,这使得 ChatGPT 能够学习如何以对话格式生成自然且引人入胜的响应。
以这种方式思考 ChatGPT 的无监督训练:它被输入大量数据,并留给自己的设备来寻找模式并理解这一切。这就是新的生成式人工智能系统能够如此迅速扩展的机制。
虽然 ChatGPT 生成式人工智能的繁重工作是通过预训练完成的,但它还必须能够理解问题并从所有数据中构建答案。这是由自然语言处理和对话管理组成的推理阶段完成的。
五、自然语言处理
自然语言处理(NLP)专注于使计算机能够理解、解释和生成人类语言。随着数字数据的指数级增长和自然语言界面的日益使用,NLP 已成为许多企业的关键技术。
NLP 技术可用于广泛的应用,包括情感分析、聊天机器人、语音识别和翻译。通过利用 NLP,企业可以自动化任务、改善客户服务,并从客户反馈和社交媒体帖子中获得有价值的见解。
实施 NLP 的关键挑战之一是处理人类语言的复杂性和歧义性。NLP 算法需要接受大量数据的训练,才能识别模式并学习语言的细微差别。它们还需要不断完善和更新,以跟上语言使用和上下文的变化。
该技术的工作原理是将语言输入(例如句子或段落)分解为更小的组件,并分析它们的含义和关系以生成见解或响应。NLP 技术结合使用统计建模、机器学习和深度学习等技术来识别模式并从大量数据中学习,以便准确地解释和生成语言。
六、对话管理
ChatGPT 可以提出后续问题来更好地了解你的需求,并提供对于整个对话历史记录的个性化响应。
这就是 ChatGPT 能够以自然且有吸引力的方式与用户进行多轮对话的方式。它涉及使用算法和机器学习技术来理解对话的上下文并在与用户的多次交流中维护它。
对话管理是自然语言处理的一个重要方面,因为它允许计算机程序以一种感觉更像对话而不是一系列一次性交互的方式与人交互。这有助于与用户建立信任和互动,并最终为用户和使用该程序的组织带来更好的结果。
当然,营销人员希望扩大信任的建立方式,但这也是一个可能令人恐惧的领域,因为这是人工智能可能操纵其使用者的一种方式。