AI测试 大模型学习第一课:深入理解 Transformer 与 LLM

andyguo · 2025年10月21日 · 435 次阅读

一、历史背景与 Transformer 的诞生

在 2010 年代中期,自然语言处理任务主要依赖 RNN/LSTM 等循环神经网络。这类模型按顺序处理每个单词,难以并行,且长距离依赖会导致 “遗忘” 早期的信息,训练中容易出现梯度消失。Attention 机制在 2015 年被 Bahdanau 等人提出用来辅助翻译,它允许模型在翻译一个词时聚焦输入句子的关键部分,但当时仍与 RNN 结合。

2017 年 Vaswani 等人在论文《Attention Is All You Need》中提出 Transformer,完全去除了循环结构,仅使用注意力机制和前馈网络组成深层编码器–解码器。该模型具有以下突破性特点:

  • 全注意力架构:Transformer 使用自注意力机制来捕捉序列中任意两个词之间的关系,不需要像 RNN 那样按顺序传递状态。因此,编码器和解码器中的每个词都可以同时与其他词进行交互,从而实现高度并行的处理。
  • 可并行计算:由于注意力计算在词与词之间是矩阵运算,可以一次完成整个序列的关联分析,极大提升训练和推理效率。
  • 性能优势:Transformer 在 2017 年的英德、英法翻译任务上刷新了当时的性能纪录。随后其架构被用于 BERT、GPT 等模型,为大语言模型的兴起奠定了基础。

二、“预测下一个词” 的概率游戏

Transformer 的核心任务是基于上下文预测下一个词。模型首先将句子分词并转换为向量,然后通过自注意力和前馈网络计算每个词的隐含表示。最后的输出层将每个词的表示映射到词表大小的向量,通过 softmax 函数转成概率分布。softmax 会把原始分数缩放为 0 至 1 之间的概率,且所有候选词的概率和为 1,从中选择概率最高的词作为预测输出。例如模型看到 “今天天气”,根据训练中学到的统计规律会给予 “晴朗”“阴天” 等不同词以不同概率,并选出概率最大的一个作为下一个词。

Softmax 概率分布示例图:以下图展示模型为输入 “今天天气” 预测下一个词的概率分布。Softmax 将线性层输出转换为概率,这里 “晴朗” 概率最高(0.6),其次是 “阴天”(0.3)和 “下雨”(0.1)。

图 1:Softmax 下一个词的概率分布示例。模型根据训练统计对候选词打分,经 softmax 转换为概率并选择概率最大的词。


三、Transformer 的核心模块

Transformer 可以分为嵌入层、位置编码、自注意力/多头注意力、前馈网络、残差连接与层归一化、输出层等模块。下面逐一解释。

图 2:Transformer 结构示意图。编码器和解码器由多个相同层堆叠组成,每层包含多头自注意力和前馈网络,并在每个子层后应用残差连接和层归一化。

1. 嵌入层与位置编码

  • 词元分割与词嵌入:输入句子首先通过分词器(如 BPE 或 WordPiece)拆分为若干词元,并将每个词元映射成固定维度的向量。每个词元的向量维度相同,例如 512 维。词嵌入矩阵是可训练的,能够使相似词在向量空间中距离更近。
  • 位置编码:由于 Transformer 不使用循环结构,它必须通过位置编码补充位置信息。原论文使用正弦余弦位置编码,后续模型(如 BERT、GPT)则采用可学习的向量。位置编码与词嵌入相加得到输入向量。

2. 自注意力机制和多头注意力

2.1 Queries、Keys、Values

自注意力机制为序列中每个词生成三种向量:

  • Query(Q):表示当前词希望从其他词处获取的信息;
  • Key(K):表示该词提供给其他词的特征;
  • Value(V):包含该词实际携带的信息。

Query、Key、Value 是通过对词嵌入分别乘以可学习的线性矩阵得到的。

2.2 缩放点积注意力

给定所有词的 Q、K、V,计算注意力的步骤如下:

  1. 点积得分:针对当前词,将其 Query 向量与所有词的 Key 向量做点积,得到该词对其他词的相似度分数;
  2. 缩放与 softmax:由于向量维度较大,直接使用点积分数会导致梯度过大或过小,所以论文采用 (\sqrt{d_k}) 作为缩放因子。随后对缩放后的分数施加 softmax,将其转换为概率权重;
  3. 加权求和:使用这些权重对对应的 Value 向量求和,得到当前词的语义表示。该表示不仅包含自身信息,还融合了其他词的相关信息。

