Connect with us

人工智能

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

mm
Decoder-Based Large Language Models: A Complete Guide

大型语言模型 (LLM) 通过展示在生成类似人类的文本、回答问题和帮助广泛的语言相关任务方面的卓越能力,彻底改变了自然语言处理 (NLP) 领域。这些强大的模型的核心是 解码器仅变换器架构,这是对原始变换器架构的变体,该架构由 Vaswani 等人在具有里程碑意义的论文 “注意力就是你需要的所有” 中提出。

在这份综合指南中,我们将探索基于解码器的 LLM 的内部工作原理,深入研究基本构建块、架构创新和实现细节,这些细节使这些模型推动了 NLP 研究和应用的前沿。

变换器架构:复习

在深入研究基于解码器的 LLM 之前,回顾变换器架构至关重要,这是这些模型的基础。变换器引入了一种新颖的序列建模方法,仅依赖于注意力机制来捕获数据中的长距离依赖,而无需使用循环或卷积层。

变换器架构

变换器架构

原始变换器架构由两个主要组件组成:编码器和解码器。编码器处理输入序列并生成上下文化表示,然后由解码器消费以生成输出序列。该架构最初是为机器翻译任务设计的,其中编码器处理源语言中的输入句子,解码器生成目标语言中的相应句子。

自注意力:变换器成功的关键

变换器的核心是自注意力机制,一种强大的技术,允许模型加权和聚合输入序列中不同位置的信息。与传统的序列模型不同,传统模型按顺序处理输入标记,自注意力使模型能够捕获任何标记对之间的依赖关系,无论它们在序列中的位置如何。

多查询注意力

多查询注意力

自注意力操作可以分解为三个主要步骤:

  1. 查询、键和值投影:输入序列被投影到三个单独的表示中:查询 (Q)、 (K) 和 (V)。这些投影是通过将输入与学习到的权重矩阵相乘获得的。
  2. 注意力得分计算:对于输入序列中的每个位置,通过将对应的查询向量与所有键向量的点积计算注意力得分。这些得分表示每个位置与当前处理位置的相关性。
  3. 值的加权和:注意力得分被 softmax 函数归一化,得到的注意力权重用于计算值向量的加权和,生成当前位置的输出表示。

多头注意力是一种自注意力机制的变体,允许模型通过并行计算多个“头”上的注意力得分来捕获不同类型的关系,每个头都有其自己的查询、键和值投影。

架构变体和配置

虽然基于解码器的 LLM 的核心原理保持一致,研究人员已经探索了各种架构变体和配置,以提高性能、效率和泛化能力。在本节中,我们将深入研究不同的架构选择及其含义。

架构类型

基于解码器的 LLM 可以大致分为三种类型:编码器-解码器、因果解码器和前缀解码器。每种架构类型都表现出不同的注意力模式。

编码器-解码器架构

基于原始变换器模型,编码器-解码器架构由两个堆栈组成:编码器和解码器。编码器使用堆叠的多头自注意力层来编码输入序列并生成潜在表示。然后,解码器对这些表示执行交叉注意力以生成目标序列。虽然这种架构在各种 NLP 任务中有效,但很少有 LLM,如 Flan-T5,采用这种架构。

因果解码器架构

因果解码器架构包含一个单向注意力掩码,允许每个输入标记仅关注过去的标记和自身。输入标记和输出标记都在同一个解码器中处理。值得注意的模型,如 GPT-1、GPT-2 和 GPT-3,是基于这种架构构建的,GPT-3展示了令人瞩目的上下文学习能力。许多 LLM,包括 OPT、BLOOM 和 Gopher,都广泛采用了因果解码器。

前缀解码器架构

也称为非因果解码器,前缀解码器架构修改了因果解码器的掩码机制,以启用对前缀标记的双向注意力和对生成标记的单向注意力。与编码器-解码器架构类似,前缀解码器可以对前缀序列进行双向编码,并使用共享参数自回归地预测输出标记。基于前缀解码器的 LLM 包括 GLM130B 和 U-PaLM。

所有三种架构类型都可以使用 专家混合 (MoE) 缩放技术扩展,该技术对每个输入稀疏激活神经网络的子集权重。这一方法已在 Switch Transformer 和 GLaM 等模型中采用,增加专家数量或总参数大小显示出显著的性能改进。

解码器仅变换器:拥抱自回归性质

虽然原始变换器架构是为序列到序列任务(如机器翻译)而设计的,但许多 NLP 任务(如语言建模和文本生成)可以被视为自回归问题,其中模型一次生成一个标记,条件为之前生成的标记。

