下面将按照时间顺序介绍几种代表性的 GPT 方法。
1.GPT1
2017 年,Google 推出 Transformer,利用注意力机制完全替代过往深度学习 中的卷积结构,直白地展现出了 “大一统模型” 的野心。2018 年 6 月,OpenAI 通 过论文《Improving Language Understanding by Generative Pre-Training》[47] 推 出了基于 Transformer Decoder 改造的第一代 GPT(Generative Pre-Training),该模型是最早的将 Transformer 以多层堆叠的方式构成语言模型的模型,有效证明了 在自然语言处理领域上使用预训练和微调方式的有效性。
类似地,在计算机视觉 领域,先预训练后微调的方式盛行已久:先用海量有标注的数据集,通过有监督的 训练生成一个预训练模型,然后通过下游任务,在这个模型上做微调。但是在自然 语言处理中,这个方式一直很难做起来,原因是:缺乏大量标注好的文本数据集、比起图像信息,文字的信息更难被模型理解。Transformer 出世后,模型对文字上 下文的理解能力得到显著增强,在这一铺垫下,GPT1 诞生了。

GPT1的 整体设计思路如下:首先,用无标注的数据(可以理解为一段普通的文字)训练一 个预训练模型。在这个环节里,我们培养模型文字接龙的能力,也就是给定前 k 个 词,模型能预测出第 k+1 个词。然后,在模型能够理解文字含义的基础上,用有 标注的数据训练模型去定向做一些下游任务。例如文本分类,文本相似性比较等。 有标注的数据集是远小于无标注数据集的,在这个环节,我们只是对模型做了一 些微小的调整。
(1)GPT1 的优缺点
优点:GPT1 是第一个使用 Transformer 自回归模型的自然语言处理模型,可 用于各种文本语言任务,如机器翻译,文本生成,对话生成等。
缺点:GPT1 没有全面的站点,在处理复杂的对话任务中容易走样,并且其 预测结果不太准确。
(2)GPT1 的应用场景
GPT1 是第一个使用 Transformer 神经网络架构的语言模型,它使用了极大的 文本数据集进行预训练。它的训练数据包括预定义的文本领域,如天气、体育、新 闻等。GPT1 采用自回归模型预测下一个词的出现概率,然后使用 Beam Search 算 法生成下一句话。GPT1 在自建语料库上进行训练,训练得到的模型可用于各种下 游任务,如基于任务的语言学习和对话生成等。

