讲结果

经典模型 · Transformer 可视化

交互式理解 Transformer 架构:从输入嵌入、多头注意力机制、残差连接到输出, 逐层解析注意力权重的变化。

Transformer 架构可视化

选择输入句子(4/8 个有效 Token):

InputEmbeddingMHA_1Norm_1FFN_1Norm_2MHA_2Norm_3FFN_2Norm_4Output

注意力权重矩阵

选择注意力头查看权重矩阵

注意力权重矩阵展示了每个 Token 对其他所有 Token 的关注程度。

行表示"查询"Token,列表示"键"Token。颜色越深表示注意力权重越高。

架构说明

多头注意力 (MHA)

每个 Token 与其他所有 Token 建立连接,计算注意力权重并输出融合上下文的新表示

层归一化 (Norm)

对输入进行归一化处理,稳定训练过程

前馈网络 (FFN)

对每个 Token 独立进行非线性变换(Position-wise)

残差连接

用绿色虚线表示:X + SubLayer(X),原始输入跳过子层直接与输出相加

交互提示

  • 悬停在节点上查看连接关系
  • 点击右侧注意力矩阵格子高亮对应连线
  • 开启"残差连接"开关查看跳线
  • 灰色 Token 表示 Padding/Mask 屏蔽

什么是 Transformer?

Transformer 是 Google 在 2017 年提出的深度学习架构, 首次出现在论文 Attention Is All You Need中。它完全基于注意力机制, 抛弃了传统的循环神经网络(RNN)结构,在自然语言处理领域引发了革命性的变革。

Transformer 的核心思想是通过自注意力机制(Self-Attention), 让模型能够在处理序列数据时,动态地关注输入序列中不同位置的信息。

Transformer 架构

标准的 Transformer 由编码器(Encoder)和解码器(Decoder)两部分组成:

  1. 编码器(Encoder):由多层相同的层堆叠而成, 每层包含多头自注意力(Multi-Head Attention)和前馈神经网络(Feed-Forward)。
  2. 解码器(Decoder):同样由多层组成, 除了多头自注意力和前馈神经网络外,还包含一个编码器-解码器注意力层。

自注意力机制

自注意力机制允许模型在处理每个位置时,考虑输入序列中所有其他位置的信息。 对于序列中的每个位置,计算三个向量:

  1. 查询向量(Query):代表当前位置想要查询的信息
  2. 键向量(Key):代表每个位置提供的信息
  3. 值向量(Value):代表每个位置实际包含的信息

注意力权重通过 Query 和 Key 的点积计算得到,然后用 Softmax 归一化, 最后用这些权重对 Value 进行加权求和。

多头注意力

多头注意力(Multi-Head Attention)通过并行计算多个注意力头, 让模型能够同时关注不同类型的信息。每个注意力头学习不同的注意力模式, 捕捉序列中不同种类的依赖关系。

在实践中,输入向量会被线性投影到多个不同的子空间,每个子空间对应一个注意力头。 最后将所有头的输出拼接起来,再经过一个线性层得到最终结果。

位置编码

由于 Transformer 没有循环结构,它无法天然地感知序列的顺序信息。 为了解决这个问题,Transformer 使用位置编码(Positional Encoding) 来为每个位置添加位置信息。

位置编码通常采用正弦和余弦函数来生成,确保不同位置有独特的编码, 并且相对位置信息能够被模型学习到。

残差连接与层归一化

Transformer 中的每个子层(注意力层和前馈层)都采用了残差连接(Residual Connection), 然后进行层归一化(Layer Normalization)。这种结构有助于缓解梯度消失问题, 使得训练深层网络成为可能。

Transformer 是现代大语言模型(如 GPT、BERT)的基础架构。 本可视化工具将帮助你直观理解其核心机制。