由于所有词同时参与运算,自注意力可以并行完成整个句子的关联计算,显著快于顺序处理的 RNN。

自注意力示例图:以下图示用中文句子 “猫追老鼠” 说明自注意力计算过程。句子中的三个词(“猫”“追”“老鼠”)分别生成 Query、Key 和 Value 向量,并通过点积计算相似度。示例中,“追” 对 “猫” 和 “老鼠” 的注意权重分别为 0.7 和 0.3,反映出它在理解动作时更关注主语 “猫”。

图 3:自注意力计算具体示例。每个词生成 Q、K、V 向量,“追” 通过 0.7 的权重聚合 “猫” 的信息,通过 0.3 的权重聚合 “老鼠” 的信息,从而形成自身的上下文表示。

2.3 多头注意力

一个注意力头只能捕捉一种关系模式。Transformer 通过多头注意力将 Q、K、V 拆分为多个 “头”,在每个头中独立计算注意力,再将各头的输出拼接后用线性层融合。这种设计使模型能够同时关注不同语义关系,如语法结构与语义关联。

2.4 掩码与跨注意力

  • 编码器自注意力:编码器的自注意力允许词与序列中所有其他词互相关联。
  • 解码器自注意力(掩码):生成文本时,解码器不能窥视未来词,因此使用因果掩码遮蔽掉未来位置,使每个位置只能关注自身和前面的词。
  • 跨注意力(Encoder–Decoder Attention):解码器的第二个注意力层使用来自编码器的输出作为 Key 与 Value,解码器自己的 Query 去匹配它们,这让模型能够在生成目标词时查找输入句子中相关的信息。

3. 前馈网络(Feed‑Forward / MLP)

每个注意力子层之后会有一个前馈网络,它由两个线性层组成,中间使用非线性激活(如 ReLU)。该网络在序列的每个位置上独立应用,用以进一步提炼局部表示。注意力输出经过 MLP 后,会再次与输入相加并进行归一化,形成新的表示。

4. 残差连接与层归一化

Transformer 之所以能够堆叠多个层而不易退化,关键在于残差连接和层归一化:

  • 残差连接:将子层的输入与输出相加。这一设计源自 ResNet,能够缓解深层神经网络的梯度消失问题,使模型更容易学习恒等映射,并保持前层信息。
  • 层归一化:在每个子层之后对输入向量进行规范化,使其均值为 0、方差为 1,可以稳定训练并加快收敛。

原始 Transformer 使用后置归一化(Post-LN),即在残差连接之后再施加层归一化。后续研究发现将归一化移动到子层内部(Pre-LN)可改善训练稳定性,尤其是深层模型,但具体实现取决于任务。

5. 输出层

编码器—解码器堆叠多层之后,最终的表示会送入一个线性层,将维度转换为词表大小,再经过 softmax 生成每个候选词的概率。概率最高者即为模型的输出。对于翻译任务,还会使用 beam search 等算法探索多种候选序列以提升整体句子的概率。


四、Transformer 的优势与局限

优势

  1. 并行与效率:自注意力机制可以并行处理所有位置,训练速度比 RNN 快数百倍。多头注意力提供更丰富的语义捕捉能力,适用于翻译、文本生成、音频、图像等多种任务。
  2. 长距离依赖:注意力可以直接连接序列中的任意两个位置,跨越长距离而不会随距离衰减,这使模型在处理长句或跨句子关系时表现优越。
  3. 灵活扩展:调整数据和损失即可将基础 Transformer 用于翻译、摘要、语音识别甚至图像识别等多种任务。