2.GPT2
2018 年 10 月 Google 推出基于 Transformer 编码器的 Bert 算法,在同样参数 大小的前提下,其效果领跑于 GPT1,一时成为自然语言处理领域的领头羊。基于 Transformer 的模型,模型和数据量越大,效果越好。但如果只做到这一点,从技 术上来说又太逊色了,性价比也不高。因此,openAI 在 2019 年 02 月从训练数据 上进行改进,引入了 zero-shot 这一创新点,GPT2(GPT1: 110M,Bert: 340M,, GPT2: 1.5B)就诞生了 [48]。GPT2 主要针对 zero-shot 问题,希望 在完全不理解词的情况下建模,以便让模型可以处理任何编码的语言。下面我们 将对其与 GTP1 的区别和自身的优缺点进行介绍。
(1)相较于 GPT1 的改进
GPT2 去掉了微调层:不再针对不同任务分别进行微调建模,而是不定义这个 模型应该做什么任务,模型会自动识别出来需要做什么任务。在预训练部分基本 与 GPT1 方法相同,在微调部分把第二阶段的有监督训练自然语言处理任务,换 成了无监督训练任务,这样使得预训练和微调的结构完全一致。当问题的输入和输 出均为文字时,只需要用特定方法组织不同类型的有标注数据即可代入模型,如 对于问答使用 “问题 + 答案 + 文档” 的组织形式,对于翻译使用 “英文 + 法文” 形式。用前文预测后文,而非使用标注数据调整模型参数。这样既使用了统一的结 构做训练,又可适配不同类型的任务。虽然学习速度较慢,但也能达到相对不错的 效果。另外 GPT2 将 Transformer 堆叠的层数增加到 48 层,隐层的维度为 1600, 参数量更是达到了 15 亿。
(2)GPT2 的优缺点
优点:GPT2 在 GPT1 的基础上进一步改进了模型,通过增加更多的参数 (1.5 亿到 15 亿)来提高性能。同时 GPT2 可以生成更长的文本,更好地处 理对话,并且有更好的通用性。
缺点:GPT2 的训练数据来自于互联网,这意味着它存在垃圾数据和不当信 息的问题。这使得它偶尔会生成不适当的回答。此外,GPT2 是封闭模型,无 法对其进行修改或改进。
(3)GPT2 的应用场景
应用场景:在性能方面,除了理解能力外,GPT2 在生成方面第一次表现出了 强大的天赋:阅读摘要、聊天、续写、编故事,甚至生成假新闻、钓鱼邮件或在网 上进行角色扮演通通不在话下。在 “变得更大” 之后,GPT2 的确展现出了普适而 强大的能力,并在多个特定的语言建模任务上实现了彼时的最佳性能。
3.GPT3
虽然预训练和微调在许多情况下效果显著,但是微调过程需要大量样本。这 一框架不符合人类习惯,人类只需要少量的示例或任务说明就能适应一个新的自 然语言处理下游任务。因此 OpenAI 于 2020 年 06 月推出了 GPT3 [3],该模型延 续了 GPT1 和 GPT2 基于 Transformer 的自回归语言模型结构,但 GPT3 将模型 参数规模扩大至 175B,是 GPT2 的 100 倍,从大规模数据中吸纳更多的知识。GPT3 不再追求 zero-shot 的设定,而是提出 In-Context Learning,在 下游任务中模型不需要任何额外的微调,利用提示信息给定少量标注的样本让模 型学习再进行推理生成,就能够在只有少量目标任务标注样本的情况下进行很好 的泛化,再次证明大力出击奇迹,做大模型的必要性。
(1)GPT3 的优缺点
优点:与 GPT2 相比,GPT3 更加强大,它有 1750 亿个参数,并能够非常 准确地执行一些任务,如语言翻译,问答与自动文本摘要。此外,GPT3 是 开放模型,可供用户访问,并且可以进行迭代和改进。
缺点:尽管 GPT3 功能强大,但在某些情况下仍会出现语义不清或不正确的 回答,特别是对于特定领域的问题:1)当生成文本长度较长时,GPT3 还是 会出现各种问题,比如重复生成一段话,前后矛盾,逻辑衔接不好等等;2) 模型和结构的局限性,对于某一些任务,比如填空类型的文本任务,使用单向的自回归语言模型确实存在一定的局限性,这时候如果同时考虑上文和下 文的话,效果很可能会更好一些;3)预训练语言模型的通病,在训练时,语 料中所有的词都被同等看待,对于一些虚词或无意义的词同样需要花费很多 计算量去学习,无法区分学习重点;4)样本有效性或者利用率过低,训一个 模型几乎要把整个互联网上的文本数据全都用起来,这与我们人类学习时所 需要的成本存在非常大的差异,这方面也是未来人工智能研究的重点;5)有 一个不太确定的点是,模型到底是在 “学习” 还是在 “记忆”?我们当然希望 它能够学习,但是在使用数据量如此大的情况下,很难去判断它到底是什么 样的;6)众所周知,GPT-3 的训练和使用成本都太大了;7)GPT-3 跟很多 深度学习模型一样,都是不可解释的,没办法知道模型内部到底是如何作出 一系列决策的;8)模型最终呈现的效果取决于训练数据,这会导致模型会出 现各种各样的 “偏见”。

