4

Transformer架构

Attention is All You Need:革命性的神经网络架构

⏱️ 120分钟📊 难度:进阶🎯 模块2:核心技术

📖课程概述

2017年,Google团队的论文《Attention is All You Need》提出了Transformer架构,彻底改变了NLP领域。 Transformer抛弃了传统的循环结构和卷积结构,完全基于注意力机制,实现了高效的并行训练和强大的长距离依赖建模能力。 本讲将深入剖析Transformer的每个组件,理解为什么它成为现代LLM的基石。

🎯学习目标

1.理解Self-Attention机制的原理与计算过程
2.掌握Multi-Head Attention的设计动机与实现
3.理解Encoder-Decoder结构及其工作流程
4.认识Transformer相比RNN/CNN的核心优势

🔑核心知识点

Self-AttentionMulti-HeadFeed-ForwardLayer Norm

🧠 Self-Attention机制可视化

点击任意单词,查看它对句子中其他词的注意力分布:

点击上方的单词开始探索注意力机制 ↑

💡核心概念详解

🧠

Self-Attention:让每个词"看到"所有词

Self-Attention(自注意力)是Transformer的核心创新。它让序列中的每个位置都能直接关注到所有其他位置, 计算它们之间的相关性,从而捕捉长距离依赖关系。不同于RNN的串行处理,Self-Attention是完全并行的, 极大提升了训练效率。

Self-Attention计算流程:
1.
线性变换:将输入x通过三个权重矩阵生成Query、Key、Value
Q = x · WQ,  K = x · WK,  V = x · WV
2.
计算相似度:Q与K的点积,得到注意力分数
Attention_scores = Q · KT / √dk
💡 除以√dk是缩放操作,防止数值过大,dk是Key的维度
3.
Softmax归一化:将分数转为概率分布
Attention_weights = softmax(Attention_scores)
4.
加权求和:用注意力权重对Value加权平均
Output = Attention_weights · V
💡 为什么叫"Self"-Attention?

"Self"指的是Query、Key、Value都来自同一个输入序列。 序列在"自己内部"计算注意力,每个词关注序列中所有词(包括自己), 这与传统Encoder-Decoder Attention(跨序列注意力)不同。

🎭

Multi-Head Attention:从多个角度理解文本

单个Self-Attention只能从一个"视角"捕捉信息(如语法关系)。Multi-Head Attention并行运行多个Self-Attention"头", 每个头学习不同的关注模式(如词性、语义、句法等),然后拼接起来,让模型能从多个维度理解文本。 GPT-3使用96个头,BERT-Large使用16个头。

Multi-Head的工作机制:
1. 分头计算:将d_model维嵌入分成h个头,每头维度d_k = d_model / h
例如:768维 ÷ 12头 = 64维/头
2. 并行Attention:每个头独立执行Self-Attention
head_i = Attention(Q_i, K_i, V_i)
3. 拼接融合:将所有头的输出拼接,再线性变换
MultiHead = Concat(head_1, ..., head_h) · W_O
✅ Multi-Head优势
  • • 捕捉多种语言关系(语法、语义、共指等)
  • • 增强模型表达能力
  • • 不同头关注不同距离的依赖
  • • 提升模型鲁棒性
🔍 典型头数配置
  • • BERT-Base: 12头 (768维)
  • • BERT-Large: 16头 (1024维)
  • • GPT-2: 12-48头
  • • GPT-3: 96头 (12288维)
🏗️

Encoder-Decoder架构:完整的Transformer结构

原始Transformer采用Encoder-Decoder结构,适用于序列到序列任务(如机器翻译)。 Encoder处理输入序列,Decoder生成输出序列。现代LLM大多只使用其中一部分: BERT类模型只用Encoder(双向),GPT类模型只用Decoder(单向)。

Transformer的三种架构变体:
1. Encoder-Only(BERT类)
结构:堆叠多层Encoder(BERT-Base: 12层)
特点:双向Self-Attention,可以看到全部上下文
适用:文本分类、问答、命名实体识别等理解任务
2. Decoder-Only(GPT类)
结构:堆叠多层Decoder(GPT-3: 96层)
特点:带Mask的单向Attention,只能看到左侧上下文
适用:文本生成、对话、代码生成等生成任务
3. Encoder-Decoder(T5类)
结构:Encoder + Decoder(T5: 12层E + 12层D)
特点:Encoder双向理解,Decoder单向生成
适用:机器翻译、摘要生成、Seq2Seq任务
⚙️

Feed-Forward与Layer Norm:不可或缺的辅助组件

Transformer不仅有Attention,还包含Feed-Forward Network和Layer Normalization。 Feed-Forward对每个位置独立做非线性变换,增强表达能力。 Layer Norm稳定训练,加速收敛。残差连接(Residual Connection)让梯度能够畅通无阻地流动。

Feed-Forward Network
两层全连接网络,中间用ReLU/GELU激活
FFN(x) = max(0, x·W1 + b1)·W2 + b2
作用:对每个位置做复杂非线性变换,增加模型容量
Layer Normalization
对每层输出归一化到均值0、方差1
LN(x) = γ·(x - μ)/σ + β
作用:稳定训练,防止梯度爆炸/消失
完整的Transformer Block结构:
x1 = LayerNorm(x + MultiHeadAttention(x))
x2 = LayerNorm(x1 + FeedForward(x1))
残差连接(+ 号):让原始信息能够直接传递到后续层, 缓解深层网络的梯度消失问题,使得堆叠到数十层甚至上百层成为可能。
🚀

为什么Transformer如此成功?

Transformer相比RNN和CNN,在并行性、长距离建模、可扩展性等方面都有显著优势。 这些优势使其成为大规模预训练模型的理想架构,开启了LLM时代。

Transformer vs RNN vs CNN:
✅ 并行计算
RNN:串行处理,t时刻依赖t-1,无法并行
Transformer:所有位置同时计算,充分利用GPU并行能力
✅ 长距离依赖
RNN:梯度消失,难以捕捉远距离关系
Transformer:任意两个位置的路径长度为O(1),轻松建模长距离依赖
✅ 可扩展性
CNN:需要堆叠多层才能扩大感受野
Transformer:一层即可全局感受野,易于堆叠到上百层
✅ 可解释性
RNN/CNN:黑盒特征,难以解释
Transformer:Attention权重可视化,能看到模型"关注"哪些词
⚠️ Transformer的局限

Transformer并非完美:1) 计算复杂度O(n²),处理超长序列(10万+tokens)仍有挑战; 2) 需要大量数据和算力才能训练好;3) 位置编码对超长序列泛化不佳。 这些问题催生了Sparse Attention、Linear Attention等改进方案。

🎯 核心概念总结

Attention是核心

Self-Attention让模型直接建模全局依赖, Multi-Head从多个角度理解文本

并行是优势

抛弃串行结构,实现高效并行训练, 为大规模预训练奠定基础

架构是基石

GPT、BERT、T5等现代LLM都基于Transformer, 它是深度学习的新范式

📚学习资源

📄

课程Slides

完整的讲义PDF,包含所有图表和详细内容

本讲测评

18道题目,检验你对Transformer架构的掌握

开始测评 →