想要掌握现代大语言模型(LLM)的底层原理,就必须了解Transformer架构。2017年发表的论文《注意力就是你所需要的》彻底革新了自然语言处理领域。如今,绝大多数主流大语言模型都基于这一深度神经网络架构构建。最初的Transformer专为机器翻译而设计——例如将英文翻译为德文或法文。其基本结构如图1.4的简化示意图所示。
图1.4 原始Transformer架构的简化示意图,该深度学习模型专用于语言翻译任务。Transformer由两部分组成:(a) 编码器,负责处理输入文本并生成文本的嵌入表示(一种在不同维度中捕捉多种因素的数值表示),以及 (b) 解码器,能够利用这些嵌入表示逐词生成翻译后的文本。此图展示了翻译过程的最后阶段,其中解码器需要在给定原始输入文本(“This is an example”)和部分翻译的句子(“Das ist ein”)的情况下,仅生成最终单词(“Beispiel”),以完成整个翻译。
Transformer架构包含两大核心子模块:编码器和解码器。编码器将输入文本转换为一系列携带丰富上下文信息的数值向量;解码器则基于这些向量逐词生成输出文本。以机器翻译为例,编码器将源语言编码为向量表示,解码器再将其解码为目标语言。编码器和解码器内部均包含多层结构,并通过“自注意力机制”相互连接。关于输入文本的预处理与编码方式,后续章节将详细阐述。
自注意力机制(图中未直接展示)是Transformer和LLM的关键组成部分。它允许模型对序列中不同单词或标记的重要性进行相对加权。正是凭借这一机制,模型能够捕获输入数据中的长距离依赖关系和上下文关联,从而生成连贯且与语境一致的输出。诚然,自注意力机制本身较为复杂,后续我们将深入讨论并逐步实现它。
随后出现的Transformer变体——例如BERT(来自Transformers的双向编码表示)和各类GPT模型(生成预训练变换器)——均基于此概念发展,但各自聚焦于不同的任务方向。
基于原始Transformer编码器子模块构建的BERT,其训练方式与GPT显著不同。GPT天生面向生成任务,而BERT及其变体则专注于“掩码词预测”——模型需推测句子中被遮蔽的单词,如图1.5所示。这一独特的训练策略使BERT在文本分类任务中表现优异,例如情感分析和文档分类。一个实际案例是,X(原Twitter)至今仍在使用BERT检测有害内容。
图1.5 Transformer编码器与解码器子模块的可视化示意图。左侧编码器部分展示了类似BERT的大型语言模型(LLM),这些模型专注于被遮蔽单词预测,主要应用于文本分类等任务。右侧解码器部分则展示了类似GPT的大型语言模型,这些模型专为生成任务而设计,能够生成连贯的文本序列。
另一方面,GPT聚焦于原始Transformer的解码器部分,专为文本生成任务而设计。其应用涵盖机器翻译、文本摘要、小说创作、代码编写等多个领域。
GPT模型主要训练目标是文本补全,但其能力远不止于此。它擅长零样本学习和少样本学习。零样本学习指模型在未见过任何具体示例的情况下,即可泛化到全新任务;少样本学习则指模型能从用户提供的极少量示例中学习。图1.6展示了这一能力:只需在输入中提供目标示例(少样本设定),甚至不提供任何示例(零样本设定),模型就能执行多种任务,而无需重新训练、微调或修改任务特定的模型架构。
图1.6 除了文本补全外,类似GPT的大型语言模型可以根据输入解决各类任务,无需重新训练、微调或更改特定任务的模型架构。有时,在输入中提供目标示例会有所帮助,这被称为少样本设定。然而,类似GPT的大型语言模型也能在没有具体示例的情况下执行任务,这种情形称为零样本设定。
Transformer与LLM
当今的大语言模型几乎全部基于Transformer架构,因此这两个术语在文献中常被互换使用。但需注意:并非所有Transformer都是LLM,因为Transformer也被应用于计算机视觉领域。同样,并非所有LLM都基于Transformer——还存在基于递归神经网络和卷积架构的LLM。这些替代方案的主要动机是提升计算效率。至于它们能否与基于Transformer的LLM在能力上竞争,以及是否会被大规模采用,仍有待观察。为简化论述,本文中所使用的“LLM”一词特指类似GPT的基于Transformer的大语言模型。
