图解Transformer:为什么GPT、Claude、DeepSeek都用同一个架构?

236 阅读5分钟

Transformer 原理讲解.png

如果你用过 ChatGPT、Claude、DeepSeek,其实你每天都在和 Transformer 打交道。

它不是什么黑魔法,核心就一句话:让每个词都能"看到"句子里的其他所有词,然后决定该把注意力放在谁身上。 这篇文章就用几张图,把 Transformer 的骨架拆开给你看。


Transformer整体架构

扁平卡通插画生成.png

从读懂到理解到输出。

文本 → 切词 → Embedding → 加位置信息 → 编码器理解 → 解码器生成 → 输出下一个词。


自注意力Self-Attention是Transformer灵魂

Transformer 最反直觉的地方在于:它不是一个个词顺序读过去的,而是让每个词同时和整句话做比较。

扁平卡通插画生成 (1).png

每个词进来后,会被拆成三个角色:

  • Query(查询):我想找什么?
  • Key(索引):我有什么?
  • Value(价值):我真正携带的信息是什么?

然后算一遍相似度,softmax 归一化,最后加权求和。

公式还是那个公式:

Attention(Q, K, V) = softmax(Q × Kᵀ / √dk) × V

别被吓到,它的意思其实就是:谁和我更相关,我就多听谁的。

看这句话:

"The cat sat on the mat because it was tired."

it 指谁?是人,是猫,还是垫子?

mermaid-diagram-2026-07-31-143053.png

自注意力算完之后,模型会发现 it 和 cat 的关联度最高。这就是 Transformer 处理指代、长距离依赖的方式——不需要从左到右慢慢猜,直接"看"全句找答案。


Multi-Head Attention多角度看问题

如果只有一个注意力头,模型看问题的视角就太单一了。于是 Transformer 搞了多个头,每个头关注不同的东西:

扁平卡通插画生成 (2).png

可以这么理解:

单头注意力 = 你一个人读文章
多头注意力 = 一群人同时读,有人看语法,有人看语义,有人找指代,最后大家开会汇总

这也是 Transformer 表达能力强的关键:同一个句子,不同头能捕获不同的语言规律。


位置编码给模型加上"顺序感"

Self-Attention 有个先天缺陷:它不看顺序。

也就是说,"我爱你"和"你爱我"对它来说 initially 是一样的。这显然不行。

所以 Transformer 在 Embedding 上加了一个位置编码:

扁平卡通插画生成 (3).png

每个位置对应一个独特的编码向量,和词向量相加后输入模型。原始论文用的是正弦/余弦函数:

PE(pos, 2i)   = sin(pos / 10000^(2i/d))
PE(pos, 2i+1) = cos(pos / 10000^(2i/d))

现在很多新模型已经改成了可学习的位置编码或者直接改成旋转位置编码 RoPE,但核心目的没变:让模型知道"这个词排在第几位"。


Encoder 和 Decoder,到底啥区别?

扁平卡通插画生成 (4).png

特性EncoderDecoder
注意力全局可见,双向看掩码自注意力 + 交叉注意力
作用理解输入生成输出
方向双向单向,从左到右

Encoder 像是一个认真的读者:把全文读完,提炼出关键信息。
Decoder 像是一个谨慎的作者:写下一个词时,只能看自己已经写好的内容,同时偷偷参考 Encoder 给的"读书笔记"。


Transformer 的三大流派

最早的 Transformer 是 Encoder + Decoder 的完整结构,但后来大家发现,其实拆开来也能用,于是演化出了三个流派:

扁平卡通插画生成 (5).png

  • Encoder-Only:擅长理解,比如 BERT,做分类、填空、语义理解很猛。
  • Decoder-Only:擅长生成,比如 GPT、LLaMA、Claude、DeepSeek,现在最火的大模型基本都是这一类。
  • Encoder-Decoder:擅长翻译、摘要这种"输入一段,输出一段"的任务,比如 T5、BART。

你现在每天聊天的 AI,基本都属于 Decoder-Only 阵营。


大模型生成文字过程就是一个词一个词"蹦"出来

大模型生成文字,其实是一个自回归过程:

mermaid-diagram-2026-07-31-144420.png

扁平卡通插画生成 (6).png

它不是一次性写出整段话,而是每次只预测下一个词,然后把预测结果拼回输入,继续预测。

所以你看到的"秒回",其实是它在背后疯狂重复这个过程。


一个 Transformer 层的内部长什么样?

扁平卡通插画生成 (7).png

每个 Transformer 层其实就干两件事:

  1. 自注意力:看看全句,决定关注谁。
  2. 前馈网络:对每个位置单独做非线性变换。

中间还夹着 残差连接(Add) 和 层归一化(Norm),这两个东西非常关键——没有它们,深层模型根本训不动。

前馈网络的细节:

FFN(x) = max(0, x·W1 + b1) · W2 + b2

   输入 [d_model]
       ↓
   线性层 [d_model → d_ff]    (通常升维 4 倍)
       ↓
   激活函数 [ReLU / GELU]
       ↓
   线性层 [d_ff → d_model]    (降维回来)
       ↓
   输出 [d_model]

可以理解为:先升维扩展信息,再降维提炼信息。


常见的超参数长这样

扁平卡通插画生成 (8).png

注意 d_k × num_heads = d_model,每个头的维度*注意力头数=模型维度。也就是说 8 个头,每个头 64 维,合起来就是 512 维。这是设计上的默契。


Transformer 和这些热词啥关系?

mermaid-diagram-2026-07-31-144615.png

这张图把现在 AI 圈子里常听到的词串了起来:

  • LLM = 很多个 Transformer 层堆起来的大模型
  • Prompt = 你输入给模型的文本
  • Context Window = 模型一次能看多少 token
  • RAG = 把检索到的文档塞给模型,让它有据可依
  • Tool / MCP = 让模型能调用外部工具,再把结果拿回来继续生成

详细阅读《图解LangChain:一张架构图理清大模型应用框架核心逻辑》

所以 Transformer 不只是 NLP 的底座,它是当下整个 AI 应用生态的地基。


为什么 Transformer 这么能打?

扁平卡通插画生成 (9).png

最后总结一下 Transformer 能火起来的四个原因:

  1. 并行度高:不像 RNN 必须一个个词算,Transformer 可以一整句一起算。
  2. 长距离依赖强:任意两个词直接相连,距离再远也不怕。
  3. 可扩展性好:堆更多层、更多头、更多参数,效果往往就更好。
  4. 通用性强:最早做 NLP,后来视觉(ViT)、语音、多模态都用上了。

总结

捕获6.PNG

GPT、Claude、LLaMA、DeepSeek……这些名字背后,都是这套骨架。

看懂 Transformer,你就看懂了大模型的一半。