Transformer 架构精读:从自注意力机制到多头注意力
剥离晦涩数学公式,从产品与工程视角理解 Transformer 的核心机制:自注意力、残差连接与为什么它能统治大模型时代。
在当前大模型生态下,无论是做模型评测、Prompt 调优还是设计 Agent 运行时架构,AI PM 都绕不开对 Transformer 底层机制的理解。
很多人会背诵那篇划时代论文的名字《Attention Is All You Need》,但为什么注意力机制能彻底淘汰 RNN / LSTM,并成为现代大语言模型的绝对基石?
一、 为什么 RNN / LSTM 会被历史淘汰?
在 Transformer 问世之前,序列建模(NLP、机器翻译)基本由循环神经网络(RNN / LSTM)垄断。RNN 的致命缺陷在于其串行递推机制:
- 无法并行计算(算力利用率极低):处理第 $t$ 个词必须等待第 $t-1$ 个词计算完毕,GPU 强大的并行算力在训练长文本时几乎无用武之地;
- 长程依赖遗忘(Vanishing Gradient):信息必须经过一个接一个的时序单元压缩传递,文本一旦超过几十个词,开头的信息在到达末尾时早已被严重稀释失真。
Transformer 的革命性创新在于:彻底摒弃了循环递推,通过自注意力机制让序列中的任意两个词之间都能发生“一步到位”的直接交互,同时天然支持全程 GPU 高并发训练。
二、 Self-Attention(自注意力机制)的本质直觉
如果把文本序列看作一个“知识市场”,Self-Attention 的核心由三个关键矩阵组成:Query(查询)、Key(键)、Value(值)。
- $Q$(Query):“当前词带着什么意图去寻找相关线索?”
- $K$(Key):“其他词具备什么特征标签,供当前词来匹配?”
- $V$(Value):“一旦匹配成功,实际传递和提取的具体内容是什么?”
核心计算公式: $$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$
两个关键技术细节:
- $QK^T$ 点积相关性:计算当前词与序列中每个词的关联紧密度。
- 为什么要除以缩放因子 $\sqrt{d_k}$?:随着向量维度增大,点积结果的方差会急剧上升。若不除以 $\sqrt{d_k}$,过大的数值送入 Softmax 会落入梯度极其平缓的饱和区,导致反向传播时梯度消失,模型无法正常更新。
三、 为什么是“多头”(Multi-Head Attention)?
单次注意力就像是用一种固定的眼光去读一句话。但在真实语言中,一个词与周围词的关系是极其立体的:
- 语法结构视角:主谓宾的从属关系;
- 指代消歧视角:代词“它”具体指向前面的哪一个实体;
- 情感因果视角:否定词“不”对后文形容词的情感反转。
多头注意力(Multi-Head Attention) 将高维向量切分为多个子空间独立计算注意力,再将各个“注意力头”提取的特征拼接起来。这相当于为模型配备了一组各司其职的专家雷达,分别捕捉词法、句法、逻辑等不同层次的语义信息。
四、 残差连接与 LayerNorm:深层训练的稳定锚
注意力机制解决了信息交互,但当模型堆叠到几十甚至上百层(如 GPT-3 的 96 层)时,极易发生梯度爆炸或表征退化。Transformer 引入了两套工程保险:
- 残差连接(Add / Residual Connection):$x + \text{SubLayer}(x)$。在复杂非线性变换旁保留一条无阻碍的直通高速路,确保底层原始信息能够无损回传梯度;
- 层归一化(Layer Normalization):在每个样本内部对特征维度进行均值与方差归一化,平抑中间层激活值的波动。
五、 AI PM 视角:理解 Transformer 的业务推论
深入理解 Transformer 并非为了推导数学公式,而是为了建立对模型边界与系统成本的直觉:
- 为什么上下文窗口扩展成本高昂?:自注意力计算复杂度是序列长度的平方级($O(N^2)$)。上下文从 8K 扩展到 128K,显存占用与计算开销呈指数级膨胀,这也是为什么需要引入 FlashAttention 与 KV Cache 治理;
- 为什么模型会出现“Lost in the Middle”?:注意力权重分布在超长文本中不可避免地出现稀释,模型往往对位于 Prompt 开头(System Prompt)和结尾(最新输入)的内容最敏感,中间长文本容易被忽视;
- 为什么需要结构化约束?:自回归模型本质是基于注意力权重的概率性逐字采样。如果不在架构层或采样层施加 Grammar / JSON Schema 约束,自由衰减的注意力必然会在长链条生成中发生幻觉漂移。