聊聊Chat GPT-1到GPT-4的发展历程

时间:2023-02-15 10:09:26

OpenAI的Generative Pre-trained Transformer(GPT)模型通过引入非常强大的语言模型,在自然语言处理(NLP)领域引起了巨大震动。这些模型可以执行各种NLP任务,如问题解答、文本蕴涵、文本总结等,而无需任何监督训练。这些语言模型只需要很少或根本不需要示例就可以理解任务并执行与以监督方式训练的最先进模型相当或甚至更好的任务。

下面将介绍这些模型的发展历程,并了解它们在近两年的时间里是如何演变的。我们从目标和概念、使用的数据集、模型架构和实现细节以及性能评估4个方面介绍。

聊聊Chat GPT-1到GPT-4的发展历程

一 GPT-1

通过生成预训练(GPT-1)提高语言理解:

在这项工作之前,大多数最先进的NLP模型都是使用监督学习专门针对特定任务进行训练的,如情绪分类、文本蕴涵等。然而,监督模型有两个主要限制:

(1)需要大量注释数据来学习通常不容易获得的特定任务。

(2)无法概括自己所接受训练以外的任务。

GPT-1提出了使用未标记的数据学习生成语言模型,然后通过提供特定下游任务(如分类、情感分析、文本蕴涵等)的示例来微调该模型。

无监督学习作为监督微调模型的预训练目标,因此称为生成预训练。

1.学习目标和概念

NLP任务的半监督学习(无监督预训练后有监督微调)包括以下三个部分:

a.无监督语言建模(预训练):对于无监督学习,使用标准语言模型目标。

聊聊Chat GPT-1到GPT-4的发展历程

其中 T 是无监督数据 {t_1,…,t_n} 中的标记集,k 是上下文窗口的大小,θ 是使用随机梯度下降训练的神经网络的参数。

b.监督微调:本部分旨在最大化观察标签y、给定特征或标记x_1、…、x_n的可能性。

聊聊Chat GPT-1到GPT-4的发展历程

其中 C 是由训练示例组成的标记数据集。

作者没有简单地最大化等式 (ii) 中提到的目标,而是添加了一个辅助学习目标用于监督微调,以获得更好的泛化和更快的收敛。修改后的培训目标表述为:

聊聊Chat GPT-1到GPT-4的发展历程

其中 L₁(C) 是学习语言模型的辅助目标,λ 是赋予该次要学习目标的权重。λ 设置为 0.5。

监督微调是通过向转换模型添加一个线性层和一个 softmax 层来获得下游任务的任务标签来实现的。

c.任务特定输入转换:为了在微调过程中对模型的架构进行最小的更改,将特定下游任务的输入转换为有序序列。令牌按以下方式重新排列:

-开始和结束标记被添加到输入序列中。

-在示例的不同部分之间添加了分隔符标记,以便可以按顺序发送输入。对于回答问题、选择题等任务,每个示例都发送了多个序列。例如,由上下文、问题和答案序列组成的训练示例。

2.数据集

GPT-1使用BooksCorpus数据集来训练语言模型。BooksCorpus有大约7000本未出版的书,这些书有助于根据未发现的数据训练语言模型。该数据不太可能在下游任务的测试集中找到。此外,这个语料库有大量的连续文本,这有助于模型学习大范围的依赖关系。

3.模型架构和实现细节

GPT-1使用了12层仅解码器的转换器结构,并对训练语言模型进行了自我关注。模型的架构在很大程度上与转换器的原始工作中描述的相同。掩蔽有助于实现语言模型目标,其中语言模型不能访问当前单词右侧的后续单词。

以下是实施细节:

a.对于无监督培训:

•使用了具有 40,000 个合并的字节对编码 (BPE) 词汇表。

•模型使用 768 维状态将标记编码为词嵌入。位置嵌入也是在训练期间学习的。

•使用 12 层模型,每个自注意力层有 12 个注意力。

•对于位置前馈层,使用了 3072 维状态。

•使用 Adam 优化器,学习率为 2.5e-4。

•注意力、残差和嵌入丢失被用于正则化,丢失率为 0.1。L2 正则化的修改版本也用于非偏置权重。

•GELU 用作激活函数。

•该模型在大小为 64、序列长度为 512 的小批量上训练了 100 个周期。该模型总共有 117M 个参数。

b.对于监督微调:

