- 从零构建大模型
- (美)塞巴斯蒂安·拉施卡
- 1172字
- 2025-05-07 11:44:03
1.6 深入剖析GPT架构
GPT 最初是由 OpenAI 的 Radford 等人在论文“Improving Language Understanding by Generative Pre-Training”中提出的。GPT-3 是该模型的扩展版本,它拥有更多的参数,并在更大的数据集上进行了训练。此外,ChatGPT 中提供的原始模型是通过使用 OpenAI 的 InstructGPT 论文中的方法,在一个大型指令数据集上微调 GPT-3 而创建的。正如我们在图 1-6 中所见,这些模型不仅是强大的文本补全模型,还可以胜任拼写校正、分类或语言翻译等任务。考虑到 GPT 模型仅在相对简单的下一单词预测任务(参见图 1-7)上进行了预训练,它们能有如此强大而全面的能力实在令人惊叹。

图 1-7 在 GPT 模型的下一单词预测预训练任务中,系统通过观察之前的词来学习预测句子中的下一个词。这种方法能够帮助模型理解词语和短语在语言中的常见组合,从而为应用于各种其他任务奠定基础
下一单词预测任务采用的是自监督学习(self-supervised learning)模式,这是一种自我标记的方法。这意味着我们不需要专门为训练数据收集标签,而是可以利用数据本身的结构。也就是说,我们可以使用句子或文档中的下一个词作为模型的预测标签。由于该任务允许“动态”创建标签,因此我们可以利用大量的无标注文本数据集来训练大语言模型。
与 1.4 节中讨论的原始 Transformer 架构相比,GPT 的通用架构更为简洁。如图 1-8 所示,本质上,它只包含解码器部分,并不包含编码器。由于像 GPT 这样的解码器模型是通过逐词预测生成文本,因此它们被认为是一种自回归模型(autoregressive model)。自回归模型将之前的输出作为未来预测的输入。因此,在 GPT 中,每个新单词都是根据它之前的序列来选择的,这提高了最终文本的一致性。

图 1-8 GPT 架构仅使用原始的 Transformer 解码器部分。它被设计为单向的从左到右处理,这使得它非常适合文本生成和下一单词预测任务,可以逐个词地迭代生成文本
GPT-3 等架构的规模远超原始 Transformer 模型。例如,原始的 Transformer 模型将编码器模块和解码器模块重复了 6 次,而 GPT-3 总共有 96 层 Transformer 和 1750 亿个参数。
GPT-3 发布于 2020 年,按照深度学习和大语言模型的迅猛发展速度来衡量,这已是非常久远的事情了。然而,像 Meta 的 Llama 模型这样更近期的架构仍然基于相同的基本理念,仅进行了些许调整。因此,理解 GPT 仍然非常重要。本书侧重于实现 GPT 背后的核心架构,同时会介绍其他大语言模型采用的特别调整。
虽然原始的 Transformer 模型(包含编码器模块和解码器模块)专门为语言翻译而设计,但 GPT 模型采用了更大且更简单的纯解码器架构,旨在预测下一个词,并且它们也能执行翻译任务。这种能力起初让研究人员颇为意外,因为其来自一个主要在下一单词预测任务上训练的模型,而这项任务并没有特别针对翻译。
模型能够完成未经明确训练的任务的能力称为涌现(emergence)。这种能力并非模型在训练期间被明确教授所得,而是其广泛接触大量多语言数据和各种上下文的自然结果。即使没有经过专门的翻译任务训练,GPT 模型也能够“学会”不同语言间的翻译模式并执行翻译任务。这充分体现了这类大规模生成式语言模型的优势和能力。因此,无须针对不同的任务使用不同的模型,我们便可执行多种任务。