人工智能
基于解码器的大型语言模型:完整指南

大型语言模型 法学硕士(LLM)通过展示生成类人文本、回答问题和协助完成各种语言相关任务的卓越能力,彻底改变了自然语言处理(NLP)领域。这些强大模型的核心在于 仅解码器变压器架构,开创性论文中提出的原始 Transformer 架构的一个变体“注意力就是你所需要的” 瓦斯瓦尼等人。
在这本综合指南中,我们将探索基于解码器的法学硕士的内部工作原理,深入研究将这些模型推向 NLP 研究和应用前沿的基本构建模块、架构创新和实现细节。
Transformer 架构:复习
在深入研究基于解码器的 LLM 的细节之前,有必要重新审视变压器架构,它是构建这些模型的基础。 Transformer 引入了一种新颖的序列建模方法,仅依靠注意力机制来捕获数据中的远程依赖性,而不需要循环层或卷积层。
原始的 Transformer 架构由两个主要组件组成:编码器和解码器。编码器处理输入序列并生成上下文化表示,然后由解码器使用以生成输出序列。该架构最初是为机器翻译任务而设计的,编码器处理源语言的输入句子,解码器生成目标语言的相应句子。
自注意力:Transformer 成功的关键
在心脏的 变压器 这就是自注意力机制,这是一种强大的技术,允许模型权衡和聚合输入序列中不同位置的信息。与按顺序处理输入标记的传统序列模型不同,自注意力使模型能够捕获任何标记对之间的依赖关系,无论它们在序列中的位置如何。
自注意力操作可以分为三个主要步骤:
- 查询、键和值投影:输入序列被投影为三个独立的表示: 查询 (问), 键 (K),和 价值观 (五)。这些投影是通过将输入与学习的权重矩阵相乘获得的。
- 注意力分数计算:对于输入序列中的每个位置,通过计算相应查询向量和所有关键向量之间的点积来计算注意力分数。这些分数表示每个位置与当前正在处理的位置的相关性。
- 值的加权和:使用 softmax 函数对注意力分数进行归一化,得到的注意力权重用于计算值向量的加权和,生成当前位置的输出表示。
多头注意力是自注意力机制的一种变体,允许模型通过计算多个“注意力分数”来捕获不同类型的关系。元首”并行,每个都有自己的一组查询、键和值投影。
架构变体和配置
虽然基于解码器的法学硕士的核心原理保持一致,但研究人员探索了各种架构变体和配置,以提高性能、效率和泛化能力。在本节中,我们将深入研究不同的架构选择及其含义。
架构类型
基于解码器的LLM可以大致分为三种主要类型:编码器-解码器、因果解码器和前缀解码器。每种架构类型都表现出不同的注意力模式。
编码器-解码器架构
基于普通 Transformer 模型,编码器-解码器架构由两个堆栈组成:编码器和解码器。编码器使用堆叠的多头自注意力层对输入序列进行编码并生成潜在表示。然后解码器对这些表示执行交叉注意以生成目标序列。虽然在各种 NLP 任务中都很有效,但很少有法学硕士,例如 法兰-T5,采用这种架构。
因果解码器架构
因果解码器架构包含一个单向注意力掩模,允许每个输入令牌仅关注过去的令牌及其自身。输入和输出令牌都在同一解码器内处理。著名模型如 GPT-1、GPT-2和GPT-3均建立在该架构之上,其中GPT-3展示了卓越的上下文学习能力。许多法学硕士,包括 OPT、BLOOM 和 Gopher,都广泛采用了因果解码器。
前缀解码器架构
前缀解码器架构也称为非因果解码器,它修改了因果解码器的屏蔽机制,以实现对前缀标记的双向关注和对生成标记的单向关注。与编码器-解码器架构类似,前缀解码器可以双向编码前缀序列,并使用共享参数自回归预测输出标记。基于前缀解码器的LLM包括GLM130B和U-PaLM。
所有三种架构类型都可以使用扩展 混合专家 (MoE) 缩放技术,稀疏地激活每个输入的神经网络权重的子集。这种方法已在 Switch Transformer 和 GLaM 等模型中得到应用,随着专家数量或总参数大小的增加,性能显着提高。
仅解码器 Transformer:拥抱自回归本质
虽然最初的 Transformer 架构是为机器翻译等序列到序列任务而设计的,但许多 NLP 任务(例如语言建模和文本生成)可以构建为自回归问题,其中模型一次生成一个标记,条件是之前生成的令牌。
输入仅解码器变压器,这是变压器架构的简化变体,仅保留解码器组件。这种架构特别适合自回归任务,因为它利用之前生成的标记作为输入上下文,一一生成输出标记。
仅解码器的 Transformer 和原始 Transformer 解码器之间的主要区别在于自注意力机制。在仅解码器设置中,修改自注意力操作以防止模型关注未来的标记,这种属性称为因果关系。这是通过一种称为“屏蔽自注意力”的技术来实现的,其中与未来位置相对应的注意力分数被设置为负无穷大,从而在 softmax 归一化步骤中有效地将它们屏蔽掉。
基于解码器的法学硕士的架构组件
虽然自注意力和屏蔽自注意力的核心原理保持不变,但现代基于解码器的法学硕士引入了多项架构创新,以提高性能、效率和泛化能力。让我们探讨一下最先进的法学硕士所采用的一些关键组件和技术。
输入表示
在处理输入序列之前,基于解码器的 LLM 采用标记化和嵌入技术将原始文本转换为适合模型的数字表示。
符号化:标记化过程将输入文本转换为标记序列,这些标记可以是单词、子词,甚至单个字符,具体取决于所采用的标记化策略。 LLM 常用的标记化技术包括字节对编码 (BPE)、SentencePiece 和 WordPiece。这些方法旨在在词汇量大小和表示粒度之间取得平衡,使模型能够有效地处理罕见或词汇外的单词。
代币嵌入:标记化后,每个标记都映射到称为标记嵌入的密集向量表示。这些嵌入是在训练过程中学习的,并捕获标记之间的语义和句法关系。
位置嵌入:Transformer 模型同时处理整个输入序列,缺乏循环模型中存在的令牌位置的固有概念。为了合并位置信息,位置嵌入被添加到令牌嵌入中,允许模型根据令牌在序列中的位置来区分令牌。早期的法学硕士使用基于正弦函数的固定位置嵌入,而最近的模型则探索了可学习的位置嵌入或替代位置编码技术,例如旋转位置嵌入。
多头注意力块
基于解码器的 LLM 的核心构建块是多头注意力层,它执行前面描述的屏蔽自注意力操作。这些层被多次堆叠,每一层都关注前一层的输出,使模型能够捕获日益复杂的依赖关系和表示。
注意头:每个多头注意力层由多个“注意力头”组成,每个“注意力头”都有自己的一组查询、键和值投影。这使得模型能够同时处理输入的不同方面,捕获不同的关系和模式。
剩余连接和层标准化:为了促进深度网络的训练并缓解梯度消失问题,基于解码器的 LLM 采用残差连接和层归一化技术。残差连接将层的输入添加到其输出,使梯度在反向传播期间更容易流动。层归一化有助于稳定激活和梯度,进一步提高训练稳定性和性能。
前馈层
除了多头注意力层之外,基于解码器的 LLM 还包含前馈层,它将简单的前馈神经网络应用于序列中的每个位置。这些层引入了非线性并使模型能够学习更复杂的表示。
激活功能:前馈层中激活函数的选择可以显着影响模型的性能。虽然早期的 LLM 依赖于广泛使用的 ReLU 激活,但最近的模型采用了更复杂的激活函数,例如高斯误差线性单元 (GELU) 或 SwiGLU 激活,这些函数显示出改进的性能。
稀疏注意力和高效变压器
虽然自注意力机制很强大,但它的计算复杂度与序列长度成二次方,这使得长序列的计算成本很高。为了应对这一挑战,人们提出了几种技术来减少自注意力的计算和内存需求,从而能够有效地处理较长的序列。
稀疏注意力:稀疏注意力技术,例如 GPT-3 模型中采用的技术,有选择地关注输入序列中的位置子集,而不是计算所有位置的注意力分数。这可以显着降低计算复杂度,同时保持合理的性能。
滑动窗口注意:Mistral 7B 模型中引入的滑动窗口注意力(SWA)是一种简单而有效的技术,它将每个标记的注意力跨度限制在固定的窗口大小。这种方法利用了变压器层跨多层传输信息的能力,有效地增加了注意力广度,而无需完全自注意力的二次复杂度。
滚动缓冲区高速缓存:为了进一步减少内存需求,特别是对于长序列,Mistral 7B 型号采用了滚动缓冲区高速缓存。该技术存储并重用固定窗口大小的计算出的键和值向量,避免冗余计算并最大限度地减少内存使用。
分组查询注意力:在 LLaMA 2 模型中引入,分组查询注意力(GQA)是多查询注意力机制的一种变体,它将注意力头分成组,每个组共享一个公共的键和值矩阵。这种方法在多查询注意力的效率和标准自注意力的性能之间取得了平衡,在保持高质量结果的同时提供了改进的推理时间。