•大多数下游任务的监督微调只需3个周期。这表明该模型在预训练期间已经学习了很多关于语言的知识。因此,最小的微调就足够了。

•来自无监督预训练的大多数超参数用于微调。

4.总结

GPT-1在12项任务中的9项中的表现优于专门训练的受监督的最先进模型。

该模型的另一个重要成就是其在各种任务上的零样本性能。由于预训练,该模型在不同的NLP任务(如问题回答、模式解决、情绪分析等)上的零样本性能有所改进。

GPT-1证明语言模型是一个有效的预训练目标,可以帮助模型很好地推广。该体系结构促进了迁移学习,并且可以执行各种NLP任务,只需很少的微调。该模型显示了生成性预训练的力量,并为其他模型开辟了道路,这些模型可以通过更大的数据集和更多的参数更好地释放这种潜力。

二 GPT-2

语言模型是无监督的多任务学习(GPT-2):

GPT-2模型的发展主要是在使用更大的数据集和向模型中添加更多参数以学习更强大的语言模型方面。让我们看看GPT-2模型的重大发展以及概念:

1.学习目标和概念

以下是在 NLP 背景下讨论的两个重要概念。

•任务调节:语言模型的训练目标被表述为 P(输出|输入)。然而,GPT-2 旨在使用相同的无监督模型学习多个任务。为此,学习目标应修改为 P(output|input, task)。这种修改被称为任务调节,其中模型预计会为不同任务的相同输入产生不同的输出。一些模型在架构级别实现任务调节,在该级别模型同时提供输入和任务。对于语言模型,输出、输入和任务都是自然语言的序列。因此,执行语言模型的任务条件通过向模型提供示例或自然语言指令来执行任务。任务调节构成了零样本任务转换的基础。

•零样本学习和零短任务转换:GPT 2 的一个有趣的能力是零样本任务转换。零样本学习是零样本任务转换的一种特殊情况,其中根本没有提供示例,模型根据给定的指令理解任务。与 GPT-1 进行微调时重新排列序列不同,GPT-2 的输入以一种格式给出,该格式期望模型理解任务的性质并提供答案。这样做是为了模拟样本任务转转行为。例如,对于英语到法语的翻译任务,给模型一个英语句子,然后是法语单词和一个提示符 (:)。该模型应该理解这是一项翻译任务,并给出法语对应的英语句子。

2.数据集

为了创建一个广泛且高质量的数据集,抓取了 Reddit 平台并从高赞文章的出站链接中提取数据。生成的名为 WebText 的数据集包含来自超过 800 万份文档的 40GB 文本数据。该数据集用于训练 GPT-2,与用于训练 GPT-1 模型的 Book Corpus 数据集相比规模庞大。所有*文章都从 WebText 中删除,因为许多测试集包含*文章。

3.模型架构和实现细节

GPT-2 有 15 亿个参数。是 GPT-1(117M 参数)的 10 倍。与 GPT-1 的主要区别是:

•GPT-2 有 48 层,使用 1600 维向量进行词嵌入。

•使用了 50,257 个标记的更大词汇量。

•使用了 512 的更大批量大小和 1024 个标记的更大上下文窗口。

•层归一化被移动到每个子块的输入,并在最终的自注意力块之后添加了一个额外的层•归一化。

•在初始化时,残差层的权重按 1/√N 缩放,其中 N 是残差层的数量。

•训练了 117M(与 GPT-1 相同)、345M、762M 和 1.5B(GPT-2)参数的四种语言模型。每个后续模型的困惑度都低于前一个模型。这表明同一数据集上的语言模型的困惑度随着参数数量的增加而降低。此外,参数数量最多的模型在每个下游任务上的表现都更好。

4.总结

GPT-2 在阅读、理解、总结、翻译、问答等下游任务的多个数据集上进行了评估。让我们详细了解其中一些任务以及 GPT-2 在这些任务上的表现:

•GPT-2 在零样本设置中改进了 8 个语言建模数据集中的 7 个的现有技术水平。

•儿童读物数据集评估语言模型在名词、介词、命名实体等词类上的表现。GPT-2 将普通名词和命名实体识别的最先进准确度提高了约 7%。

•LAMBADA数据集评估模型在识别长程依赖和预测句子最后一个词方面的性能。GPT-2 将困惑度从 99.8 降低到 8.6,并显着提高了准确性。

