Large language model — 大语言模型
大语言模型(large language model, LLM)是一种机器学习模型,通过具有海量参数(通常为数十亿或更多)的深度神经网络实现,并在大规模文本数据上进行训练。「大」在此背景下既指参数的规模,也指训练语料库的体量,现代系统中的语料库可达数PB和数万亿个词元(token)。LLM主要采用自我监督或半自我监督(self-/semi-supervised)方法进行训练,通过预测序列中的下一个词元来学习语言的统计规律。参数、数据和计算步骤的增加会带来可预测的性能提升,这一点已由缩放定律(scaling laws)证实。
自BERT(2017年)尤其是GPT-3(2020年)问世以来,LLM方法已在自然语言处理领域占据主导地位。现代模型(如GPT-4o、Claude 3、Gemini 1.5、LLaMA 3等)无需特殊配置即可编写文本和代码、翻译、总结、回答问题和构建推理链;多模态版本还能分析图像、声音和视频。针对特定应用任务的适配通过微调(fine-tuning)或提示工程(prompt engineering、in-context learning)来完成。然而,在取得巨大成就的同时,LLM也继承了源数据中的偏见和错误,容易产生「幻觉」,并且需要庞大的计算资源。因此,当前的研究重点在于行为对齐、语料库过滤和高能效架构。
架构
现代LLM几乎都采用Transformer架构,这是一种带有自注意力机制(self-attention)的网络。Transformer模型最初由Google的研究人员在2017年的论文《Attention is All You Need》中提出。
Transformer架构是处理序列的基本神经网络方案,包含两个逻辑模块:编码器(encoder,用于编码输入)和解码器(decoder,用于生成输出)。其工作流程如下:输入一个序列,为其创建向量表示(embedding),然后加上位置编码向量。之后,这组元素不考虑顺序地进入编码器组件(并行处理)。接着,解码器组件接收部分序列及编码器的输出,最终生成一个新的输出序列。
Transformer的编码器组件由多个相同的编码器层堆叠而成;解码器组件的结构也类似。Transformer本身是一系列注意力模型,它将输入的向量序列转换为一个新的序列,其中每个元素都考虑了其他元素的上下文。编码器生成输入数据的隐藏表示,保留元素之间的相互关系信息。解码器基于这些隐藏表示,为输出词元创建新的嵌入序列。然后,语言模型利用这些嵌入生成最终的输出元素。
由于Transformer最初是为机器翻译等任务设计的,其架构包含一个编码器(处理输入文本,如源语言句子)和一个解码器(生成输出,如翻译结果)。然而,许多语言模型仅使用以自回归模式工作的解码器部分。
Transformer主要有三种配置,每种配置对编码器和解码器的使用方式不同,适用于不同的任务类型:
- 仅编码器模型(双向):通过学习恢复被有意遮蔽的文本片段来进行训练,因此非常适合于「理解」类任务,如分类、事实提取和语义搜索。
- 仅解码器模型(自回归):专注于预测下一个词元,适用于需要流式输出的场景,如对话代理、代码自动补全和创造性内容生成。
- 完整的「编码器+解码器」模型:结合了两种方法。编码器构建整个输入文本的表示,解码器则基于此表示逐步生成结果。这种配置在机器翻译、摘要生成和问答系统等任务中最为有效。
词元化
词元化(Tokenization)是大型语言模型处理文本的关键初始步骤。在这一阶段,连续的字符串被分割成独立的单元——词元(token)。词元化的任务是将字符序列转换为结构化的元素序列,以确保神经网络能够高效工作。
从语言学的角度来看,词元化在某种程度上可以对应于提取语言中具有独立意义或功能的最小单位的过程,例如单词、语素或其片段。然而,通常情况下,词元只是统计上频繁出现的字符序列,因此不应过高估计所有词元的语言学意义。根据所选的方案,词元可以是:整个单词、子词、单个字符或特殊标记(如序列的开始和结束标记)。
词元化可以实现以下目标:
- 将词典大小限制在可接受的范围内;
- 正确处理罕见词和新词;
- 确保文本到数字标识符序列的唯一映射。
文本分割采用子词算法,最常见的有Byte Pair Encoding (BPE)、WordPiece和UnigramLM。这些算法都会从语料库中构建一个由最常见片段组成的词典,并用它来对任何输入文本进行顺序分割。
在词元化阶段之后,每个文本单元——词元——都会被转换为神经网络能够理解的数值表示。这个过程包括几个连续的步骤:
- 将词元转换为标识符:根据预先构建的词元词典,每个词元都映射到一个唯一的数字索引。文本词元被其唯一的数字标识符(ID)替换。每个ID是词元在预构建词典中的编号,这使得神经网络能够处理数字而不是单词。
- 将标识符转换为嵌入:对于每个词元标识符,会检索或计算一个固定维度的相应向量——嵌入(embedding)。这种多维数值表示取代了ID,并包含了关于词元含义和上下文属性的信息。为了便于处理,所有嵌入都具有相同的长度。
- 添加位置编码:由于Transformer架构本身不考虑元素的顺序,因此需要向嵌入中添加位置编码(positional encodings),以提供关于词元在序列中位置的信息。换句话说,这使得模型能够「知道」句子中哪个词元是第一个、第二个、第三个,依此类推。
- 构建输入矩阵:最终得到一个维度为
[序列长度 × 嵌入维度]的矩阵,它作为文本的初始表示,并被送入神经网络的输入端,特别是Transformer的自注意力(self-attention)模块。该矩阵的每一行对应一个词元,其中包含的向量既承载了其语义信息(嵌入),也包含了其在文本中的位置信息(位置编码)。
文本 → 词元 → 标识符 → 嵌入 + 位置编码 → 模型输入
注意力机制
注意力机制(attention mechanism)是Transformer架构的关键组成部分,它使得模型能够考虑词元之间的依赖关系,而不受它们在序列中距离的影响。当输入文本被转换为向量序列后,该序列会进入Transformer的核心元素——注意力模块(attention block)。
注意力机制为神经网络提供了一种方法,使其在处理序列中的每个元素时,能够判断应该更多地关注输入数据的哪些部分。借此,文本中各个片段的向量可以相互作用,通过吸收周围上下文的信息来丰富和更新自身的值。这使得模型能够有效捕捉词元之间的局部和长距离依赖关系,从而显著提升其解释复杂文本结构的能力。
在自然语言中,单词或短语的意义并非孤立决定,而是取决于其上下文,即周围的其他单词和结构。在神经网络中,文本通过向量表示——嵌入(embedding)——进行编码,这些嵌入以数值方式反映了词元的词汇和句法属性。如果没有像Transformer中那样的直接注意力机制,上下文信息要么会在长距离上丢失(如在简单模型中),要么会顺序传递,这对于捕捉远距离关系效率较低。然而,在自然语言中,单词或句法结构的意义是动态的,其解释必须根据上下文进行调整。注意力机制实现了向量表示的语境化,这意味着:
- 每个词元都会「评估」自己相对于句子中其他词元的重要性。
- 在更新过程中,向量表示通过相互交换信息而变得更加丰富,从而反映出句法依赖、语义角色和语用上下文。
通过这种信息交换,更新后的向量不仅编码了词元本身的意义,还编码了其语法关系(句法)、在所描述情境中的作用(语义)以及在上下文中的整体含义(语用)。
输入词元向量 (含位置信息) → 注意力机制 (向量交互) → 语境化词元向量 (富含与其他词元关联信息的向量)
注意力机制的技术实现
注意力机制的内部结构包括几个关键的计算步骤和组件。对于每个输入向量,都会生成三个向量:查询(Query)、键(Key)和值(Value)。通过它们的交互计算出注意力权重,然后用这些权重来获得更新后的、语境化的向量表示。一种常见的方法是使用多头注意力(Multi-Head Attention)架构来并行处理信息。
查询、键、值
注意力机制计算的核心是将每个输入向量(即词元嵌入与其位置编码之和)转换为三个不同的向量表示:查询(Query, Q)、键(Key, K)和值(Value, V)。
从概念上讲,这三个向量在注意力机制中扮演以下角色:
- 查询 (Query):代表当前词元的向量,它发起在序列中寻找相关信息的过程。可以将其视为用于评估其他词元相对于当前词元重要性的「问题」或「探针」。
- 键 (Key):作为描述每个词元内容某个方面的标识符或「标签」。当前词元的查询向量(Q)会与序列中所有的键向量(K)(包括其自身的)进行比较,以确定它们的匹配度或相关性。
- 值 (Value):包含与每个词元关联的实际信息或表示,这些信息将被传递到下一层。在基于查询和键的交互计算出注意力权重后,这些权重会应用于值向量,以形成最终的加权表示,这即是该词元在注意力机制中的输出。
大语言模型的训练
LLM的训练主要分为两个阶段:
- 预训练 (Pretraining):在此阶段,模型通过自我监督学习(self-supervised learning)在大量未标注的文本语料库上进行训练。任务是预测序列中的下一个词元(自回归)或恢复被遮蔽的片段(掩码语言建模)。预训练使模型能够学习广泛的语言统计规律、语法、世界知识和基本的推理形式。
- 微调 (Fine-tuning):预训练后,模型会在专门的数据集上进行进一步训练,以执行特定任务,例如生成答案、文本分类或遵循指令。现代方法包括:
- 在标注数据集上进行监督式微调 (supervised fine-tuning)。
- 基于人类反馈的强化学习 (RLHF, reinforcement learning from human feedback),用于根据质量、安全性和实用性等目标指标来调整模型的行为。
问题与局限性
尽管取得了令人瞩目的进展,现代大语言模型(LLM)仍存在一系列问题和局限性:
I. 计算与架构局限
- 高昂的计算成本: LLM的训练和运行需要大量的计算能力、时间和能源,导致高昂的经济和环境成本。此外,生成的自回归特性(逐个生成词元)限制了并行化,与非自回归方法相比,推理速度较慢。
- 上下文长度限制: Transformer架构的计算成本和内存需求与序列长度成二次方关系。这迫使模型设定一个固定的上下文窗口大小,限制了单次可处理的文本量,导致长文档被截断,窗口外的信息丢失。
II. 可靠性与生成准确性问题
- 幻觉: 生成听起来合理但实际上不正确的信息。这与模型缺乏对真实世界的理解、依赖数据中的统计规律以及无法验证生成内容的真实性有关。
- 错误累积 (Error Propagation): 在生成过程早期出现的错误会不断放大,导致后续步骤中不准确性增加,从而降低文本的整体质量和连贯性。
- 有限的组合性: 在需要多步逻辑推理或精确计算的任务上表现不佳(例如,多位数乘法、解谜)。由于生成的自回归特性,模型在这些任务上的准确性会随着复杂度的增加而急剧下降。
- 重复: 倾向于过度重复单词或短语,降低了文本的信息量和可读性。这与训练方法和解码算法(选择下一个词元的方式)有关。
- 逆转诅咒 (Reversal Curse): 模型无法自动进行反向知识泛化:在学习了「A是B」之后,模型通常无法推断出「B是A」。
- 「创造性-准确性」的权衡: 需要在生成多样化、新颖的回答与保持事实准确性之间取得平衡。提升一方面往往会对另一方面产生负面影响,例如,高创造性可能与幻觉增加相关。
III. 交互与控制问题
- 可控性低: 难以精确控制生成文本的风格、语气、内容或使其遵循复杂指令。可控性在很大程度上取决于输入指令(「提示」)的质量和微调方法。
- 对措辞敏感: 输入提示的微小变化可能导致截然不同的回答,即使提示的语义保持不变。这使得获得稳定和可预测的结果变得困难。
IV. 伦理与社会方面
- 偏见与公平性问题: 模型可能复制并放大训练数据中存在的社会刻板印象、偏见或有害内容。确保模型的公平性和安全性是一项复杂的挑战。
- 对齐问题 (LLM Alignment): 这是一个更广泛的问题,包含前一点。其任务是确保模型的行为符合人类的价值观、意图和道德规范。这包括解决偏见、幻觉、生成有害内容以及提高可控性。
- 恶意使用的风险: LLM可能被用于制造和大规模传播虚假信息、网络钓鱼、垃圾邮件、恶意代码或生成令人信服的伪造文本,这对信息安全、个人安全构成威胁,并破坏社会信任。
链接
- 大语言模型(中文维基百科)
- Large language model(英文维基百科)
- Grand modèle de langage(法文维基百科)
- Large Language Model(德文维基百科)
- Naveed H. et al. A Comprehensive Overview of Large Language Models. arXiv:2307.06435, 2023.
参考文献
- Vaswani, A. et al. Attention Is All You Need. arXiv:1706.03762, 2017.
- Devlin, J. et al. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805, 2019.
- Brown, T. et al. Language Models Are Few-Shot Learners. arXiv:2005.14165, 2020.
- Kaplan, J. et al. Scaling Laws for Neural Language Models. arXiv:2001.08361, 2020.
- Hoffmann, J. et al. Training Compute-Optimal Large Language Models. arXiv:2203.15556, 2022.
- Ouyang, L. et al. Training Language Models to Follow Instructions with Human Feedback. arXiv:2203.02155, 2022.
- Bai, Y. et al. Constitutional AI: Harmlessness from AI Feedback. arXiv:2212.08073, 2022.
- Bubeck, S. et al. Sparks of Artificial General Intelligence: Early Experiments with GPT-4. arXiv:2303.12712, 2023.
- OpenAI. GPT-4 Technical Report. arXiv:2303.08774, 2023.
- Touvron, H. et al. The Llama 3 Herd of Models. arXiv:2407.21783, 2024.