前言

如今ChatGPT、文心一言、GPT-4、BERT等几乎所有主流大模型,底层骨架全部来自2017年谷歌《Attention Is All You Need》提出的Transformer架构。在正式拆解Transformer完整结构前,我们必须先搞懂它的前身——传统Seq2Seq序列模型,明白旧架构的致命缺陷,才能理解Transformer为什么能成为划时代的里程碑。

一、Seq2Seq:传统序列模型的瓶颈

1. Seq2Seq核心结构

Seq2Seq全称Sequence to Sequence(序列到序列),最早用于机器翻译,整体分为两大模块:

  1. Encoder编码器:接收变长输入文本,把整段序列压缩为固定长度上下文向量context vector,将全部语义塞进一个向量;
  2. Decoder解码器:读取压缩后的上下文向量,逐token生成变长输出文本。

2. 传统Seq2Seq三大硬伤

文档中明确指出原生RNN/LSTM搭建的Seq2Seq存在无法规避的缺陷:

  1. 固定长度编码丢失信息:无论输入句子长短,最终都压缩成同一个维度向量,长文本大量细节被强制压缩;
  2. 长距离依赖捕捉能力弱:RNN串行逐词计算,长序列梯度容易消失,句子首尾单词无法高效关联;
  3. 无重点区分能力:所有文本信息权重均等,模型无法自动识别句子关键词、核心语义。

传统模型的核心痛点:全局信息被一刀切压缩,没有动态权重区分重要内容,而Transformer的自注意力机制完美解决了这个问题。

二、Transformer整体框架初识

1. Transformer诞生背景

2017年谷歌为解决机器翻译任务发布Transformer,彻底抛弃循环神经网络RNN/LSTM,全程依靠自注意力机制Self-Attention处理序列,并行计算+长依赖捕捉能力碾压传统Seq2Seq。

整体依旧延续seq2seq编码器-解码器范式:

  • 左侧Encoder:负责理解输入文本(BERT仅使用Encoder);
  • 右侧Decoder:负责逐字生成文本(GPT仅使用Decoder);
  • 论文标准配置:Encoder、Decoder各堆叠6层重复Block。

2. 输入预处理:词嵌入+位置编码

Transformer无法直接识别文字,所有输入必须先转换成向量:

  1. 词嵌入Token Embedding:将单词/汉字映射为固定维度语义向量(常见512/768维),承载单词本身含义;
  2. 位置编码Positional Encoding:Transformer没有循环结构,天然丢失语序信息,因此额外增加位置向量,区分“我打他”和“他打我”;
  3. 向量相加融合:词向量 + 位置编码向量 = 最终输入表征X,送入后续Encoder。

三、Encoder编码器:全局语义理解模块

1. Encoder整体逻辑

输入矩阵X经过6层完全相同的Encoder Block,每层输出维度和输入保持一致,最终输出完整编码矩阵C,包含输入句子全部token的全局交互语义
每一层Encoder Block包含两大核心子层,均搭配残差连接Add & Norm:

  1. 多头自注意力Multi-Head Self-Attention
  2. 前馈神经网络Feed Forward(FFN)

2. Encoder核心:自注意力Self-Attention

(1)QKV向量怎么来?

输入向量X分别与三组可学习权重矩阵WQ、WK、WVW^Q、W^K、W^VWQWKWV相乘,得到三组向量:

  • Query(Q):查询向量,代表当前token要“检索什么信息”;
  • Key(K):键向量,代表序列中所有token的索引;
  • Value(V):值向量,存储token真实语义内容。

自注意力定义:Q、K、V全部来自同一段输入序列,实现句内所有单词互相计算关联度。

(2)注意力完整计算三步
  1. 相似度打分:Q×KTQ \times K^TQ×KT,计算当前token和全句每个token的关联分数;
  2. 缩放归一化:除以dk\sqrt{d_k}dk 防止数值过大,再经过Softmax转为0~1权重,所有权重之和为1;
  3. 加权求和:使用权重对Value向量加权融合,得到当前token融合全局上下文的输出向量Z。
(3)多头注意力Multi-Head Attention

单头注意力仅能从单一维度捕捉语义关系,多头注意力将向量切分为多个子空间并行计算:

  1. 拆分多头:768维向量分为12头,每头64维,每组独立生成QKV;
  2. 分头计算自注意力,每个头专注不同语义维度(主谓关系、时间、地点、情感等);
  3. 拼接所有头输出,通过线性层WOW^OWO融合多视角特征。

通俗类比:8位专家分别从语法、语义、逻辑、情感多角度分析句子,最后总编辑整合全部观点,模型理解能力大幅提升。

3. 残差连接 & LayerNorm

每层子层都采用 输入 + 子层输出 的残差结构,避免深层网络梯度消失;
LayerNorm层对向量做归一化,稳定训练分布,大幅加速模型收敛。

4. 前馈网络FFN

多头注意力仅做信息交互,FFN对每个token独立做两层非线性变换,进一步挖掘深层语义特征,是模型的“语义加工器”。

四、上篇小结

  1. 传统Seq2Seq依靠固定上下文向量,存在信息丢失、长依赖薄弱的致命问题;
  2. Transformer基于seq2seq架构,用自注意力替代RNN,实现并行计算与全局语义捕捉;
  3. 输入由词嵌入+位置编码构成,解决文字表征与语序两大基础问题;
  4. Encoder由多层Block堆叠,核心是多头自注意力,实现句内所有token自由交互;
  5. 残差连接、层归一化、前馈网络共同保障深层模型稳定训练。

下篇预告:我们将拆解Decoder解码器、掩码注意力、跨注意力机制,完整走通Transformer翻译推理流程,同时区分BERT、GPT、Cross-Encoder的架构差异,落地理解检索重排原理。


Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