•GPT-2 在零样本设置的阅读理解任务中优于 4 个基线模型中的 3 个。

•在法语到英语的翻译任务中,GPT-2 在零样本设置中的表现优于大多数无监督模型,但并未优于最先进的无监督模型。

•GPT-2 在文本摘要方面表现不佳,其性能与为摘要训练的经典模型相似或更差。

•GPT-2 能够在零样本测试的 8 个语言建模数据集中的 7 个上取得最先进的结果。

GPT-2 表明,在更大的数据集和更多参数上进行训练提高了语言模型理解任务的能力,并超越了零样本设置中许多任务的最新技术水平。随着模型容量的增加,性能以对数线性方式增加。此外,语言模型的困惑度下降并没有出现饱和,而是随着参数数量的增加而持续下降。事实上,GPT-2对WebText数据集的拟合不足,更多时间的训练可能会进一步降低困惑度。这表明 GPT-2 的模型大小不是限制,构建更大的语言模型将减少困惑并使语言模型更好地理解自然语言。

三 GPT-3

语言模型是少样本学习者(GPT-3):

为了构建非常强大的语言模型,无需进行微调,只需少量演示即可理解任务并执行任务,OpenAI构建了具有1750亿参数的GPT-3模型。该模型的参数是微软强大的图灵NLG语言模型的10倍,参数是GPT-2的100倍。由于大量的参数和广泛的数据集GPT-3已经过训练,它在零样本和少样本设置在下游NLP任务中表现良好。由于它的容量大,它有写文章的能力,很难与人类写的文章区分开来。它还可以执行从未明确训练过的即时任务,如总结数字、编写SQL查询和代码、解读句子中的单词、编写React和JavaScript代码,给出任务的自然语言描述等。让我们了解GPT-3中的概念和发展,以及该模型的一些更广泛的影响和限制:

1.学习目标和概念

•上下文学习:大型语言模型使用它们所训练的文本数据来开发模式识别和其他技能。在学习预测给定上下文词的下一个词的主要目标的同时,语言模型也开始识别数据中的模式,这有助于它们最大限度地减少语言建模任务的损失。后来,这种能力在零样本任务转换期间帮助模型。当出现少量示例或需要做什么的描述时,语言模型会将示例的模式与其过去从类似数据中学到的知识相匹配,并使用该知识来执行任务。这是大型语言模型的一个强大能力,随着模型参数数量的增加而增加。

•少样本、单样本 和 零样本 设置:如前所述,少样本、单样本 和 零样本 设置是零样本任务转换的特例。在少样本设置中,模型提供了任务描述和适合模型上下文窗口的尽可能多的示例。在单样本设置中,模型仅提供一个示例,而在零样本设置中,不提供任何示例。随着模型容量的增加,模型的少样本、单样本 和 零样本能力也随之提升。

2.数据集

GPT-3 在五个不同语料库的混合体上进行训练,每个语料库都分配有一定的权重。高质量的数据集被更频繁地采样,并且模型在它们上训练了不止一个周期。使用的五个数据集是 Common Crawl、WebText2、Books1、Books2 和 Wikipedia。

3.模型和实现细节

•GPT-3 的架构与 GPT-2 相同。与 GPT-2 的几个主要区别是:

•GPT-3 有 96 层,每层有 96 个关注点。

•GPT-3 的词嵌入大小从 GPT-2 的 1600 增加到 12888。

•上下文窗口大小从 GPT-2 的 1024 个增加到 GPT-3 的 2048 个令牌。

•Adam 优化器与 β_1=0.9、β_2=0.95 和 ε= 10^(-8) 一起使用。

•使用了交替的密集和局部带状稀疏注意力模式。

4.总结

GPT-3 在大量语言建模和 NLP 数据集上进行了评估。对于 LAMBADA 和 Penn Tree Bank 等语言建模数据集,GPT-3 在少量或零样本设置中的表现优于现有技术。对于其他数据集,它无法击败最先进的技术,但提高了零样本最先进的性能。GPT-3 在 NLP 任务中也表现相当不错,如闭卷问答、模式解析、翻译等,经常击败最先进的或与微调模型相当的表现。对于大多数任务,模型在少样本设置中的表现优于单样本和零样本设置。