这就是解码器仅变换器的由来,这是变换器架构的一个简化变体,仅保留解码器组件。这种架构特别适合自回归任务,因为它一次生成一个输出标记,利用之前生成的标记作为输入上下文。

解码器仅变换器和原始变换器解码器之间的关键区别在于自注意力机制。在解码器仅设置中,自注意力操作被修改为防止模型关注未来标记,这是一种称为“因果性”的属性。这是通过一种称为“掩码自注意力”的技术实现的,其中对应于未来位置的注意力得分在 softmax 归一化步骤中设置为负无穷大,有效地将它们屏蔽出来。

基于解码器的 LLM 的架构组件

虽然自注意力和掩码自注意力的核心原理保持不变,现代基于解码器的 LLM 已经引入了几种架构创新,以提高性能、效率和泛化能力。让我们探索一些状态-of-the-art LLM 中使用的关键组件和技术。

输入表示

在处理输入序列之前,基于解码器的 LLM 使用标记化和嵌入技术将原始文本转换为模型可以处理的数值表示。

向量嵌入

向量嵌入

标记化:标记化过程将输入文本转换为标记序列,可以是单词、子词,甚至是单个字符,具体取决于使用的标记化策略。LLM 中流行的标记化技术包括字节对编码 (BPE)、句子片段和单词片段。这些方法旨在在词汇表大小和表示粒度之间取得平衡,使模型能够有效地处理罕见或超出词汇表的单词。

标记嵌入:标记化后,每个标记都映射到一个密集的向量表示,称为标记嵌入。这些嵌入是在训练过程中学习的,并捕获标记之间的语义和句法关系。

位置嵌入:Transformer 模型同时处理整个输入序列,缺乏循环模型中标记位置的内在概念。为了纳入位置信息,位置嵌入被添加到标记嵌入中,允许模型根据标记在序列中的位置区分它们。早期的 LLM 使用基于正弦函数的固定位置嵌入,而更最近的模型已经探索了可学习的位置嵌入或替代位置编码技术,如旋转位置嵌入。

多头注意力块

基于解码器的 LLM 的核心构建块是多头注意力层,它执行前面描述的掩码自注意力操作。这些层被堆叠多次,每层都关注前一层的输出,允许模型捕获越来越复杂的依赖关系和表示。

注意力头:每个多头注意力层由多个“注意力头”组成,每个头都有其自己的查询、键和值投影。这允许模型同时关注输入的不同方面,捕获多样化的关系和模式。

残差连接和层归一化:为了促进深度网络的训练并减轻梯度消失问题,基于解码器的 LLM 采用残差连接和层归一化技术。残差连接将层的输入添加到其输出,允许梯度在反向传播期间更容易地流动。层归一化有助于稳定激活和梯度,进一步提高训练稳定性和性能。

前馈层

除了多头注意力层外,基于解码器的 LLM 还包含前馈层,它对序列中的每个位置应用一个简单的前馈神经网络。这些层引入非线性,使模型能够学习更复杂的表示。

激活函数:前馈层中的激活函数选择会显著影响模型的性能。虽然早期的 LLM 依赖于广泛使用的 ReLU 激活,但更最近的模型采用了更复杂的激活函数,如高斯误差线性单元 (GELU) 或 SwiGLU 激活,它们表现出改进的性能。

稀疏注意力和高效变换器

虽然自注意力机制强大,但它具有相对于序列长度的二次计算复杂度,使其对于长序列来说计算成本高昂。为了解决这个挑战,已经提出了几种技术来减少自注意力的计算和内存要求,实现长序列的高效处理。

稀疏注意力:稀疏注意力技术,例如 GPT-3 模型中使用的技术,选择性地关注输入序列中的一个子集位置,而不是为所有位置计算注意力得分。这可以在保持合理的性能的同时显著减少计算复杂度。

滑动窗口注意力:在 Mistral 7B 模型中引入的滑动窗口注意力 (SWA) 是一种简单而有效的技术,它限制了每个标记的注意力范围到一个固定窗口大小。这一方法利用变换器层跨多个层传输信息的能力,有效地增加了注意力范围,而无需完全自注意力的二次复杂度。

滚动缓冲区缓存:为了进一步减少内存要求,特别是对于长序列,Mistral 7B 模型采用了滚动缓冲区缓存。这种技术存储和重用计算的键和值向量,针对固定窗口大小,避免了冗余计算并最小化内存使用。

