导语
Transformer 作为现代大语言模型的技术基石,其核心架构和注意力机制彻底改变了 NLP 领域的研究范式。无论是 BERT 的双向理解、GPT 的单向生成,还是 LLaMA、ChatGLM 等大模型的崛起,都离不开 Transformer 的技术支撑。本文将从 Transformer 基础原理出发,逐步深入其结构细节、大模型演进逻辑,以及微调技术(如 LoRA、RLHF)的实战应用,帮助你系统掌握这一领域的核心知识。
1. Transformer 核心原理:从架构到注意力
1.1 基础架构:Encoder-Decoder 分工
Transformer 最核心的设计是 Encoder-Decoder 双模块架构:
- Encoder(编码器):负责将输入文本转换为高维语义表示。以 BERT 为例,它通过多层双向自注意力捕捉文本中所有词的关联,擅长理解上下文含义(如“动物太累因为它没过马路”中“它”指向“动物”的指代消解)。
- Decoder(解码器):负责生成输出文本,通过自回归方式(只看前文)预测下一个词。以 GPT 为例,它通过单向自注意力逐词生成内容,擅长文本续写、对话等生成任务。
为什么需要双向 vs 单向?
- 双向注意力(Encoder)能同时看到所有词,适合理解任务(如问答、分类);
- 单向注意力(Decoder)只能看到前文,适合生成任务(如续写、翻译)。
1.2 灵魂机制:自注意力(Self-Attention)
自注意力的核心是 Q/K/V 三向量交互:
- Query(Q):“我要找什么特征?”(当前词的查询向量);
- Key(K):“我有什么特征?”(其他词的键向量);
- Value(V):“我的具体内容是什么?”(其他词的值向量)。
通过计算 Q 与 K 的内积(相似度),再经 softmax 归一化得到注意力权重,最后加权求和 V 得到该词的增强表示。
举例:在句子“动物太累因为它没过马路”中,“它”的 Q 向量会高度匹配“动物”的 K 向量(通过语义相关性),从而让“它”的注意力权重集中在“动物”上,实现指代消解。
1.3 工作流程:从输入到输出
Transformer 的完整工作流程可拆解为三步:
1. 位置编码:由于自注意力是并行计算(无顺序依赖),需给每个词添加位置标签(如 BERT 的正弦编码、GPT 的 RoPE 旋转编码),避免模型混淆词的顺序。
2. 自注意力层:每个词与所有词计算相关性,补全语义信息(如“动物”与“马路”的关联)。
3. 多头注意力(Multi-Head Attention):通过多个并行的注意力头(如 12 头)从不同角度捕捉特征(语法、情感、逻辑),最后汇总结果。
1.4 Transformer 与大模型的关系
Transformer 是大模型的 技术基石,而大模型是 Transformer 在 数据规模 和 算力资源 推到极致后的产物。例如:
- 原始 Transformer 仅用 6 层堆叠,而 GPT-4 则通过千亿参数、万亿 tokens 训练,实现了从“语法理解”到“逻辑推理”的质变。
2. Transformer 结构细节:深入核心组件
2.1 层数与子层结构
原始 Transformer 中,Encoder 和 Decoder 各堆叠 N=6 层,每层包含不同子层:
- Encoder 每层:2 个子层
- 多头自注意力(Multi-Head Self-Attention):并行计算多视角注意力;
- 前馈神经网络(FFN):两层全连接 + ReLU 激活,公式为 FFN(x) = max(0, xW1 + b1)W2 + b2,中间维度通常放大 4 倍(如输入维度 512 → 2048)。
- Decoder 每层:3 个子层
- Masked 自注意力(仅看前文,防止未来信息泄露);
- Cross-Attention(与 Encoder 输出交互,获取全局信息);
- 前馈神经网络(同 Encoder)。
2.2 Cross-Attention:Encoder-Decoder 交互核心
Decoder 的第二个注意力子层(Cross-Attention)是 Encoder-Decoder 交互的关键:
- Q(Query):来自 Decoder 上一层的输出;
- K(Key)/V(Value):来自 Encoder 的最终输出。
这一设计让 Decoder 能“看到”Encoder 对整个输入的理解结果,从而在生成时结合全局上下文(例如翻译时,Decoder 生成目标词时会参考 Encoder 对源语言的编码)。
2.3 残差连接与归一化
- 残差连接:每个子层输出后加输入(
x + SubLayer(x)),解决深层网络的梯度消失问题,让模型更易训练。 - 归一化:
- LayerNorm:按单个样本的特征维度归一化(如词向量的每个维度),避免 BatchNorm 依赖 batch 大小的问题,适合变长序列;
- RMSNorm:简化版 LayerNorm,仅用均方根缩放,速度更快,被 LLaMA、Baichuan 等模型采用。
2.4 关键优化细节
- Q/K 缩放:计算注意力时,Q/K 内积需除以
√d_k(d_k为 Key 向量维度),防止内积过大导致 softmax 梯度过小(数值稳定)。 - FFN 激活:原始 Transformer 使用 ReLU,现代模型(如 LLaMA)改用 SwiGLU(双线性门控激活),提升表达能力。
3. 大模型架构对比:从基础到主流
3.1 三大主流架构
| 架构类型 | 代表模型 | 核心特点 | 适用场景 |
|---|---|---|---|
| Causal Decoder(因果解码器) | LLaMA、GPT | 单向自回归,仅看前文 | 对话、续写、代码生成 |
| Prefix Decoder(前缀解码器) | ChatGLM、U-PaLM | 输入双向、输出单向 | 中文理解、多轮对话 |
| Encoder-Decoder(编码器-解码器) | T5、BART | 双向输入+单向输出 | 翻译、摘要、分类 |
为什么 Decoder-only 成主流?
- 训练效率高:所有 token 都可计算损失(无 Encoder 需单独训练);
- 生成能力强:自回归特性天然适合对话(多轮上下文);
- 零样本能力:无需显式任务指令,仅通过提示词即可适配新任务。
3.2 大模型常见问题与缓解
- 复读机问题:训练数据重复模式、长序列注意力失效导致模型机械重复。
→ 解决:数据清洗(去重)、加入长文本训练、提升注意力质量。 - SFT 后“变傻”:微调数据分布与预训练差异大,或微调集过小导致过拟合。
→ 解决:数据混排(预训练数据与微调数据比例 1:5~1:10)、使用 PEFT 技术(如 LoRA)减少参数更新量。
4. 微调技术:从 SFT 到 RLHF
4.1 微调总览:为何需要微调?
大模型预训练后,需通过微调适配特定任务(如客服问答、代码生成)。常见微调方式:
- SFT(监督微调):用“指令-回答”数据训练,直接优化模型生成能力;
- PEFT(参数高效微调):仅训练少量参数(如 LoRA),降低算力成本;
- RLHF(强化学习人类反馈):通过人类偏好排序优化模型,实现价值观对齐。
4.2 PEFT:高效微调的核心——LoRA
LoRA 原理
在预训练模型权重 W 旁新增低秩矩阵 A 和 B,公式为 W + ΔW = W + BA,仅训练 A 和 B(参数量仅为原模型的 1%~5%)。
LoRA 调参要点
- 秩 r:一般取 4~8,指令微调建议 r=8~16(覆盖更多任务分布);
- alpha:缩放参数,通常设为 r(简化超参);
- 作用层:分散可训练参数到多个注意力头(如 Q/K/V 矩阵),避免单一矩阵过拟合;
- 初始化:
A用 Kaiming 初始化,B初始化为 0(保证初始输出与原模型一致)。
4.3 RLHF:强化学习对齐人类偏好
三阶段流程
- SFT:用高质量“指令-回答”数据训练基础模型;
- RM(奖励模型):训练一个回归模型,对 SFT 输出打分(如 4-9 个回复排序);
- PPO(近端策略优化):基于奖励模型的分数,更新 SFT 模型,最大化累积奖励。
变种:DPO(直接偏好优化)
- 用二元交叉熵目标(
log(P(preference=好|prompt)))直接优化模型,跳过显式奖励模型,训练更高效(如 LLaMA 2 采用)。
5. 关键技术总结与应用建议
5.1 核心技术概览
| 技术类型 | 核心作用 | 代表模型 | 适用场景 |
|---|---|---|---|
| Transformer 架构 | 并行计算+全局注意力 | BERT、GPT、LLaMA | 基础 NLP 任务 |
| 位置编码 | 补充顺序信息 | RoPE(LLaMA)、ALiBi(BLOOM) | 长文本生成 |
| 高效微调 | 降低参数训练量 | LoRA(小模型)、QLoRA(大模型) | 多任务适配 |
| 强化学习对齐 | 优化人类偏好 | RLHF(ChatGPT)、DPO(LLaMA 2) | 价值观对齐 |
5.2 实战建议
- 数据准备:优先选择高质量、多样化的指令数据(如 ShareGPT 对话数据),避免数据重复。
- LoRA 训练:数据量 <10k 时用 Chat 模型(如 LLaMA-7B),100k+ 数据用 Base 模型(如 LLaMA-70B)。
- RLHF 简化:若数据不足,可跳过 RM 直接用 DPO 优化,或用少量人工标注数据训练奖励模型。
小结
Transformer 作为大模型的技术基石,通过自注意力机制打破了顺序依赖,实现了文本的全局理解与生成。从基础架构到高效微调(如 LoRA)、强化学习对齐(如 RLHF),现代大模型的演进围绕着“提升表达能力”“降低训练成本”“优化人类对齐”三大目标。掌握这些核心技术,不仅能理解大模型的本质,更能在实际应用中灵活选择适配的微调策略,实现高效落地。
评论