本章供给了OpenAI及其最显著的开展——ChatGPT的概述,要点介绍了它的前史、技能和才能。

总体方针是供给对ChatGPT怎么在各个职业和运用中运用以改善沟通和自动化流程的深化了解,终究展现这些运用怎么影响技能范畴以及其他范畴。

咱们将经过以下主题来介绍这些内容:

  • 什么是OpenAI?
  • OpenAI模型宗族概述
  • 通往ChatGPT的路途:其背面的模型数学原理
  • ChatGPT:最先进的技能现状

技能要求

为了可以测验本章中的示例,您需求以下内容:

  1. OpenAI账户,用于访问Playground和Models API(openai.com/api/login20…
  2. 您喜爱的集成开发环境(IDE),如Jupyter或Visual Studio
  3. 已装置Python 3.7.1+(www.python.org/downloads)
  4. 已装置pip(pip.pypa.io/en/stable/i…
  5. 已装置OpenAI Python库(pypi.org/project/ope…

什么是OpenAI?

OpenAI是由Elon Musk、Sam Altman、Greg Brockman、Ilya Sutskever、Wojciech Zaremba和John Schulman于2015年创立的研讨安排。正如OpenAI网页上所述,其使命是“保证人工通用智能(AGI)谋福于全人类”。由于它是通用的,AGI旨在具备学习和履行各种使命的才能,而无需进行特定使命的编程。

自2015年以来,OpenAI一直专注于深度强化学习(DRL),这是机器学习(ML)的一个子范畴,将强化学习(RL)与深度神经网络相结合。该范畴的首个奉献可以追溯到2016年,其时该公司发布了OpenAI Gym,这是一个供研讨人员开发和测验RL算法的东西包。

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作

OpenAI在该范畴继续进行研讨和奉献,但其最显著的成就与生成模型——生成式预练习改换器(GPT)相关。 在他们的论文《经过生成式预练习改善言语了解》中介绍了该模型架构,并将其命名为GPT-1之后,OpenAI的研讨人员很快在2019年发布了其继任者,即GPT-2。这个版别的GPT是在一个名为WebText的语料库进步行练习的,该语料库其时包含了超过800万个文档,总共40 GB的文本,这些文本来自于Reddit提交的URL,至少有3个赞。GPT-2具有12亿个参数,是其前身的十倍。

在这里,您可以看到HuggingFace发布的GPT-2的用户界面的登录页(transformer.huggingface.co/doc/distil-…:

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作

然后,在2020年,OpenAI首要宣告然后发布了GPT-3,该模型具有1750亿个参数,在基准测验成果上显著优于GPT-2。

除了自然言语生成模型外,OpenAI还在图画生成范畴进行了开发,并在2021年发布了该范畴的第一个模型,名为DALL-E。正如前一章说到的,DALL-E可以依据自然言语输入创立全新的图画,这些输入由最新版别的GPT-3进行解说。

DALL-E最近升级到了新版别DALL-E 2,并于2022年4月宣告发布。

鄙人图中,您可以看到DALL-E生成的以自然言语提示“生成一个舒适环境中的一杯咖啡的逼真图片”的示例图画:

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作

您可以在OpenAI DALL-E的试验室(labs.openai.com/)中测验生成创意图片,您将取得有限的免费积分进行试验。

虽然OpenAI在生成式人工智能的许多范畴进行了出资,但其在文本了解和生成方面的奉献杰出,这要归功于咱们将鄙人面的阶段中评论的根底GPT模型的开展。

OpenAI模型宗族概览

现在,OpenAI供给了一套预练习的、可供普通用户运用的模型。这有两个重要的意义:

  1. 强壮的根底模型可以直接运用,而不需求进行长时刻而昂贵的练习。
  2. 不需求成为数据科学家或机器学习工程师也可以操作这些模型。

用户可以在OpenAI Playground中测验OpenAI模型,这是一个友爱的用户界面,您可以在其间与模型进行交互,而无需编写任何代码。

以下是OpenAI Playground的首页截图:

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作

正如图2.4所示,Playground供给了一个用户界面,用户可以在界面的右侧挑选要与之交互的模型。要开端与Playground进行交互,只需在输入空间中以自然言语输入任何问题或指令即可。您还可以从OpenAI文档中的一些示例开端(platform.openai.com/examples)。

在深化研讨模型系列之前,让咱们首要界说一些在本章中会看到的术语:

令牌(Tokens):令牌可以被视为API用于处理输入提示的单词片段或阶段。与完整的单词不同,令牌或许包含尾随的空格乃至部分子词。为了更好地了解令牌的长度概念,有一些一般原则需求记住。例如,一个英文令牌大约相当于四个字符或四分之三个单词。

提示(Prompt):在自然言语处理(NLP)和机器学习(ML)的布景下,提示是指作为输入供给给AI言语模型以生成呼应或输出的文本片段。提示可以是一个问题、一个陈说或一个语句,它用于为言语模型供给上下文和方向。

上下文(Context):在GPT范畴,上下文指的是呈现在用户提示之前的单词和语句。言语模型运用这个上下文来依据练习数据中找到的方法和联系生成最有或许的下一个单词或短语。

模型置信度(Model confidence):模型置信度是指AI模型对特定猜测或输出分配的确认性或概率水平。在NLP的布景下,模型置信度一般用于指示AI模型对其生成的呼应与给定输入提示的正确性或相关性有多有信心。

上述界说关于了解怎么运用Azure OpenAI模型系列以及怎么装备它们的参数将起到要害作用。

在Playground中,有两个首要的模型系列可以进行测验:

  • GPT-3:一组可以了解和生成自然言语的模型。GPT-3在大量文本语料库进步行了练习,可以履行各种自然言语使命,如言语翻译、摘要生成、问答等。以下是一个比如:

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作

  • GPT-3.5:这是一组依据GPT-3的新模型,旨在进步其自然言语了解和生成才能。GPT-3.5模型可以履行杂乱的自然言语使命,如组成连贯的阶段或文章、生成诗篇,乃至用自然言语创立核算机程序。GPT-3.5是ChatGPT背面的模型,在其API上运转,而且在Playground中也可以经过专用的用户界面进行运用:

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作

  • Codex:这是一组可以了解和生成多种编程言语代码的模型。Codex可以将自然言语提示转化为可运转的代码,使其成为软件开发的强壮东西。下面是一个运用Codex的示例:

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作

留意:

在2023年3月,OpenAI宣告从该日期起将抛弃Codex模型。这是由于新的聊天模型(包含ChatGPT背面的GPT-3.5-turbo)具有惊人的才能,包括了编码使命,而且其成果在基准测验中乃至超过了Codex模型的成果。 关于每个模型,您还可以调整一些可装备的参数。以下是一些参数列表:

  • 温度(从0到1):操控模型回复的随机性。较低的温度使得模型更具确认性,这意味着它倾向于对相同的问题给出相同的输出。例如,假如我屡次问我的模型“OpenAI是什么?”,温度设置为0,它将始终给出相同的答案。另一方面,假如我运用温度设置为1的模型进行相同的操作,它将测验在遣词和风格方面每次都进行修正。
  • 最大长度(从0到2048):操控模型对用户提示的呼应的长度(以符号为单位)。
  • 中止序列(用户输入):使呼应在所需方位结束,例如语句或列表的结尾。
  • 前概率(从0到1):在生成呼应时,操控模型将考虑哪些符号。将其设置为0.9将考虑前90%最或许的一切或许符号。有人或许会问:“为什么不将前概率设置为1,以挑选一切最或许的符号?”答案是,即便在得分最高的符号中,用户或许仍希望坚持多样性,当模型信心较低时。
  • 频率赏罚(从0到1):操控生成的呼应中相同符号的重复次数。赏罚越高,相同符号在相同呼应中重复的概率越低。该赏罚依据到目前为止文本中符号呈现的频率,与下一个参数的要害差异在于此。
  • 存在赏罚(从0到2):与前一个参数相似,但更严厉。它减少了到目前为止文本中呈现的任何符号重复的机会。由于存在赏罚比频率赏罚更严厉,它还增加了在呼应中引进新主题的或许性。
  • 最佳(从0到20):生成多个呼应并仅显现一切符号的总概率最佳的呼应。
  • 呼应前文本和呼应后文本(用户输入):在模型的呼应之前和之后刺进文本。这有助于为模型预备呼应。

除了在Playground中测验OpenAI模型,您还可以在自界说代码中调用模型API并将模型嵌入到您的运用程序中。实际上,在Playground的右上角,您可以点击“查看代码”并导出装备,如下图所示:

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作

正如您从上述屏幕截图中可以看到的那样,代码导出了您在Playground中设置的参数装备。 现在,您可以经过在终端中运用pip install openai指令装置OpenAI库,然后在Python中开端运用它。为了运用模型,您需求生成一个API密钥。您可以在帐户设置中找到您的API密钥(platform.openai.com/account/api…),如下图所示:

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作

运用OpenAI API,您还可以测验以下在Playground中不可用的其他模型系列:

  • Moderation(内容检查):这是OpenAI开发的一个经过精调的模型,可以检测潜在的敏感或不安全的文本内容。Moderation运用机器学习算法依据文本的上下文和言语运用来对文本进行安全或不安全的分类。该模型可用于自动化交际媒体渠道、在线社区等范畴的内容检查。有多个类别,如仇视、要挟、自残、性行为、未成年人的性行为、暴力、暴力/图形等。 下面是运用Moderation API的示例代码:
import os
import openai
openai.api_key = os.getenv("OPENAI_API_KEY")
openai.Moderation.create(
input="I want to kill him",
)

输出成果如下:

<OpenAIObject id=modr-6sHusuY9frxJdfqTBXHsOAfWhckrh at 0x218bd8482c0> JSON: {
"id": "modr-6sHusuY9frxJdfqTBXHsOAfWhckrh",
"model": "text-moderation-004",
"results": [
{
"categories": {
"hate": false,
"hate/threatening": false,
"self-harm": false,
"sexual": false,
"sexual/minors": false,
"violence": true,
"violence/graphic": false
},
"category_scores": {
"hate": 1.7164344171760604e-05,
"hate/threatening": 2.614225103059198e-08,
"self-harm": 2.5988580176772302e-08,
"sexual": 2.8184256279928377e-06,
"sexual/minors": 9.1383149936064e-09,
"violence": 0.9910049438476562,
"violence/graphic": 5.316753117767803e-07
},
"flagged": true
}
]
}

在这种情况下,Moderator API 检测到了暴力内容的依据。

  • 嵌入(Embeddings):某些模型可以运用嵌入。这些嵌入将单词或语句表明为多维空间中的向量。在这个空间中,不同实例之间的数学间隔表明它们在意义上的相似性。例如,幻想一下单词 queen(女王)、woman(女性)、king(国王)和man(男人)。在咱们的多维空间中,假如表明正确,咱们希望完结以下方针:

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作

这意味着女性和男人之间的间隔应该等于女王和国王之间的间隔。以下是一个嵌入的示例:

import openai
embedding = openai.Embedding.create(
input="The cat is on the table",
model="text-embedding-ada-002")["data"][0][ "embedding"]

上述办法创立了输入的向量表明。咱们可以在这里查看输出的前10个向量:

embedding[1:10]
[-0.01369840931147337, -0.007505378685891628, -0.002576263388618827, -0.014773285016417503, 0.019935185089707375, -0.01802290789783001, -0.01594814844429493, -0.0010944041423499584, -0.014323337003588676]

在智能搜索场景中,嵌入可以十分有用。事实上,经过获取用户输入和用户想要搜索的文档的嵌入,可以核算它们之间的间隔衡量(即余弦相似度)。经过这样做,咱们可以检索与用户输入在数学间隔上更接近的文档。

  • Whisper:是一个语音识别模型,可以将音频转录为文本。Whisper可以高准确度地识别和转录各种言语和方言,使其成为自动语音识别系统的名贵东西。以下是一个示例:
# Note: you need to be using OpenAI Pythonv0.27.0 for the code below to work
import openai
openai.api_key = os.getenv("OPENAI_API_KEY")
audio_file= open("/path/to/file/audio.mp3", "rb")
transcript = openai.Audio.transcribe("whisper-1", audio_file)

输出成果如下所示:

{"text": Yes, hi, I just noticed a dent on the side of my car and I have no idea how it got there. There were no witnesses around and I'm really frustrated.
….
}

一切之前说到的模型都是预先构建的,也便是说它们现已在一个庞大的知识库进步行了预练习。

但是,你可以经过一些办法来使你的模型更加定制化,以习惯你的运用场景。

第一种办法是嵌入在模型设计中的,它涉及到在少样本学习办法中供给上下文信息(咱们将在本书的后面部分要点评论这种技能)。也便是说,你可以要求模型生成一篇文章,其间模板和词汇表与你现已写过的另一篇文章相似。为此,你可以向模型供给一个生成文章的查询和之前的文章作为参阅或上下文,以便模型更好地为你的请求做预备。

下面是一个示例:

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作

第二种办法更为杂乱,称为微调(fine-tuning)。微调是将预练习模型习惯于新使命的过程。

在微调中,经过调整现有参数或增加新参数来改动预练习模型的参数,以更好地习惯新使命的数据。这是经过在一个针对新使命的较小的有标签数据集上练习模型来完结的。微调的要害思想是运用从预练习模型中学到的知识,并将其微调到新使命上,而不是从头开端练习一个模型。请看下图:

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作

在上图中,您可以看到微调在OpenAI预建模型上的作业原理的示意图。思路是您可以运用具有通用权重或参数的预练习模型。然后,您可以运用自界说数据来练习模型,一般以键值提示和补全的方法,如下所示:

{"prompt": "<prompt text>", "completion": "<ideal generated text>"}
{"prompt": "<prompt text>", "completion": "<ideal generated text>"}
{"prompt": "<prompt text>", "completion": "<ideal generated text>"}
...

一旦练习完结,您将取得一个定制化的模型,该模型在特定使命上表现出色,例如对您公司的文档进行分类。 微调的好处在于,您可以将预建模型针对您的用例进行定制,无需从头开端重新练习它们,一起运用较小的练习数据集,然后减少练习时刻和核算成本。一起,该模型保留了经过原始练习(在大规模数据集进步行的练习)学到的生成才能和准确性。

在本段中,咱们对OpenAI向公众供给的模型进行了概述,从您可以直接在Playground中测验的模型(GPT、Codex)到更杂乱的模型(例如嵌入)。咱们还了解到,除了运用预建模型,您还可以经过微调来自界说它们,供给一组示例供其学习。

在接下来的章节中,咱们将要点介绍这些惊人模型的布景,从它们背面的数学开端,然后深化了解使得ChatGPT成为或许的巨大发现。

ChatGPT的开展之路:背面模型的数学根底

自从2015年建立以来,OpenAI一直在研讨和开发一类被称为生成预练习Transformer(GPT)的模型,而且它们作为ChatGPT背面的引擎引起了广泛重视。

GPT模型归于Transformer架构结构,该架构在谷歌研讨员于2017年宣布的论文《Attention Is All You Need》中首次引进。

Transformer架构的引进是为了战胜传统循环神经网络(RNNs)的局限性。RNNs最早是在1980年代由洛斯阿拉莫斯国家试验室的研讨人员提出的,但直到1990年代才引起了广泛重视。RNNs的开端想法是处理序列数据或时刻序列数据,跨时刻步骤保留信息。

事实上,在那个时候,经典的人工神经网络(ANN)架构是前馈ANN的架构,每个躲藏层的输出是下一层的输入,不保留关于曩昔层的信息。

为了了解Transformer背面的思想,咱们需求从其来源开端。因而,咱们将深化评论以下主题:

  • RNN的结构
  • RNN的首要约束
  • 怎么经过引进新的架构元素(包含方位编码、自留意力和前馈层)战胜这些约束
  • 咱们怎么到达GPT和ChatGPT的最新技能水平

让咱们从Transformer的前身架构开端。

循环神经网络(RNNs)的结构

让咱们设想咱们想要猜测房子价格。假如咱们只要今日的价格,咱们可以运用前馈网络结构,经过躲藏层(带有激活函数)对输入进行非线性转换,然后输出明日的价格猜测。以下是具体的步骤:

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作

但是,关于这种类型的数据,咱们很或许还有更长的序列可用。例如,咱们或许有该房子未来5年的时刻序列数据。当然,咱们希望将这些额定的信息嵌入到咱们的模型中,以便咱们的循环神经网络(RNN)可以坚持对曩昔输入的回忆,以便正确解说当时输入并猜测未来的输出。

所以,回到咱们的比如,幻想一下咱们不仅有今日的价格,还有昨天(t-1)和前天(t-2)的价格。这是怎么核算的:

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作

由于咱们只重视明日的价格,让咱们疏忽 t-1 和 t 的中间终究输出。

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作

正如你所看到的,t-2 的躲藏层输出作为 t-1 的(加权)输入,一起 t-1 的躲藏层也接纳 t-1 的输入。然后,t-1 的躲藏层输出,现已保存了 t-2 和 t-1 的输入回忆,作为 t 的躲藏层的输入。因而,明日的价格(yt+1),也便是咱们感兴趣的那个,包含了一切从前天数输入的回忆。

最后,假如咱们想要简化这个图示,咱们可以将 RNN 了解为如下方法:

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作

这意味着 RNN 在时刻步 t-n 的输出会被生成并传递给下一个时刻步的输入。RNN 层的躲藏状况也会传递给下一个时刻步的输入,使得网络可以在输入序列的不同部分之间维持和传达信息。

虽然 RNN 在人工神经网络范畴是一个严重的开展,但它们依然存在一些约束,咱们将鄙人一节中对其进行评论。

RNN一些首要的约束

如前所述,RNN存在三个首要约束:

  • 梯度消失和梯度爆破:RNN面临梯度消失和梯度爆破的问题,这使得有用练习网络变得困难。这个问题的原因是在反向传达过程中,梯度会屡次相乘,然后导致梯度变得十分小或十分大。
  • 有限的上下文:传统的RNN只能捕捉有限的上下文,由于它们逐一元素地处理输入序列。这意味着它们无法有用处理长时刻依靠联系或输入序列中相距较远的元素之间的联系。
  • 难以并行化:RNN本质上是次序履行的,这使得它们的核算难以并行化,因而它们无法充分运用当今的图形处理单元(GPU)。这使得它们在大规模数据集和设备上练习和部署变得缓慢。

为了战胜前两个约束(有限的上下文和梯度消失和梯度爆破),1997年Sepp Hochreiter和Jrgen Schmidhuber在他们的论文《长短期回忆》中提出了一种新的架构。具有这种新架构的网络被称为长短期回忆(LSTM)。

LSTM网络经过引进细胞状况的概念来处理有限上下文的问题。细胞状况与躲藏状况分开,而且可以更长时刻地坚持信息。细胞状况在网络中传递而不改动,使其可以存储来自前一个时刻步的信息,不然这些信息将会丢掉。

此外,LSTM网络经过运用精心设计的门操控信息的流动,然后处理了梯度消失和梯度爆破的问题。这有助于避免梯度变得过小或过大。

但是,LSTM网络依然存在并行化缺乏和练习时刻缓慢的问题(乃至比RNN更慢,由于它们更杂乱)。方针是具有一个可以在次序数据上完结并行化的模型。

为了战胜这些约束,引进了一种新的结构。

战胜约束 – 引进Transformer

Transformer架构经过替代循环(运用自留意力机制)来处理这些约束,然后完结并行核算和捕捉长时刻依靠联系。

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作

在上图(摘自原始论文)中,您可以看到有两个首要的构建模块:在左边,咱们有“编码器”,其使命是将输入表明为低维空间;在右侧,咱们有“解码器”,其使命是将编码器供给的低维数据转换回原始数据格式。

编码器和解码器同享了三种区分Transformer架构的首要类型的层:方位编码、自留意力和前馈。 接下来,咱们将在以下部分具体介绍每个部分的了解。

方位编码(Positional Encoding)

编码器是将自然言语输入转化为数值向量的层。这是经过嵌入(embedding)的过程完结的,嵌入是一种自然言语处理技能,它用向量表明单词,使得在向量空间中,向量之间的数学间隔代表它们所表明的单词之间的相似性。请看下面的图示:

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作

在咱们议论语句的意义时,咱们都认同语句中单词的摆放关于确认其意义十分重要。这便是为什么咱们希望咱们的编码器可以考虑到这个次序,以完结方位编码。

方位编码是一个固定的、可学习的向量,表明单词在序列中的方位。它被加到单词的嵌入向量中,使得终究的单词表明既包含其意义又包含其方位信息。

自留意力(Self-attention)

自留意力层负责确认生成输出时每个输入符号的重要性。它们回答了这样一个问题:“我应该重视输入的哪个部分?”

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作

为了取得语句的自留意力向量,咱们需求用到值(value)、查询(query)和键(key)这些元素。这些矩阵用于核算输入序列中各元素之间的留意力分数,它们是在练习过程中学习到的三个权重矩阵(一般用随机值进行初始化)。

查询用于表明留意机制当时的重视点,键用于确认应该重视输入的哪些部分,而值用于核算上下文向量。然后,这些矩阵彼此相乘,并经过非线性改换(经过softmax函数)进行处理。自留意力层的输出以一种转换后的、具有上下文感知的办法表明输入值,这使得Transformer可以依据当时使命重视输入的不同部分。下面是怎么表明矩阵乘法的示例:

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作

请留意,在《Attention is all you need》这篇论文中提出的架构中,留意力层被称为多头留意力(multi-headed attention)。多头留意力实际上是一种机制,在其间多个自留意机制并行地操作于输入数据的不同部分,产生多个表明。这使得Transformer模型可以并行地重视输入数据的不同部分,并从多个视角汇总信息。 一旦留意力层的并行输出预备好后,它们将被连接起来,并经过一个前馈层进行处理。

前馈层(feedforward layers) 前馈层负责将自留意层的输出转换为适合终究输出的表明方法。它经过全连接的前馈神经网络对输入进行改换处理。

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作

前馈层是Transformer架构的首要构建块,由两个首要元素组成:

  • 全连接层(也称为稠密层):这是一种每个神经元与前一层的每个神经元都相连的层。换句话说,来自上一层的每个输入与当时层的每个神经元相连,而且当时层的每个神经元都对下一层的一切神经元的输出做出奉献。密布层中的每个神经元经过线性改换核算其输入的加权和。
  • 激活函数:这是运用于全连接层输出的非线性函数。激活函数用于在神经元的输出中引进非线性,这关于网络学习输入数据中的杂乱方法和联系是必要的。在GPT中,激活函数是ReLU。 前馈层的输出然后作为下一层网络的输入。

鄙人图中,咱们可以看到一个通用前馈层的示例,它以一个二维向量作为输入,在稠密层中运用练习好的权重进行线性操作,然后运用ReLU激活函数对输出进行非线性改换:

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作

最后一步 – 解码成果

咱们说到,Transformer由编码器和解码器两个组件组成。虽然它们同享方位编码、自留意力和前馈层的核心元素,但解码器还需求履行额定的操作 – 将输入解码为原始数据格式。这个操作由一个线性层(一个将输入维度调整为输出维度的前馈网络)和一个softmax函数完结(它将输入转换为概率向量)。 从该向量中,咱们挑选概率最高的对应词语,并将其用作模型的最佳输出。

以上解说的一切架构元素界说了Transformer的结构。鄙人一节中,咱们将看到这个创新结构怎么为OpenAI开发的GPT-3和其他强壮的言语模型铺平了路途。

GPT-3

然后咱们来到GPT-3,ChatGPT背面的架构。它确实是依据Transformer架构的模型,但有一个特色:它只要解码器层。事实上,在OpenAI的引论论文《经过生成式预练习进步言语了解才能》中,研讨人员采用了单解码器的办法。 GPT-3是巨大的。但是,具体有多大呢? 让咱们从它所练习的知识库开端。它的方针是尽或许详尽地包括人类知识,因而它由不同的来源组成:

  • Common Crawl(commoncrawl.org/):一个在8年期间收集的大规模网络数据语料库,基本没有过滤
  • WebText2(openwebtext2.readthedocs.io/en/latest/b…):Reddit帖子中链接的网页文本调集,其间至少有3个赞
  • Books1和Books2:两个分别包含在互联网上可用的书本的语料库
  • 维基百科:一个包含来自流行在线百科全书维基百科英语版的文章的语料库

在这里你可以更好地了解一下:

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作
让咱们考虑以下假设:

  • 1个符号 ≈ 4个英文字符
  • 1个符号 ≈ 个单词

咱们可以得出结论,GPT-3大约在3740亿个单词进步行了练习! 这个知识库旨在在96个躲藏层中稀疏地练习1750亿个参数。为了让你对GPT-3的庞大有所了解,让咱们将其与之前的版别GPT-1和GPT-2进行比较:

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作

正如你所见,在自2018年推出GPT-1以来的短短几年里,GPT模型的杂乱性和深度呈指数级增长。

GPT模型的开展速度令人惊讶,特别是考虑到这个模型的最新版别,也是首个向群众敞开的版别:ChatGPT。

ChatGPT:前沿技能水平

在2022年11月,OpenAI宣告了其面向群众的对话式人工智能系统ChatGPT的Web预览。这引起了学科专家、安排机构和广阔公众的巨大重视,以至于在仅仅5天内,该服务就吸引了100万用户!

在介绍ChatGPT之前,我先让它自我介绍一下:

《现代生成式人工智能与ChatGPT和OpenAI模型》第二章:OpenAI和ChatGPT——超越市场炒作

ChatGPT是建立在先进言语模型之上的,它运用了经过修正的GPT-3版别,专门针对对话进行了微调。优化过程中采用了强化学习与人类反应(RLHF)的技能,这种技能运用人类的输入来练习模型展现出希望的对话行为。

咱们可以将RLHF界说为一种机器学习办法,其间算法经过接纳人类的反应来学习履行使命。算法被练习成做出可以最大化人类供给的奖励信号的决议计划,人类则供给额定的反应来改善算法的功能。当使命关于传统编程来说过于杂乱,或许希望的成果难以事前指定时,这种办法十分有用。

这里的要害差异在于ChatGPT在练习过程中引进了人类参加,以使其与用户坚持一致。经过采用RLHF,ChatGPT被设计成可以更好地了解和回应人类言语,以一种自但是引人入胜的办法。

留意: 同样的RLHF机制也被用于咱们可以看作是ChatGPT前身的InstructGPT。在OpenAI的研讨人员于2022年1月宣布的相关论文中,介绍了InstructGPT作为一类比GPT-3更擅长遵循英语指令的模型。

ChatGPT的知识截止日期是2021年,这意味着该模型了解的信息仅限于2021年之前可得到的。但是,您依然可以经过少数的学习样本为模型供给上下文,虽然模型的回答依然依据截止日期之前的知识库。

ChatGPT正在革新咱们与人工智能的互动办法。ChatGPT生成相似人类的文本才能使其成为广泛运用于聊天机器人、客户服务和内容创造等范畴的抢手挑选。此外,OpenAI宣告将很快发布ChatGPT API,使开发人员可以直接将ChatGPT集成到定制运用程序中。

ChatGPT在架构和练习办法上持续进行的开展和改善将进一步推动言语处理的鸿沟。

总结

在本章中,咱们回顾了OpenAI的前史、研讨范畴以及最新的开展,直到ChatGPT。咱们深化介绍了OpenAI Playground作为测验环境以及怎么将Models API嵌入到您的代码中。然后,咱们深化研讨了GPT模型宗族背面的数学原理,以便更清楚地了解ChatGPT背面的GPT-3模型的运作办法。

经过更深化地了解GPT模型背面的数学原理,咱们可以更好地认识到这些模型的强壮才能以及它们对个人和安排的多种影响办法。经过对OpenAI Playground和Models API的第一次体验,咱们看到了测验或将预练习模型嵌入到运用程序中的简单性:这里的改动游戏规则的因素是您不需求强壮的硬件和数小时的练习时刻来练习您的模型,由于它们现已为您供给,而且假如需求,还可以进行定制,只需供给几个示例。

鄙人一章中,咱们还将开端本书的第二部分,在其间咱们将看到ChatGPT在各个范畴中的运用以及怎么发挥其潜力。您将学习怎么经过正确设计提示语来充分运用ChatGPT,怎么进步日常生产力,以及它怎么成为开发人员、市场营销人员和研讨人员的杰出项目帮手。