Self-Attention / 多头注意力 / 位置编码 / Transformer Block
演进路径
- Seq2Seq + Attention — 编码器-解码器 + 对齐
- Self-Attention — Q/K/V 矩阵、缩放点积
- Multi-Head Attention — 多头并行,捕获不同模式
- Transformer Block — Attention → Add&Norm → FFN → Add&Norm
核心公式
- 缩放点积注意力:\(\text{Attention}(Q,K,V) = \text{softmax}(\frac{QK^T}{\sqrt{d_k}})V\)
- 多头注意力:\(\text{MultiHead} = \text{Concat}(\text{head}_1, ..., \text{head}_h)W^O\)
- FFN:\(\text{FFN}(x) = \max(0, xW_1 + b_1)W_2 + b_2\)
位置编码
| 方法 |
特点 |
适用 |
| 正弦余弦 |
原始 Transformer |
任意长度 |
| 可学习 |
BERT 使用 |
固定长度 |
| RoPE |
旋转位置编码,相对位置 |
Qwen/Llama |
| ALiBi |
线性偏置,外推性好 |
BLOOM |
KV Cache
- 推理时缓存已计算的 K/V,避免重复计算
- PagedAttention (vLLM) — 分页管理 KV Cache 内存
练习
资源