在 2017 年 Google 团队发表划时代论文《Attention Is All You Need》之前,序列建模领域长期被循环神经网络(RNN)及其变体(LSTM、GRU)所统治。然而,RNN 固有的串行计算特性导致其无法充分利用 GPU 的并行算力,且在面对长序列时难以捕捉远距离依赖关系。
Transformer 的诞生彻底打破了这一僵局。它完全摒弃了循环和卷积结构,仅依赖注意力机制(Attention Mechanism) 来建立输入与输出之间的全局依赖关系。这一架构不仅实现了训练速度的数量级提升,更成为了随后几年大语言模型(LLM)爆发的技术底座(如 BERT, GPT 系列, LLaMA 等)。
Transformer 的设计哲学可以概括为两点:
原始 Transformer 采用经典的 Encoder-Decoder 架构,主要用于机器翻译任务。
注:现代大模型通常只使用其中一部分。例如,BERT 是 Encoder-only,GPT 系列是 Decoder-only。
由于 Transformer 没有 RNN 的时间步进概念,它本身是置换不变(Permutation Invariant)的,即打乱输入顺序不影响输出。为了保留序列的顺序信息,必须引入位置编码。

作用:让模型能够学习到相对位置关系,且能泛化到比训练集更长的序列。
最终输入: Input = Embedding + PositionalEncoding
这是 Transformer 的灵魂。其目的是让序列中的每个词都能“关注”到序列中其他所有词的重要性。
公式如下:

单一的注意力头可能只能关注到一种类型的关系(如语法关系)。多头机制允许模型在不同的子空间中并行学习多种关系(如语义关系、指代关系、位置关系等)。

在每个注意力层之后,都接有一个全连接前馈网络。它对序列中的每个位置独立且相同地应用变换:

通常包含一个 ReLU (或 GELU) 激活函数,用于增加模型的非线性表达能力。
为了解决深层网络训练困难的问题,Transformer 在每个子层(注意力层和 FFN 层)周围都使用了残差连接,并紧接着层归一化(LayerNorm)。



尽管 Transformer 极其成功,但它并非完美:

Transformer 不仅仅是一个模型架构,它已经成为人工智能领域的新汇编语言。
理解 Transformer,就是理解当前 AI 浪潮的底层逻辑。它的出现证明了:简单的模块(Attention),配合海量的数据和算力,可以涌现出惊人的智能。