Transformer 笔记总览¶
Transformer 的核心想法是:把一串 token 变成一串向量,再让每个位置通过 attention 从其他位置读取信息。相比循环神经网络,Transformer 在一个 block 中就能让任意两个位置直接交互,因此更适合长序列与大规模并行训练。
读这一章时可以抓住一条主线:
这一章按从输入到训练的顺序组织:
每一层 Transformer block 都维持同一个主干形状:
这件事很重要。Attention、FFN、残差连接和 LayerNorm 的作用都围绕这个主干张量展开:中间可以拆头、投影、加权求和,但回到 block 输出时仍然是一组 \(d_{\rm model}\) 维 token 向量。
阅读顺序¶
如果你想先补齐 Transformer 之前的架构谱系,可以读 经典神经网络结构总览。那一章把 MLP、CNN、RNN/LSTM、PixelCNN 和 RBM 放到同一张图里,对比它们如何表示函数、概率分布和巨大状态空间。
- Token、Embedding 与 Shape:先把输入张量的形状讲清楚。
- 位置信息:解释为什么 attention 需要额外的位置编码。
- Attention 机制:推导 \(Q,K,V\)、softmax 和多头注意力。
- Encoder 的基本结构:适合理解 BERT 一类双向表征模型。
- Decoder 的基本结构:适合理解 GPT 与自回归生成模型。
- KV Cache:理解自回归推理为什么可以缓存历史 key/value。
- 训练目标与 Mask:区分 causal language modeling、masked language modeling 和 seq2seq。
- Transformer 与 NNQS:把 decoder-only Transformer 接回神经网络量子态。
可视化辅助¶
Transformer 很适合配合交互式可视化学习。建议先用可视化工具建立整体结构直觉,再回到本站的公式和 shape 推导。
| 推荐 | 适合看什么 | 我的建议 |
|---|---|---|
| Transformer Explainer | GPT 式 Transformer 的整体流程、token、embedding、\(Q/K/V\)、attention、MLP、next-token prediction | 首推。它是交互式的,能在浏览器里运行 GPT-2 small,并展示内部组件如何协同预测下一个 token。读 Attention 机制 和 Decoder 的基本结构 前后都适合看。 |
| LLM Visualization | 用 3D 方式观察 LLM 的矩阵流动、层结构、attention head、残差流和 logits 输出 | 适合建立“模型是一个巨大的矩阵流水线”的全局直觉。建议在读完 token、attention、decoder 后看,用来把各个模块重新拼成整体。 |
三种常见结构¶
| 结构 | 代表模型 | Attention mask | 常见任务 |
|---|---|---|---|
| Encoder-only | BERT | 双向可见 | 表征学习、分类、检索 |
| Decoder-only | GPT | causal mask | 自回归生成、语言模型、NNQS amplitude |
| Encoder-decoder | 原始 Transformer、T5 | encoder 双向,decoder causal + cross attention | 翻译、摘要、条件生成 |
训练和推理的差别¶
训练 decoder-only 模型时,整段序列可以一次送进模型:
虽然 causal mask 限制了每个位置只能看左侧,计算本身仍然是并行的。推理或采样时,模型只能一步一步生成:
这时如果每一步都重算整个 prefix,会浪费大量计算。KV cache 正是为了解决这个问题:历史 token 的 key/value 已经算过,就缓存下来,新一步只计算新 token 的 query/key/value。
最短心智模型¶
对每个位置 \(i\),attention 做的是:
写成公式:
Decoder-only 模型再加一层 causal mask,使第 \(i\) 个位置只能读取 \(j\le i\) 的信息。这样模型才能学习: