概述
ChatGPT是由领先的人工智能研究机构OpenAI开发的语言模型。它基于彻底改变了自然语言处理领域的 Transformer 架构。该模型已经过大量数据的训练,使其能够生成文本并以类似人类的精确度和准确度响应各种提示。
ChatGPT 基于 Transformer 架构。它是一种用于处理顺序数据(例如文本)的神经网络架构。它是在 2017 年的论文“Attention is All You Need”中最先提出的。Transformer 架构基于自注意力机制,允许模型在进行预测时权衡输入序列不同部分的重要性。
下面详细解释一下Transformer的架构:

摘自 Vaswani 等人的论文“Attention is all you need”,2017 [1]
- 输入序列(Inputs):输入序列是表示文本输入的标记序列(例如,词或子词)。
- 输入嵌入:转换的第一步是将输入序列转换为向量矩阵,其中每个向量代表序列中的一个标记。这个过程称为输入嵌入。输入嵌入层将每个标记映射到捕获标记语义的高维向量。
- 自注意机制:自注意机制允许模型计算输入序列不同部分之间的关系。它包括三个步骤:查询、键和值计算以及注意力计算。在查询、键和值计算中,使用线性变换将输入向量转换为三种不同的表示形式。在注意力计算步骤中,模型计算值的加权和,其中权重基于查询和键表示之间的相似性。加权和表示序列中每个位置的自我注意机制的输出。
- Multi-Head Self-Attention:Transformer 架构使用 multi-head self-attention,允许模型关注输入序列的不同部分并并行计算它们之间的关系。在每个头中,查询、键和值计算是通过不同的线性变换执行的,输出被连接起来并转换为新的表示形式。
- 前馈网络:多头自注意力机制的输出被馈送到前馈网络,该网络由一系列全连接层和激活函数组成。前馈网络将表示转换为最终输出。
- Layer Normalization (Add & Norm Layer) : Transformer 架构的每一层中的激活都使用层归一化进行归一化,这有助于稳定训练过程并防止模型过度拟合。残差连接后接层归一化,有助于稳定训练过程,使模型更容易训练。
- 位置编码:为了捕获输入序列中标记的顺序,将位置编码添加到输入嵌入中。位置编码是一个向量,表示序列中每个标记的位置。
- Stacking Layers:Transformer架构可以通过多次重复多头自注意力机制和前馈网络来堆叠形成深度神经网络。
- Output:Transformer 的最终输出,它是输入序列的向量表示。

来源——OpenAI
嵌入是转换为数字序列的概念的数字表示,这使计算机很容易理解这些概念之间的关系。自 OpenAI /embeddings 端点首次推出以来,许多应用程序都结合了嵌入来个性化、推荐和搜索内容。

语言模型元学习
在无监督预训练期间,语言模型会发展出广泛的技能和模式识别能力。然后它在推理时使用这些能力来快速适应或识别所需的任务。术语“上下文学习”描述了这个过程的内部循环,它发生在每个序列的前向传递中。此图中的序列并不是为了代表模型在预训练期间会看到的数据,而是为了表明有时会在单个序列中嵌入重复的子任务。

较大的模型可以越来越有效地利用上下文信息。简单任务的上下文学习性能要求模型从单词中删除随机符号,无论是否有自然语言任务描述。大型模型的更陡峭的“上下文学习曲线”证明了改进的能力。
按大小分类的 AI 语言模型:

资料来源:Lifearchitect.ai
按数据来源/内容:

资料来源:Lifearchitect.ai
为 GPT-3 训练数据的主要来源列表:

