Transformer 是怎么工作的

为什么要了解 Transformer

几乎所有你听说过的大语言模型——GPT、Claude、Llama、Gemini——都基于同一个架构:Transformer。它在 2017 年由 Google 的一篇论文提出,标题是"Attention Is All You Need"。

你不需要理解 Transformer 的每一个数学细节,但了解它的核心思想,能帮你理解模型的能力和局限。

在 Transformer 之前

早期的语言模型按顺序处理文本——从左到右,一个词一个词地读。这带来两个问题:

  1. 速度慢:必须串行处理,无法并行
  2. 遗忘:读到后面就容易忘记前面的内容

想象你读一本书,规则是每读一页就必须忘掉两页前的内容。这就是早期模型面对长文本时的困境。

Attention:核心直觉

Transformer 的突破在于 Attention 机制(注意力机制)。它的核心思想用一句话概括:

在处理每个 token 时,模型可以"看到"并"关注"输入中的所有其他 token,而不是只看前一个。

一个例子:

"这家餐厅的寿司非常新鲜,的三文鱼刺身是我吃过最好的。"

当模型处理"它"这个词时,Attention 机制让模型能够回头关注"餐厅",从而理解"它"指的是"这家餐厅"。

更关键的是,模型能学会不同的关注模式。有的注意力头(attention head)关注语法关系,有的关注语义关联,有的关注位置信息。多个注意力头并行工作,让模型从不同角度理解文本。

并行处理:速度优势

Transformer 的另一个关键优势是并行化

在处理输入时,Transformer 可以同时计算所有 token 之间的关系,而不是一个个串行处理。这意味着它能充分利用 GPU 的并行计算能力——这正是 LLM 训练能大规模扩展的关键原因。

打个比方:之前的架构是 for 循环,Transformer 是 map + 并行执行。

层层堆叠

一个 Transformer 模型由很多层(layer)堆叠而成:

  • 每一层都包含 Attention 机制和一些后续处理
  • 输入从底层往上走,每一层都在提炼信息
  • 浅层捕捉基础模式(语法、词组搭配)
  • 深层捕捉高级语义(逻辑关系、抽象概念)

GPT-3 有 96 层,这意味着你的输入会经过 96 次"理解和提炼"。层数越多,模型理解文本的能力越强,但计算成本也越高。

Context Window 与 Attention 的关系

上一节提到的上下文窗口,本质上是 Attention 机制的计算范围。

模型需要计算每个 token 与所有其他 token 之间的关系。如果有 N 个 token,计算量大约与 N² 成正比。这就是为什么:

  • 上下文窗口有上限——计算量会随长度快速增长
  • 更长的上下文意味着更高的成本和延迟
  • 业界一直在研究更高效的 Attention 变体,来支持更长的上下文

要点总结

  1. Transformer 能同时"看到"整个输入,这是它强大的根源
  2. 模型不是在"记忆"文本,而是在每次请求时重新计算所有的 Attention
  3. 上下文窗口之外的内容对模型不存在——它没有持久记忆
  4. 计算成本随上下文长度增长,这直接影响你的 API 费用和响应速度
  5. 模型不一定均匀关注所有内容——输入中间的信息有时会被忽略("lost in the middle" 现象)