Transformer Explainer:LLM 架构可视化指南

Transformer Explainer 提供了一个交互式的 GPT-2 (small) 架构可视化演示,旨在揭示大语言模型 (LLM) 处理文本和预测 token 的原理。

该工具由佐治亚理工学院的研究人员开发,允许用户输入自定义文本,并实时观察 token 如何通过嵌入层、注意力机制和 MLP 层。该实现利用了直接在浏览器中运行的实时 GPT-2 (small) 模型——该模型源自 Andrej Karpathy 的 nanoGPT 并转换为 ONNX Runtime,通过 Svelte 和 D3.js 构建。

Transformer 核心架构

文本生成 Transformer 基于“下一个 token 预测”原则运行。其架构由三个主要阶段组成:嵌入 (Embedding)、Transformer 块 (Transformer Blocks) 和输出概率 (Output Probabilities)。

1. 嵌入:将文本转换为向量

嵌入通过四个步骤将原始文本转换为模型可处理的数值格式:

  1. 分词 (Tokenization):输入文本被拆分为 token(单词或子词)。GPT-2 使用包含 50,257 个唯一 token 的词汇表。
  2. Token 嵌入 (Token Embedding):每个 token 被映射到一个 768 维的向量,该向量来自一个包含约 3900 万个参数的矩阵。这确保了具有相似语义的 token 在高维空间中彼此靠近。
  3. 位置编码 (Positional Encoding):由于 Transformer 并行处理序列而非顺序处理,模型会为每个 token 添加位置信息以保持输入的顺序。
  4. 最终嵌入 (Final Embedding):将 token 编码和位置编码相加,创建最终的表示。

2. Transformer 块

像 GPT-2 (small) 这样的模型堆叠了多个 Transformer 块(共 12 个)来构建输入的更高阶表示。每个块由两个主要组件组成:

多头自注意力 (Multi-Head Self-Attention)

自注意力机制允许 token 之间进行通信并捕捉上下文关系。这是通过查询 (Q)、键 (K) 和值 (V) 矩阵实现的:

  • 查询 (Query, Q):代表正在寻求信息的 token。
  • 键 (Key, K):代表查询可以关注的潜在 token。
  • 值 (Value, V):包含一旦 Q 和 K 匹配后需要提取的实际内容。

这些向量被拆分为多个“头”(GPT-2 small 中为 12 个),以并行捕捉不同的语言特征(例如句法与语义)。模型使用 掩码自注意力 (Masked Self-Attention) 来防止模型在训练和推理过程中“偷看”未来的 token,确保它只关注当前位置左侧的 token。

多层感知机 (MLP)

虽然注意力机制在 token 之间路由信息,但 MLP 会独立细化每个 token 的表示。它使用两个带有 GELU 激活函数的线性变换。第一个变换将维度从 768 扩展到 3072 以捕捉复杂模式,第二个变换将其压缩回 768。

3. 输出概率

在最后一个 Transformer 块之后,表示被投影到 50,257 维空间(词汇表大小)以产生 logits。这些 logits 通过 softmax 函数转换为概率分布。

为了控制输出的多样性,采样过程中使用了三个超参数:

  • 温度 (Temperature):调整概率分布。低温度 (<1) 使模型具有确定性;高温度 (>1) 增加了随机性和“创造力”。
  • Top-k:将候选范围限制为最可能的 $k$ 个 token。
  • Top-p:将候选范围限制为累积概率超过阈值 $p$ 的最小 token 集合。

辅助性能特性

为了确保训练过程中的稳定性和效率,Transformer 采用了几种辅助机制:

  • 层归一化 (Layer Normalization):通过跨特征归一化输入来稳定训练,防止内部协变量偏移。
  • Dropout:一种正则化技术,在训练期间随机停用神经元以防止过拟合。
  • 残差连接 (Residual Connections):将层的输入添加到其输出的快捷方式,减轻了深度网络中的梯度消失问题。

技术见解与社区观点

围绕 Transformer Explainer 的社区讨论突显了该架构的几个关键细微差别:

动态网络构建

社区的一个见解是,注意力机制本质上是在推理过程中动态构建了一个小型单层网络。正如用户 @andblac 所指出的:

"注意力矩阵已经被计算出来,并正在与值向量相乘。它的行为就像将值向量推入普通网络的密集层,其中注意力矩阵形成了该层的权重。" — @andblac

架构演进

虽然 GPT-2 是一个极好的教育基准,但用户提醒说现代 LLM 已经进化。具体而言,绝对位置编码(GPT-2 中使用)在最先进的模型中已基本被更灵活的方法(如旋转位置嵌入 RoPE)所取代。

资源占用

由于在浏览器中运行实时模型,一些用户报告了显著的硬件压力,包括高内存使用率(高达 2.2 GB)以及在 Chromebook 等低端设备上的性能下降。

Sources

相关