分组查询注意力:在 LLaMA 2 模型中引入的分组查询注意力 (GQA) 是多查询注意力机制的一种变体,它将注意力头分成组,每组共享一个共同的键和值矩阵。这一方法在多查询注意力的效率和标准自注意力的性能之间取得平衡,提供了改进的推理时间,同时保持高质量的结果。

分组查询注意力

分组查询注意力

模型大小和缩放

现代 LLM 的一个显著特征是其庞大的规模,参数数量从数十亿到数百亿不等。增加模型大小在实现最先进的性能方面至关重要,因为更大的模型可以捕获数据中更复杂的模式和关系。

参数计数:基于解码器的 LLM 的参数数量主要由嵌入维度 (d_model)、注意力头数 (n_heads)、层数 (n_layers) 和词汇表大小 (vocab_size) 确定。例如,GPT-3 模型具有 175 亿个参数,具有 d_model = 12288n_heads = 96n_layers = 96vocab_size = 50257

模型并行性:训练和部署如此庞大的模型需要大量的计算资源和专用硬件。为了克服这个挑战,采用了模型并行性技术,其中模型被分割到多个 GPU 或 TPU 上,每个设备负责计算的一部分。

混合专家:扩大 LLM 的另一种方法是混合专家 (MoE) 架构,它将多个专家模型组合起来,每个专家模型都专门处理数据或任务的特定子集。Mixtral 8x7B 模型是使用 Mistral 7B 作为其基础模型的 MoE 模型的例子,实现了更好的性能,同时保持计算效率。

推理和文本生成

基于解码器的 LLM 的主要用例之一是文本生成,其中模型根据给定的提示或上下文生成连贯且听起来自然的文本。

自回归解码:在推理过程中,基于解码器的 LLM 以自回归的方式生成文本,每次预测一个标记,基于之前生成的标记和输入提示。这一过程继续直到达到预定的停止标准,例如达到最大序列长度或生成序列结束标记。

采样策略:为了生成多样化和真实的文本,可以采用各种采样策略,例如 top-k 采样、top-p 采样(也称为核采样)或温度缩放。这些技术通过调整词汇表上的概率分布来控制生成文本的多样性和连贯性之间的权衡。

提示工程:输入提示的质量和具体性会显著影响生成的文本。提示工程,即制作有效提示的艺术,已经成为利用 LLM 进行各种任务的关键方面,使用户能够指导模型的生成过程并实现所需的输出。

人机交互解码:为了进一步提高生成文本的质量和连贯性,采用了强化学习从人类反馈 (RLHF) 等技术。这种方法中,人类评估员为模型生成的文本提供反馈,然后用于微调模型,有效地将其与人类偏好对齐并提高其输出。

进展和未来方向

基于解码器的 LLM 的领域正在迅速发展,新的研究和突破不断地推动这些模型可以实现的界限。以下是一些值得注意的进展和潜在的未来方向:

高效变换器变体:虽然稀疏注意力和滑动窗口注意力在提高基于解码器的 LLM 的效率方面取得了显著进展,但研究人员正在积极探索替代变换器架构和注意力机制,以进一步降低计算要求,同时保持或提高性能。

多模态 LLM:将 LLM 的能力扩展到超越文本,多模态模型旨在将多个模态(如图像、音频或视频)整合到一个统一的框架中。这为图像字幕、视觉问答和多媒体内容生成等应用开启了令人兴奋的可能性。

可控生成:实现对生成文本的细粒度控制是一个具有挑战性但重要的方向。控制文本生成和提示调优等技术旨在为用户提供对生成文本的各种属性(如风格、语气或特定内容要求)进行更精细控制的能力。

结论

基于解码器的 LLM 已经成为自然语言处理领域的一种变革力量,推动了语言生成和理解的可能性边界。从其作为变换器架构的简化变体的谦逊起点开始,这些模型已经演变成高度复杂和强大的系统,利用尖端技术和架构创新。

随着我们继续探索和推进基于解码器的 LLM,我们可以期待在语言相关任务中看到甚至更令人难以置信的成就,以及将这些模型集成到广泛的应用和领域中。然而,解决这些强大模型的广泛部署可能带来的伦理问题、可解释性挑战和潜在偏见至关重要。

通过保持研究的前沿,促进开放合作,并致力于负责任的 AI 开发,我们可以解锁基于解码器的 LLM 的全部潜力,同时确保它们以安全、道德和有益于社会的方式开发和使用。

我过去五年一直沉浸在令人着迷的机器学习和深度学习世界中。我的热情和专业知识使我能够为超过50个不同的软件工程项目做出贡献,特别注重人工智能/机器学习。我的持续好奇心也使我对自然语言处理产生了兴趣,这是一个我渴望进一步探索的领域。