(2)GPT3 的应用场景
GPT3 的应用领域十分广泛。其中最重要的运用之一是自然语言生成,它可 以根据给定的前后文或主题,自动生成语言流畅、连贯、逻辑清晰的帖子、新闻报 导、诗文、对话等文字。此外,GPT3 也可以进行文本分类、情感分析、机器翻译、 问答等多种自然语言处理任务,这些任务表现往往与人类表现很接近甚至超过了 人类表现。正由于 GPT3 这些强大的能力,以及其开源的特性,使得 GPT3 成为 一个在 ChatGPT 模型诞生之前,被广泛使用的一个基座模型。
在应用方面,GPT3 早已广泛应用于各种领域。比如,在教学领域,它能够为 学生提供定制化的学习材料和回答,为教育行业带来更加智能、高效的教学模式。 在商业领域,它可以用于智能客服、智能营销等场景,为用户提供更加人性化、高效的服务。在科技领域,它可以用于机器翻译、语音识别等场景,为人机交互带来 更加便利的感受。在数据处理领域,它可以被用于一些结构化数据的分析,成为高 效的数据分析师。
然而,GPT3 也存在一些挑战和难题。最先,因为 GPT3 使用了大规模的训练 数据和模型,其计算资源耗费特别大,必须运行在强悍的计算平台上。其次,GPT3 还存在一些难题,比如针对一些特殊领域的语言逻辑水平有限,必须针对不同的 领域开展专门的训练和优化。此外,GPT3 也存在一定的语言成见难题,可能会体 现出一些社会、文化与性别上的成见。各种问题需要进一步的研究和处理。这些问 题在之后的 GPT3.5 中得到了较大程度的缓解。
4.GPT3.5
GPT3 纵然很强大,但是对于人类的指令理解的不是很好,这也就延伸出了 GPT3.5 诞生的思路。在做下游的任务时,我们发现 GPT3 有很强大的能力,但 是只要人类说的话不属于 GPT3 的范式,他几乎无法理解。2022 年 初 OpenAI 发布了 GPT3.5,该模型是在 GPT3 的基础上进一步优化了模型架构 和训练技术,提高了模型的效率和泛化能力,同时减少了对大量数据和计算资源 的依赖。具体来说,GPT3.5 引入了一种新的 “分组稀疏注意力”(Grouped Sparse Attention, GSA)的架构,可以在不影响模型性能的情况下减少计算量,同时还采 用了 “标准化知识蒸馏”(Normalized Knowledge Distillation, NKD)等技术来进一 步提高模型的效率和精度。
(1)GPT3.5 的优缺点
优点:GPT3.5 与其他 NLP 模型相比,具备更高的效率和更快的处理速度。 这使得它在实际应用场景中更为实用。例如,在自然语言生成、文本摘要、 机器翻译等任务中,GPT3.5 表现出了非常出色的能力。它可以生成高质量 的文本,其生成的文本的质量接近于人类写作。同时,在处理问答任务中, GPT3.5 的语言理解能力也非常出色,可以理解和回答各种类型的问题。此 外,该模型还具备文本分类能力,可以对给定的文本进行分类,并且在这方 面取得了很好的成绩。GPT3.5 不仅在这些传统的 NLP 任务上表现优异,它 还可以在一些新兴领域得到应用,如自然语言生成、文本摘要、机器翻译等。 该模型还具有一个独特的优势,即它可以自我学习、自我改进。这意味着随 着时间的推移,它可以通过不断地接收新的数据和信息来增强自己的表现。 这种能力被称为 “元学习”。使用元学习方法,GPT3.5 可以在没有人类干预 的情况下进行自我优化,从而提高其性能和效率。
缺点:虽然 GPT3.5 是自然语言处理研究中的重要一步,但它并没有完全包 含许多研究人员(包括 AI2)设想的所有理想属性。以下是 GPT3.5 不具备 的某些重要属性:实时改写模型的信念、形式推理、从互联网进行检索。
(2)GPT3.5 的应用场景
模型采用了海量的数据训练,具有超过 1750 亿个参数,由于其参数量巨大, GPT3.5 可以用于一些需要深度学习模型支持的领域,如计算机视觉、语音识别等。 相比于 GPT3,GPT3.5 在语言理解、生成和推理等方面表现更为出色,其能够进 行更加复杂的自然语言处理任务。而与其他 NLP 模型相比,GPT3.5 具备更高的 效率和更快的处理速度,这使得它在实际应用场景中更为实用。