1047 字
5 分钟
Transformer 整体架构

Transformer 整体架构#

1. 诞生背景#

一句话总结:RNN 太慢(串行),CNN 看不远(局部窗口),于是 Google 在 2017 年提出了一个只用注意力机制的模型——Transformer,一次看完整个序列,还能并行计算。

痛点RNN/LSTMCNNTransformer
长程依赖梯度消失,实际 ~100 步受限于卷积核大小任意两个位置直接连接
并行能力必须逐步串行可并行可并行
计算复杂度O(Td2)O(T \cdot d^2) 串行O(Tkd2)O(T \cdot k \cdot d^2)O(T2d)O(T^2 \cdot d) 并行

2. 全局架构图#

架构核心要点
  • 编码器:把输入序列编码成”语义记忆”,每一层都通过自注意力让所有位置互相交流
  • 解码器:基于编码器的”记忆”,自回归地生成输出序列,每一步只能看到已生成的部分
  • N 层堆叠:原论文使用 N=6N=6,每层结构相同但参数独立
  • 前馈网络:由**“全连接层”堆叠而成. 这是一条极其严格的单向单行道**。数据从“输入层”喂进去(Feed),然后一层一层地只向着“输出层”的方向向前传递(Forward)

3. 六大核心组件#

Transformer 由以下六个模块搭建而成,后续章节将逐一深入:

#组件作用详细笔记
Token Embedding将离散词 ID 映射为稠密向量Token Embedding
位置编码注入序列顺序信息位置编码
Self-Attention计算序列中任意两个位置的关联度理解 Self Attention
多头注意力从多个角度并行提取特征多头注意力
Encoder/Decoder Block注意力 + FFN + 残差 + 归一化Encoder Block
输出层Linear + Softmax → 词概率终端输出

4. 数据流全链路追踪#

以机器翻译任务 “我 爱 学习” → “I love learning” 为例,追踪一个完整的前向传播:

4.1 编码阶段#

输入: ["我", "爱", "学习"]
↓ Token Embedding
[0.12, -0.34, ...] × 3 个向量, 每个 d_model=512 维
↓ + Positional Encoding
[0.12+sin, -0.34+cos, ...] 注入位置信息
↓ Encoder Layer ×6
每层: Multi-Head Self-Attention → Add&Norm → FFN → Add&Norm
编码器输出: 3 个 512 维向量(蕴含整句语义)

4.2 解码阶段(自回归生成)#

第 1 步: 输入 <BOS>
↓ Masked Self-Attention(只看自己)
↓ Cross-Attention(关注编码器输出中的 "我""爱""学习")
↓ FFN → Linear → Softmax
→ 预测 "I"
第 2 步: 输入 <BOS>, "I"
↓ Masked Self-Attention(看 <BOS> 和 "I")
↓ Cross-Attention(再次关注编码器输出)
→ 预测 "love"
第 3 步: 输入 <BOS>, "I", "love"
→ 预测 "learning"
第 4 步: 输入 <BOS>, "I", "love", "learning"
→ 预测 <EOS> 停止
训练 vs 推理的关键区别
  • 训练时:使用 Teacher Forcing——解码器的输入是真实目标序列(右移一位),所有位置可以并行计算
  • 推理时:必须自回归——每次只能生成一个词,用上一步的输出作为下一步的输入

5. 超参数速查#

原论文 Attention Is All You Need 中 base/big 两种配置:

超参数basebig
dmodeld_{model}(模型维度)5121024
NN(层数)66
hh(注意力头数)816
dk=dv=dmodel/hd_k = d_v = d_{model}/h6464
dffd_{ff}(FFN 隐藏层)20484096
参数量~65M~213M
注意区分三种注意力

Transformer 中有三种注意力,它们用的是同一套 Scaled Dot-Product 公式,区别在于 Q/K/V 的来源:

  1. 编码器自注意力:Q、K、V 全部来自编码器输入
  2. 解码器 Masked 自注意力:Q、K、V 全部来自解码器输入,加因果掩码
  3. 交叉注意力:Q 来自解码器,K/V 来自编码器输出

6. Transformer 家族分支#

当前大语言模型主流路线是 Decoder-Only(GPT、Claude、LLaMA),因为自回归生成天然适合对话、写作等开放式任务。

相关笔记#

Transformer 整体架构
https://fuwari.vercel.app/posts/ai/llm/transformer/notes/01_foundation/02_transformer整体架构/
作者
OopsYanxi
发布于
2026-04-22
许可协议
CC BY-NC-SA 4.0