1. 核心思想:从"串行"到"并行"
在Transformer之前,主流模型是RNN(循环神经网络)和LSTM。它们处理句子是串行 的(一个字一个字地读),这导致两个致命缺陷:训练慢 (无法充分利用GPU并行计算)和遗忘(处理长句子时记不住开头)。
Transformer的核心创新在于引入了自注意力机制(Self-Attention) 。它允许模型在处理某个词时,一次性"看到"句子中的所有其他词 ,并动态计算它们对当前词的重要程度(权重)。这实现了并行计算,并完美捕捉了长距离依赖关系。
2. 宏观架构:编码器-解码器(Encoder-Decoder)
原始的Transformer是一个对称的"沙漏"结构,由两部分组成(虽然现代GPT只使用了解码器部分,但理解原版是基础):
-
编码器(Encoder) :负责理解输入。它由N个(原论文为6个)完全相同的层堆叠而成,读取整个输入序列,生成语义丰富的上下文表征。
-
解码器(Decoder) :负责生成输出。它也由N个相同的层堆叠而成,但比编码器多了一个"交叉注意力"子层,用于"关注"编码器输出的结果,逐个生成目标词(如翻译后的句子)。
3. 关键组件(技术灵魂)
这是Transformer最核心的部分,我建议你重点理解以下四个机制:
① 自注意力机制(Scaled Dot-Product Attention)
这是理解Transformer的"第一性原理"。对于输入序列中的每一个词,它都会生成三个向量:
-
Q(Query,查询):我在找什么?
-
K(Key,键):我是什么?
-
V(Value,值):我携带的实际内容是什么?
计算步骤:每个词的Q去和所有词的K做点积计算相似度(得分),得分经过Softmax归一化成概率权重,最后用这个权重去加权求和所有词的V。
数学公式 :Attention(Q,K,V)=softmax(QKTdk)VAttention(Q,K,V)=softmax(dkQKT)V
(除以 dkdk 是为了防止点积过大导致梯度消失,称为"缩放")。
② 多头注意力(Multi-Head Attention)
这是Transformer的"超能力"。它不只用一组Q、K、V,而是将Q、K、V投影到多个不同的子空间(比如8个头),分别做上述的注意力计算,最后把结果拼接起来。
作用:不同的"头"关注不同的模式。有的头关注语法关系(主谓宾),有的头关注指代关系(代词指谁),有的头关注距离远近。这极大增强了模型捕捉不同特征的能力。
③ 位置编码(Positional Encoding)
由于Self-Attention是并行的,它本身没有顺序感 (即"我爱你"和"你爱我"在注意力计算中是完全对称的)。
为了解决这个问题,Transformer在输入词嵌入(Embedding)上加上了位置编码(使用正弦/余弦函数生成),以此注入单词在句子中的绝对或相对位置信息。
④ 前馈网络(Feed-Forward Network, FFN)与残差连接
-
FFN :每个注意力层后面接一个简单的全连接神经网络(通常有两层,中间隐藏层维度很大,约是输入维度的4倍)。它负责对注意力提取的特征进行非线性变换,增加模型的表达能力。
-
残差连接(Residual) + 层归一化(Layer Norm):每个子层(Attention和FFN)的输入和输出都会相加(残差),然后再做归一化。这防止了深层网络训练时的梯度消失,让上百层的Transformer也能稳定训练。
4. 完整工作流程(以英译中为例)
假设输入是"Hello World",输出是"你好世界":
-
输入嵌入:"Hello"和"World"被转为向量,并加上位置编码。
-
编码器处理:向量进入编码器。经过多头自注意力(计算"Hello"和"World"的关系),再经过FFN。经过6层堆叠后,编码器输出包含完整上下文信息的"记忆向量"。
-
解码器启动(自回归生成):
-
解码器首先输入起始符
<START>,结合编码器的记忆,预测出第一个词"你"。 -
然后将"你"作为输入,再次结合记忆,预测出"好"......以此类推,直到预测出结束符
<END>。 -
关键 :解码器中的自注意力使用了掩码(Mask),确保在预测第 ii 个词时,看不到第 i+1i+1 个词(未来的词),从而保证预测的因果关系。
-
5. 现代变体(你需要注意的趋势)
虽然原版是Encoder-Decoder,但现在的趋势发生了分化:
-
BERT :只用了编码器(Encoder-Only)。擅长"理解"任务(如填空、分类),因为它能双向看到上下文。
-
GPT系列 :只用了解码器(Decoder-Only)。擅长"生成"任务(如续写、对话),因为它只能单向看到过去的词。目前业界公认Decoder-Only在Scaling(规模扩展)上表现最优,是主流大模型的标配。
总结一句
Transformer的本质是**"用全局注意力替代局部循环"** 。它的成功证明了**"算力堆砌下的并行注意力机制,比人类的串行思考模式更适合AI训练"**。