GPT-3 数据源:粗体。确定为斜体。
与依赖手工制定规则和手动标记数据的传统 NLP 模型不同,ChatGPT 使用神经网络架构和无监督学习来生成响应。这意味着它可以学习生成响应而无需明确告知正确的响应是什么,这使其成为处理各种对话任务的强大工具。
该模型使用人类反馈强化学习 (RLHF) 进行训练,使用与 InstructGPT 相同的方法,但数据收集设置略有不同。最初模型是使用有监督的微调进行训练的:人类 AI 训练员提供他们扮演双方角色的对话——用户和 AI 助手。然后,培训师可以访问模型编写的建议,以帮助他们撰写回复。然后它将这个新的对话数据集与 InstructGPT 数据集混合,转换为如下图所示的对话格式。

···
主要特性和功能:
- 根据提示生成文本和响应。
- 聊天和对话式 AI。
- 互动讲故事。
- 内容生成。
- 客户服务和支持。
···
ChatGPT 的炫酷应用:
ChatGPT 可用于各种有趣和有创意的应用程序。以下是您可以使用 ChatGPT 执行的一些示例。
- 生成文本和响应 ChatGPT 最流行的用途之一是根据提示生成文本。通过提供提示,您可以要求 ChatGPT 生成文本作为响应。例如,您可以要求 ChatGPT 根据提示生成一个故事,或者您可以要求它完成一个句子或段落。
- 交互式讲故事 ChatGPT 可用于创建交互式故事。您可以提示 ChatGPT 生成故事的下一部分并以这种方式继续故事。这是一种有趣且引人入胜的故事创作方式,也可用于教育或培训目的。
- 聊天和对话式 AI ChatGPT 也可以用作对话式 AI。您可以与 ChatGPT 进行对话,向其提问并实时接收回复。这可用于客户服务和支持,以及交互式故事讲述和其他应用程序。
- 通过提供强大的信息/交互式搜索代理来创建或扩展搜索引擎功能。有很多机会可以增强搜索引擎的能力,使其能够准确地生成用户所要求的内容——WYSWYG(所见即所得)。在撰写这篇文章时,讨论已经将在Bing 搜索引擎上添加 GPT-3,这将为该平台扩展其功能开辟创新的可能性。未来它还可以包括图像和视频处理/搜索、基于位置的精确信息、附近的事件/活动等功能。这将是游戏规则的改变者和搜索行业的新革命。
[还有更多……]
···
ChatGPT的创新和技巧
ChatGPT 可以定制和优化以满足您的需求。这里有一些提示和技巧,可帮助您充分利用 ChatGPT。
- 使用创意提示:提示 ChatGPT 的方式可以显着影响其响应的质量和创意。尝试使用非常规或有创意的提示,看看您能得到什么样的回应。
- 构建聊天机器人:ChatGPT 可用于为客户服务、销售和其他应用程序构建聊天机器人。您还可以尝试构建具有个性和个性的聊天机器人,以增强用户体验。
- 生成内容:ChatGPT 可用于生成各种类型的内容,例如文本、摘要,甚至诗歌。尝试使用 ChatGPT 生成不同风格和格式的内容。
- 使用 ChatGPT 进行语言翻译:ChatGPT 可用于语言翻译,并根据特定语言数据对其进行微调有助于提高其准确性。
- 将 ChatGPT 与其他模型结合使用:ChatGPT 可以与其他模型(例如 GPT-3)结合使用,以创建更高级和更复杂的 AI 应用程序。
- 尝试不同的 API:OpenAI 提供了一系列 API 来与 ChatGPT 一起工作,每个 API 都有自己的一组功能和限制。尝试使用不同的 API 进行试验,看看哪一个最适合您的需求。
- 个性化模型:ChatGPT 可以通过对相关数据进行微调来个性化以适应特定的用例和领域。ChatGPT 是一个高度灵活的模型,在特定数据集上对其进行微调有助于提高其性能和准确性。
- 使用控制代码自定义响应:您可以使用控制代码来自定义 ChatGPT 生成的响应。例如,您可以使用控制代码来更改响应的语气或风格。
···
ChatGPT场景应用:
作为私人厨师
,我希望你担任我的私人厨师。我会告诉你我的饮食偏好和过敏症,你会建议我尝试的食谱。你应该只回复你推荐的食谱,别无其他。不要写解释。我的第一个请求是“我是一名采用生酮饮食的素食主义者,我正在寻找健康的晚餐点子。”
作为一名数学老师
,我希望你扮演一名数学老师。我将提供一些数学方程式或概念,你的工作是用易于理解的术语来解释它们。这可能包括提供解决问题的说明、通过视觉展示各种技术或建议在线资源以供进一步研究。我的第一个请求是“我需要帮助来理解微积分是如何工作的。”
作为一名博客作者
“我正在寻找一篇 [类型的博客文章],它将向 [理想的客户角色] 展示我的 [产品/服务] 的价值和好处,并说服他们采取 [期望的行动],并提供社会证明和建立信誉的要素。”
作为 YouTube 广告脚本
“我正在寻找一个 YouTube 广告脚本,它可以通过相关且真实的信息吸引我的[理想客户角色],然后通过强烈的号召性用语说服他们采取[所需的行动]和引人注目的视觉效果。”
作为营销人员
“我正在寻找一个有影响力的营销活动大纲,该大纲将针对我的[理想客户角色]和[有影响力的类型]的[特定类型的内容],他们可以提供有关我们[产品/服务]的有价值和相关的信息,并且鼓励他们采取[期望的行动]。”
作为一名电子邮件发送者
“我正在寻找一种创新的电子邮件创意,它将提供有关如何使用我的 [产品/服务] 的分步指南,并说服我的 [理想客户角色] 以清晰且令人信服的说明进行购买”
作为软件开发人员
,我希望您扮演软件开发人员的角色。我将提供一些关于 Web 应用程序要求的具体信息,你的工作就是提出一个架构和代码来使用 Angular 开发安全的应用程序。我的第一个要求是’我想要一个允许用户根据他们的角色注册和保存他们的产品信息的系统,并且会有管理员、标准用户和 IT 支持角色。我希望系统使用 JWT 来保证安全。
作为一名 Instagram 写手,
“我需要一个 Instagram 故事创意,通过展示我的 [公司/品牌] 的专业知识和专业精神,与我的 [理想客户角色] 建立信任和信誉。”
作为一名 YouTube创作者
用户,“我需要一个 YouTube 视频创意,让我可以了解我的 [公司/品牌] 的幕后花絮,并说服我的 [理想客户角色] 采取具有真实性和相关性的 [期望的行动]。”
作为系统设计师
“我想为[需求详情]设计一个系统。我需要在 Markdown 中以表格格式详细创建数据模型。”
当然, ChatGPT 可以做到更多
···
限制
ChatGPT 有时会写出看似合理但不正确或荒谬的答案。解决这个问题具有挑战性,因为:(1)在 RL 训练期间,目前没有真实来源;(2) 训练模型更加谨慎导致它拒绝可以正确回答的问题;(3) 监督训练会误导模型,因为理想的答案取决于模型知道什么,而不是人类演示者知道什么。
ChatGPT 对输入措辞的调整或多次尝试相同的提示很敏感。例如,给定一个问题的措辞,模型可以声称不知道答案,但只要稍作改写,就可以正确回答。
该模型通常过于冗长并过度使用某些短语,例如重申它是 OpenAI 训练的语言模型。这些问题源于训练数据的偏差(训练者更喜欢看起来更全面的更长答案)和众所周知的过度优化问题。
理想情况下,当用户提供模棱两可的查询时,模型会提出澄清问题。相反,我们当前的模型通常会猜测用户的意图。
虽然 OpenAI 团队努力使模型拒绝不适当的请求,但它有时会响应有害指令或表现出有偏见的行为。OpenAI 正在使用 Moderation API 来警告或阻止某些类型的不安全内容,但他们预计目前它会有一些漏报和漏报。他们渴望收集用户反馈,以帮助正在进行的改进该系统的工作。