随着 ChatGPT 的发布,大语言模型的关注度和数量都在不断上升,它引领了人类进入了大模型时代,并且随着一轮一轮的迭代,最新模型已经进化到了 GPT-4o。在众多大语言模型中,GPT 系列因其代表性而备受关注,其发展历程和技术革新值得深入探讨。那么今天带大家回顾一下近年来 GPT 系列模型的发展。
GPT 系列模型的基本原理是训练模型学习恢复预训练文本数据,通过只包含解码器的 Transformer 模型将广泛的世界知识进行压缩,使模型能够获得全面的能力。这一过程中,关键的两个要素是训练模型准确预测下一个词的 Transformer 语言模型,以及扩大语言模型和预训练数据的规模。
GPT 系列模型技术演进分为早期探索、路线确立、能力增强和能力跃升四个阶段,其中实线表示明确的进化路径,虚线则表示较弱的进化关系。OpenAI 对大语言模型的研发历程可以划分为这四个阶段,每个阶段都标志着该领域的进步和发展。
GPT-1
2017 年,Google 推出了 Transformer 模型,这一架构因其在性能上的显著优势迅速吸引了 OpenAI 团队的注意。OpenAI 随后将研发重点转移到 Transformer 架构,并在 2018 年发布了 GPT-1 模型。GPT-1 是基于生成式预训练(Generative Pre-Training)的 Transformer 架构,采用了仅有解码器的 Transformer 模型,专注于预测下一个词元。尽管 GPT-1 的参数规模相对较小,它采用了无监督预训练和有监督微调相结合的方法,以增强模型的通用任务求解能力。
同年,Google 发布了 BERT 模型,它专注于自然语言理解任务(NLU),并只使用了 Transformer 的编码器部分。BERT-Large 模型在多个 NLU 任务上取得了显著的性能提升,成为当时自然语言处理领域的明星模型,引领了一波研究热潮。然而,GPT-1 由于规模与 BERT-Base 相当,且在公开评测数据集上的性能未能达到最优,因此没有在学术界引起足够的关注。GPT-1 和 BERT 虽然都采用了 Transformer 架构,但它们的应用重点和架构设计有所不同,分别代表了自然语言生成和自然语言理解两个领域的早期探索。这些早期工作为后续更强大的 GPT 模型,如 GPT-3 和 GPT-4,奠定了研究基础。
GPT-2
GPT-2 继承了 GPT-1 的架构,并将参数规模扩大到 15 亿,使用大规模网页数据集 WebText 进行预训练。与 GPT-1 相比,GPT-2 的创新之处在于尝试通过增加模型参数规模来提升性能,同时去除针对特定任务的微调环节,探索使用无监督预训练的语言模型来解决多种下游任务,而无需显式地使用标注数据进行微调。
GPT-2 的研究重点在于多任务学习,即通过一种通用的概率形式来刻画不同任务的输出预测,将输入、输出和任务信息都以自然语言的形式进行描述。这样,后续的任务求解过程就可以视为文本生成问题。OpenAI 团队在 GPT-2 的论文中解释了无监督预训练在下游任务中取得良好效果的原因,即特定任务的有监督学习目标与无监督学习目标(语言建模)在本质上是相同的,都旨在预测下一个词元。因此,优化无监督的全局学习目标本质上也是在优化有监督的任务学习目标。
此外,OpenAI 创始人采访时的观点与 GPT-2 论文中的讨论非常相似。他认为,神经网络学到的是生成文本过程中的某种表示,这些模型的生成文本实际上是真实世界的投影。语言模型对下一个单词的预测越准确,对世界知识的保真度就越高,在这个过程中获得的分辨度也就越高。
综上所述,GPT-2 模型通过扩大参数规模和使用无监督预训练,探索了一种新的多任务学习框架,旨在提高模型的通用性和灵活性,减少对特定任务微调的依赖。同时,它也强调了语言模型在理解和生成自然语言文本方面的重要性,以及通过准确预测下一个词元来提高对世界知识的理解。
GPT-3
OpenAI 在 2020 年推出了具有里程碑意义的 GPT-3 模型,其模型参数规模扩展到了 175B,相较于 GPT-2 提升了 100 余倍,标志着对模型扩展的极限尝试。在 GPT-3 的训练之前,OpenAI 已经进行了充分的实验探索,包括小版本模型的尝试、数据收集与清洗、并行训练技巧等,这些工作为 GPT-3 的成功奠定了基础。
GPT-3 首次提出了'上下文学习'概念,允许大语言模型通过少样本学习解决各种任务,消除了对新任务进行微调的需求。这种学习方式使得 GPT-3 的训练和使用可以通过语言建模的形式统一描述,即预训练阶段在给定上下文条件下预测后续文本序列,使用阶段则根据任务描述和示例数据推理正确的解决方案。GPT-3 在自然语言处理任务中表现出色,对于需要复杂推理或领域适配的任务也显示出良好的解决能力。论文指出,上下文学习对于大模型的性能增益尤为显著,而对于小模型则收益较小。
GPT-3 的成功证明了将神经网络扩展到超大规模可以显著提升模型性能,并建立了基于提示学习方法的技术路线,为大语言模型的未来发展提供了新的思路和方法。
InstructGPT
OpenAI 在 GPT-3 模型的基础上,通过两种主要途径进行了改进:代码数据训练和人类偏好对齐。首先,为了解决 GPT-3 在编程和数学问题求解上的不足,OpenAI 于 2021 年推出了 Codex 模型,该模型在 GitHub 代码数据上进行了微调,显著提升了解决复杂问题的能力。此外,通过开发一种对比方法训练文本和代码嵌入,进一步改善了相关任务的性能。这些工作促成了 GPT-3.5 模型的开发,表明在代码数据上的训练对提高模型的综合性能,尤其是代码能力具有重要作用。
其次,OpenAI 自 2017 年起就开始了人类偏好对齐的研究,通过强化学习算法从人类标注的偏好数据中学习改进模型性能。2017 年,OpenAI 提出了 PPO 算法,成为后续人类对齐技术的标配。2022 年,OpenAI 推出了 InstructGPT,正式建立了基于人类反馈的强化学习算法 RLHF,旨在改进 GPT-3 模型与人类对齐的能力,提高指令遵循能力,并缓解有害内容的生成,这对大语言模型的安全部署至关重要。


