TL;DR

Transformer 是 2017 年 Google 论文《Attention Is All You Need》提出的架构,核心是自注意力(self-attention):每个 token 通过 Query/Key/Value 计算对序列中所有 token 的注意力权重,直接建模任意距离的依赖。因为没有 RNN 的循环依赖,可并行训练,成为 GPT、BERT 等大模型的基础。

核心组件

组件作用
自注意力每个 token 关注序列中所有 token,建模长距离依赖
多头注意力多组 QKV 并行,捕捉不同子空间关系
位置编码给 token 注入顺序信息(Transformer 本身无序)
前馈网络每个位置独立的非线性变换
残差连接 + LayerNorm稳定深层训练

注意力计算(QKV)

  1. 输入向量乘三个权重矩阵得到 Q、K、V;
  2. 计算 Q·Kᵀ,除以 √d_k 缩放;
  3. Softmax 得到注意力权重;
  4. 权重乘 V 得到输出。

两种主流通吃形态

常见问题

Transformer 为什么比 RNN 快?

RNN 必须按时间步顺序计算,无法并行;Transformer 一次并行处理整个序列,训练效率高几个数量级。

位置编码是干什么的?

注意力本身不区分 token 顺序(打乱输入结果一样),位置编码把顺序信息注入,让模型知道"谁在前谁在后"。

GPT 和 BERT 用的都是 Transformer 吗?

是。GPT 用解码器部分(decoder-only,自回归生成),BERT 用编码器部分(encoder-only,双向理解);两者都基于多头自注意力。

来源

最后更新:2026-08-04