图解Transformer详解 | AI生成和翻译

Home 2026.06

以下是Jay Alammar的《图解Transformer》的全面总结介绍。这篇文章是最受好评、高度可视化指南之一,解释了Transformer架构(现代AI模型如GPT、BERT和Claude的基础)的工作原理。该文章通过直观的视觉组件,分解了2017年 seminal 的论文《Attention is All You Need》。


1. 高层架构(黑盒)

核心上,Transformer充当一个序列到序列的黑盒。在机器翻译任务(例如法语到英语)中,它接受一个输入句子并输出翻译后的文本。

打开黑盒,架构揭示两个主要组件:

2. 深入编码器

堆叠中的每个编码器都有相同的结构,包含两个子层:

  1. 自注意力层(Self-Attention Layer): 帮助编码器在处理一个特定词时,查看输入句子中的其他词。
  2. 前馈神经网络(Feed-Forward Neural Network, FFNN): 一个标准的全连接网络,独立并行地应用于每个词的表示。

在数据进入底部编码器之前,单词被转换为512维的向量,称为词嵌入(Word Embeddings)。为了确保模型理解词的顺序,位置编码(Positional Encodings)(遵循特定数学正弦/余弦波模式的向量)被直接添加到这些嵌入中。

3. 核心引擎:自注意力

自注意力允许模型映射词之间的依赖关系,无论它们在句子中的距离有多远。例如,在句子 “The animal didn’t cross the street because it was too tired.” 中——人类知道“it”指的是动物,而不是街道。自注意力在数学上将“animal”的表示融入到“it”的处理过程中。

计算涉及使用训练好的权重矩阵从每个输入词创建三个向量:

自注意力公式的逐步步骤:

  1. 得分: 计算当前词的查询($Q$)与所有词的键($K$)的点积,以确定要关注多少。
  2. 缩放: 将得分除以键维度的平方根($\sqrt{d_k}$)以稳定梯度。
  3. Softmax: 将缩放后的得分通过softmax函数,得到概率分布(权重总和为1)。
  4. 求和: 将softmax得分与其对应的值($V$)相乘并求和,产生该层的最终输出。

4. “多头怪兽”(多头注意力)

Transformer不计算一次注意力,而是使用多头注意力(Multi-Headed Attention)(8个并行头)。这扩展了模型同时关注不同位置的能力(例如,一个头可能关注谁执行了动作,而另一个头关注动作本身)。来自8个头的结果向量被拼接起来,并乘以一个最终权重矩阵,投影回一个单一向量。

5. 残差连接与层归一化

为了防止信息丢失并帮助稳定训练,编码器和解码器中的每个子层都有一个残差连接(residual connection)(跳过该层),随后是一个层归一化(Layer Normalization)步骤。

6. 解码器端

解码器的工作方式与编码器类似,但其堆叠中引入了第三层:

7. 输出生成(线性层与Softmax层)

解码器堆栈输出一个连续的浮点数向量。为了将其转换回单词:

  1. 线性层(Linear Layer): 将该向量投影到一个巨大的“logits”向量中,其大小等于模型整个词汇表的大小(例如10,000个独特词汇)。
  2. Softmax层(Softmax Layer): 将这些分数转换为明确的概率。概率最高的词被作为该时间步的输出。

参考:


Back Donate