从零读懂 Transformer:大模型为什么这么强?一文讲透注意力机制

从零读懂 Transformer:大模型为什么这么强?一文讲透注意力机制

从零读懂 Transformer:大模型为什么这么强?一文讲透注意力机制

你一定听过 GPT、文心一言、通义千问这些大模型,但有没有想过:它们的大脑到底是什么?答案就藏在 2017 年 Google 那篇神作《Attention Is All You Need》里提出的Transformer架构。今天这篇文章,我们把它剥开揉碎,用最通俗的话讲清楚。

一、在 Transformer 之前,模型有多难?

早期的序列模型(如 RNN、LSTM)是"逐字阅读"的:读完第 1 个词才能读第 2 个,像人用手指着一个字一个字念。这带来两个顽疾:

  1. 无法并行:训练只能串行,吃不上 GPU 的并行红利,速度慢。
  2. 记不住远处:句子一长,开头的词到结尾早被"忘"了(梯度消失/爆炸)。

Transformer 一上来就推翻了这个设定——它让句子里所有词同时看到彼此,靠一种叫"注意力"的机制直接建模任意两个词的关系。

二、核心创新:自注意力机制(Self-Attention)

想象你在翻译"这只猫因为吃饱了所以很懒"这句话。当你理解"懒"的时候,你的大脑会自动回头关注"猫"和"吃饱了"。自注意力做的就是这件事:给每个词算一个"我该多关注其他哪些词"的权重。

实现上,每个词被映射成三个向量:

  • Q(Query,查询):“我想找什么信息”
  • K(Key,键):“我能提供什么信息”
  • V(Value,值):“我实际携带的内容”

用 Q 去和所有词的 K 算相似度,得到注意力分数,再用分数对 V 加权求和,就得到了"融合了上下文信息"的新表示。公式上就是:

Attention(Q, K, V) = softmax(Q·Kᵀ / √d) · V

一句话:自注意力 = 让每个词自己决定"该看谁、看多少"

三、多头注意力:从多个角度理解

单个注意力只能捕捉一种关系(比如语法主谓)。Transformer 用多头注意力(Multi-Head Attention):把 Q/K/V 切成多份,并行算好几组注意力,有的头看语法、有的头看指代、有的头看语义远近,最后拼接起来——模型的理解力一下子立体了。

四、位置编码:词的顺序怎么来?

自注意力天生"无视顺序"(把词打乱结果一样)。可语言是有顺序的!于是 Transformer 给每个词加上位置编码(Positional Encoding)——一组随位置变化的数字,让模型知道"谁在第几位"。

现代大模型(如 LLaMA、Qwen)常用RoPE(旋转位置编码),让位置关系更自然,也更好支持超长上下文。

五、Encoder 还是 Decoder?

  • Encoder(编码器):读懂输入,代表是 BERT(擅长分类、检索、理解)。
  • Decoder(解码器):根据上文"续写"输出,代表是 GPT(擅长生成、对话)。
  • Encoder-Decoder:翻译等任务,代表是原始 Transformer、T5。

今天火出圈的生成式大模型,几乎都是Decoder-only架构。

六、为什么 Transformer 能"越大越强"?

因为它足够简单、可并行、可堆叠。只要堆更多层、喂更多数据、上更大算力,能力就随规模平滑提升——这就是著名的"规模定律(Scaling Law)"。这也是为什么我们见证了从 1B 到几百 B 参数跨越的原因。

总结

Transformer 用"注意力"替代了"逐字递归",用"并行"替代了"串行",用"规模"换来了"智能"。理解了它,你就握住了读懂整个大模型时代的钥匙。