除了在常规 NLP 任务上评估模型外,该模型还在算术加法、单词解读、新闻文章生成、学习和使用新词等综合任务上进行了评估。对于这些任务,性能也随着数量的增加而提高参数和模型在少样本设置中的表现优于单样本和零样本。

5.局限性和影响

尽管 GPT-3 能够生成高质量的文本,但有时它会在制定长句子时开始失去连贯性,并一遍又一遍地重复文本序列。此外,GPT-3 在自然语言推理(确定一个句子是否暗示另一个句子)、填空、一些阅读理解任务等任务上表现不佳。GPT 模型的单向性可能是局限性,建议以这种规模训练双向模型来克服这些问题。另一个局限性是 GPT-3 的通用语言建模目标,该目标对每个令牌均等加权,并且缺乏任务或面向目标的令牌预测的概念。为了解决这个问题,可以采用增强学习目标、使用强化学习来微调模型、添加其他模式等提升。

GPT-3 的其他局限性包括,由于其庞大的架构,模型的推理复杂且成本高昂,语言的可解释性较差等。

除了这些限制外,GPT-3 还存在滥用其类人文本生成能力进行网络钓鱼、垃圾邮件、传播错误信息或执行其他欺诈活动的潜在风险。此外,GPT-3 生成的文本具有其训练语言的偏见。GPT-3 生成的文章可能具有性别、民族、种族或宗教偏见。因此,谨慎使用此类模型并在使用前监控它们生成的文本变得极其重要。

四 GPT-4

GPT-4 有望比 GPT-3 实现巨大的性能飞跃,包括改进模仿人类行为和速度模式的文本生成。GPT-4 能够以更通用和适应性更强的方式处理语言翻译、文本摘要和其他任务。通过它训练的软件将能够更准确地推断用户的意图,即使人为错误干扰了指令。

据推测,GPT-4 仅略大于 GPT-3。较新的模型消除了这样一种误解,即变得更好的唯一方法是通过更多地依赖机器学习参数而不是大小来变得更强大。虽然它仍将比大多数上一代神经网络大,但它的大小与其性能的相关性并不大。

一些最新的语言软件解决方案实现了难以置信的密集模型,其大小达到了 GPT-3 的三倍以上。然而,规模本身并不一定能转化为更高的性能水平。相反,较小的模型似乎是训练数字智能的最有效方式。它们不仅性能得到提升,而且还可以降低计算成本、碳足迹和进入壁垒。

语言模型的最大缺点之一是用于训练的资源。公司通常决定以较低的价格交换准确性,从而导致 AI 模型明显未优化。通常,人工智能只被教授一次,这使得它无法获得学习率、批量大小和序列长度等特征的最佳超参数集。最近,超参数调整已被证明是性能改进的最重要驱动因素之一。但是,这对于较大的模型是无法实现的。可以在较小的规模上以一小部分成本训练新的参数化模型,然后将超参数传输到更大的系统,几乎完全没有成本。

因此,GPT-4 不需要比 GPT-3 大很多就可以更强大。它的优化基于改进模型大小以外的变量,例如更高质量的数据。通过能够使用正确的超参数集、最佳模型大小和准确数量的参数的微调 GPT-4,可以在所有基准测试中实现令人难以置信的发展。

GPT-4 的重点是提供更强大的功能和更有效的资源使用。它不是依赖大型模型,而是经过优化以充分利用较小的模型。通过足够的优化,小模型可以跟上甚至超越最大模型。此外,较小模型的实施允许创建更具成本效益和环境友好的解决方案。

词汇表:

辅助学习目标是与主要学习目标一起学习的附加训练目标或任务,通过使模型更通用来提高模型的性能。

掩蔽指的是用其他虚拟标记移除或替换句子中的单词,从而使模型在训练时无法访问这些单词。

字节对编码是一种数据压缩技术,其中频繁出现的连续字节对被替换为数据中不存在的字节来压缩数据。为了重建原始数据,使用包含替换字节映射的表。

零样本学习或行为指的是一个模型在过去没有见过任何此类例子的情况下执行任务的能力。零样本学习过程中不会发生梯度更新,模型应该能够理解任务,而不需要查看任何示例。

零样本任务转换或元学习指的是一种设置,在该设置中,模型只显示很少或没有示例,以使其理解任务。

困惑是语言模型的标准评估指标。困惑是测试集的反概率,通过测试集中的单词数进行归一化。困惑程度较低的语言模型被认为比困惑程度较高的语言模型更好。