Transformer 架构学习笔记
文章目录
- 一、Transformer 的核心原理
- 1. 整体架构
- 2. 关键组件
- 二、Transformer 成功的关键因素
- 1. 全局上下文建模能力
- 2. 并行计算优势
- 3. 可扩展性强
- 4. 预训练范式适配
- 5. 硬件效率优化
- 三、与 RNN/CNN 的对比
- 四、典型应用
- 1. 文本生成(GPT 系列):
- 2. 机器翻译(Google 翻译):
- 3. 文本理解(BERT):
- 4. 多模态任务(CLIP、DALL·E):
- 五、局限性及改进方向
- 1. 计算复杂度高:
- 2. 位置编码泛化性:
- 3. 显存消耗大:
- 六、总结
Transformer 是一种基于自注意力机制的深度学习模型架构,最初由 Google 在 2017 年提出(论文《Attention Is All You Need》)。它彻底改变了自然语言处理(NLP)领域,并成为 GPT、BERT 等大模型的基础架构。
一、Transformer 的核心原理
1. 整体架构
Transformer 由编码器(Encoder)和解码器(Decoder)堆叠组成,但实际应用中可根据任务调整:
编码器: 处理输入序列(如文本),提取上下文特征。
解码器: 基于编码器输出生成目标序列(如翻译结果)。
2. 关键组件
(1)自注意力(Self-Attention):
-
计算序列中每个位置与其他位置的关联权重,捕捉长距离依赖关系。
-
公式:
Attention ( Q , K , V ) = softmax ( Q K T d k ) V \text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V Attention(Q,K,V)=softmax(dkQKT)V
其中 Q(查询)、K(键)、V(值)由输入向量线性变换得到。
(2)多头注意力(Multi-Head Attention):
-
将输入拆分为多个子空间(如语法、语义),并行计算后拼接结果。
-
增强模型捕捉不同类型特征的能力。
(3)位置编码(Positional Encoding):
-
通过正弦函数或可学习参数,为无顺序的注意力机制注入位置信息。
-
示例(正弦编码):
P E ( p o s , 2 i ) = sin ( p o s / 10000 2 i / d m o d e l ) PE_{(pos,2i)} = \sin(pos/10000^{2i/d_{model}}) PE(pos,2i)=sin(pos/100002i/dmodel)
(4)前馈神经网络(FFN):
- 对注意力输出进行非线性变换(通常为两层全连接 + ReLU)。
(5)残差连接 & 层归一化:
- 残差连接缓解梯度消失,层归一化加速训练收敛。
二、Transformer 成功的关键因素
1. 全局上下文建模能力
自注意力机制直接建立任意两个位置的关联,解决了 RNN 的长距离依赖问题。
例如在句子 “The animal didn’t cross the street because it was too tired” 中,能清晰捕捉 “it” 指代 “animal”。
2. 并行计算优势
所有位置同时处理,训练速度比 RNN 快 5-10 倍,尤其适合 GPU/TPU 加速。
3. 可扩展性强
堆叠更多层或增加头数即可扩展模型容量(如 GPT-3 有 96 层、1750 亿参数)。
4. 预训练范式适配
支持掩码语言建模(BERT)或自回归预测(GPT),利用海量无标注数据学习通用表征。
5. 硬件效率优化
纯矩阵运算充分利用 GPU 并行能力,训练效率比 CNN/RNN 高 30% 以上。
三、与 RNN/CNN 的对比
特性 | Transformer | RNN | CNN |
---|---|---|---|
长距离依赖 | 全局捕捉(O(1) 步) | 逐步传递(O(n) 步) | 局部窗口受限 |
并行性 | 完全并行 | 序列顺序处理 | 部分并行 |
计算复杂度 | O(n²)(通过稀疏注意力优化) | O(n) | O(k·n)(k为卷积核大小) |
显存占用 | 较高(需存储注意力矩阵) | 较低 | 中等 |
四、典型应用
1. 文本生成(GPT 系列):
自回归生成连贯文章。
2. 机器翻译(Google 翻译):
编码器-解码器联合学习。
3. 文本理解(BERT):
通过掩码预测学习双向表征。
4. 多模态任务(CLIP、DALL·E):
处理文本-图像联合表征。
五、局限性及改进方向
1. 计算复杂度高:
序列长度 n 的平方级复杂度(O(n²)),长文本处理受限。
- 解决方案:稀疏注意力(如 Longformer)、分块计算(Reformer)。
2. 位置编码泛化性:
训练和推理的序列长度需一致。
- 改进:相对位置编码(如 T5)、旋转位置编码(RoPE)。
3. 显存消耗大:
存储注意力矩阵占用显存。
- 优化:梯度检查点、混合精度训练。
六、总结
Transformer 的成功源于注意力机制的创新、硬件友好的设计和大规模预训练范式的结合。它不仅重塑了 NLP 领域,还推动了计算机视觉(ViT)、语音处理(Whisper)等多模态模型的发展,成为现代人工智能的核心架构之一。