局限

  1. 计算和内存消耗:标准注意力的复杂度为 (O(n2)),当序列长度增加时,计算量和存储需求呈平方增长。对此,研究者提出了线性注意力等改进方法,通过使用核技巧将复杂度降至线性。
  2. 对数据的需求:训练大型模型需要海量文本数据,数据质量和多样性直接影响模型的泛化能力。低质量数据可能导致偏见或幻觉。
  3. 缺乏固有顺序感:Transformer 需要通过位置编码显式加入顺序信息。如果编码方式或长度不合理,可能导致模型难以区分不同位置的词序关系。
  4. 能源消耗:训练和运行大模型耗能巨大。分析指出,与 GPT‑4o 相当的模型训练需要持续 20–25 兆瓦的功率,历时约三个月,相当于为 2 万个美国家庭供电。而推理阶段一条典型 ChatGPT 查询约消耗 0.3 瓦时电能,比早期估计低一个数量级。虽然单次查询能耗较低,但海量用户累计的能源需求依然引发可持续性担忧。

五、从 Transformer 走向大型语言模型(LLM)

1. 参数规模的爆炸

早期 Transformer 模型参数数量通常在数千万到一亿级别。如今的 LLM(如 GPT‑4、Claude、Gemini)参数规模达到数千亿甚至数万亿,相当于从 “小型图书馆” 升级到 “国家图书馆”。更多参数意味着更强的表示能力,但也意味着更高的训练成本和能耗。

2. 自监督学习与预训练

LLM 主要通过自监督学习进行预训练,即遮盖句子中部分词让模型猜测缺失词。这种训练不需要人工标注,能够利用大规模未标注文本。随后会采用监督微调,让模型在特定任务上表现更好。模型通常以 autoregressive 方式生成文本,确保输出句子连贯。

3. RLHF:引入人类偏好

为让生成模型更加符合人类价值观和对话习惯,业界广泛使用人类反馈强化学习(RLHF)。其流程包括:

  1. 收集偏好:人工对模型的输出进行两两比较,生成偏好排名。人类反馈常采用排名方式,并可通过 Elo 评分系统将排名转成得分。研究表明,小规模高质量的数据即可取得良好效果,但为了减少偏见,扩大数据多样性仍然重要。
  2. 训练奖励模型:用预训练语言模型作为初始化,将最后一层替换为回归头,输入 prompt 和响应后输出评分。该模型通过对比被人类认为更好的和更差的输出来最小化逻辑回归损失。
  3. 强化学习优化策略:在奖励模型的指导下,对语言模型进行策略梯度优化,使其倾向生成奖励更高的响应。此前先用少量标注数据进行监督微调以稳定训练。这种方法帮助 ChatGPT、Gemini 等模型更好地拒绝不当请求、提供准确回答。

RLHF 的优势在于无需严格定义奖惩函数,只需人工指出哪个回答更好即可。然而,收集优质人类偏好数据成本高昂,且数据代表性不足会带来偏见。在实际应用中,需要平衡数据成本、模型性能和公平性。

4. 能力拓展与新趋势

  • 多模态理解:现代 LLM 已能处理文字、图像甚至音频。例如 GPT‑4o 和 Gemini 具备 “看图说话” 能力,可描述图片内容、解释梗图或解答数学题。这得益于在视觉和文本领域大规模预训练和跨模态对齐。
  • 长上下文与检索增强:改进注意力结构(如线性注意力、FlashAttention)降低了长序列计算成本。同时,检索增强模型(如 RAG)通过调用外部知识库来补充模型记忆。
  • 高效微调与参数高效训练:方法如 LoRA 和 Adapter 允许在冻结大部分参数的情况下微调模型,降低存储和计算需求。
  • 可持续与能耗优化:为解决能耗问题,研究者开发了线性或稀疏注意力机制,可以将复杂度从 (O(n2)) 降至 (O(n))。例如有研究介绍线性注意力通过核映射和矩阵运算重排,将 softmax 注意力的计算从二次复杂度降为线性。这些方法为长上下文建模和能耗优化提供了新方向。

六、结语

Transformer 的提出彻底改变了自然语言处理领域,它不仅使模型具备并行处理和长距离记忆能力,还为后续 LLM 的发展奠定了统一架构。通过自注意力、多头机制、前馈网络以及残差归一化的协同,Transformer 能够高效地从海量数据中学习复杂模式。大型语言模型则在规模和训练策略上进一步突破,通过自监督预训练、RLHF 微调和多模态学习等手段,不断逼近通用人工智能。然而,我们也要注意模型在计算资源、数据偏见和能耗上的挑战。随着线性注意力、检索增强和参数高效微调等新技术的发展,未来的大模型可能既更强大又更高效。

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册