Appearance
Transformer 基础
1. Transformer 的基本出发点
序列模型需要使一个位置的表示能够利用其他位置的信息。
传统 RNN 按时间顺序递归更新 hidden state:
因此第
这种递归依赖使不同时间位置之间难以完全并行计算,同时较远位置之间的信息需要经过多次状态传递。
Transformer 不再主要依靠递归状态传播上下文,而使用 Attention 直接建立序列不同位置之间的信息交互。
其核心思想可以概括为:
对当前 token,计算其他 token 对它的重要程度,并据此聚合上下文信息。
因此 Transformer 在训练阶段能够将大量序列位置组织为矩阵运算,具有较好的并行计算能力。
2. 训练并行与自回归生成的区别
Decoder-only Transformer 即使使用 Causal Mask,训练阶段仍然能够同时计算一个训练序列中的大量位置。
原因是训练时完整真实序列已经存在。
例如:
text
I love artificial intelligence模型可以同时构造多个训练目标:
text
I → love
I love → artificial
I love artificial → intelligenceCausal Mask 保证每个位置只能访问自身及之前的位置,但这些位置的计算可以通过一次矩阵运算并行完成。
生成阶段不同。
如果当前只有:
text
I love模型首先需要生成第三个 token。
第三个 token 生成以后,才能将它作为新的上下文生成第四个 token。
因此自回归生成存在:
text
生成 token t
↓
把 token t 加入上下文
↓
生成 token t+1的顺序依赖。
所以需要区分:
Causal Mask 限制的是信息可见范围。
自回归生成的串行性来自未来 token 尚未产生。
3. Token 与 Token ID
语言模型首先通过 tokenizer 将文本转换为 token。
例如:
text
原始文本
↓
Tokenizer
↓
Token Sequence
↓
Token IDsToken ID 本质上只是词表中的离散编号。
例如:
text
173只表示:
词表中的第 173 个 token。
它本身不存在合理的连续数值关系。
不能因为:
text
Token A → 173
Token B → 174就认为两个 token 在语义上十分接近。
同样:
text
346 = 2 × 173也不存在对应的语义意义。
因此 Token ID 主要用于索引,而不是直接作为具有大小关系的数值特征。
4. Embedding
设词表大小为:
模型隐藏维度为:
Embedding Matrix:
对于某个 token ID,可以从 Embedding Matrix 中取得对应向量:
得到:
因此 Embedding 完成:
Embedding Matrix 属于模型的可学习参数。
在训练过程中,其参数通过反向传播不断更新,使不同 token 能够在连续表示空间中形成可学习的特征结构。
需要区分:
Token ID 是离散索引。
Embedding 是 token 的可学习连续表示。
5. Hidden Representation 与
设序列长度为:
则一个 Transformer 层的输入通常可以表示为:
例如:
表示:
- 当前序列包含 100 个 token;
- 每个 token 当前具有一个 512 维 hidden representation。
其中:
是 Transformer residual stream / hidden representation 的主要维度。
它不应简单理解为“Q/K/V 的维度”。
在经典 Multi-Head Attention 中,如果:
且:
通常:
此时单个 Attention Head 中:
每个 token 都是 64 维。
多个 Head 拼接后重新形成 512 维表示。
6. 为什么需要位置信息
Attention 主要根据 token representation 之间的匹配关系进行信息交互。
如果完全没有位置信息,模型无法仅依靠 token 集合充分区分不同排列顺序。
例如:
text
dog bites man和:
text
man bites dog包含高度相似的 token,但顺序变化导致语义发生明显改变。
因此 Transformer 需要额外引入位置信息,使模型能够感知:
- token 的先后关系;
- 相对或绝对位置;
- 不同位置之间的距离关系。
可以粗略理解为:
text
Token Embedding
→ 当前 token 是什么
Position Information
→ 当前 token 位于哪里原始 Transformer 使用 Sinusoidal Positional Encoding。
现代大语言模型中常见 RoPE 等位置表示方法,后续单独学习。
7. Encoder 与 Decoder
Encoder
Encoder 的 Self-Attention 通常允许每个位置访问整个输入序列。
因此一个 token 可以利用:
- 前方 token;
- 后方 token;
共同形成上下文化表示。
典型代表包括 Encoder-only 架构。
Decoder
自回归 Decoder 在当前位置预测后续 token,因此不能访问未来真实 token。
它使用 Causal Mask 限制:
只能访问:
不能访问:
这样可以使训练阶段的可见信息范围与实际自回归生成保持一致。
8. Decoder-only 大语言模型
现代生成式大语言模型大量采用 Decoder-only Transformer。
基本流程为:
text
Token IDs
↓
Embedding
↓
Transformer Blocks
↓
Final Hidden Representation
↓
LM Head
↓
Vocabulary Logits
↓
下一个 Token 的概率分布经过多层 Transformer Block 后,每个 token 的 hidden representation 已经不再只是初始 Embedding。
它逐层融合了:
- 可访问上下文中的其他 token 信息;
- 多层 Attention 产生的上下文关系;
- FFN 产生的非线性特征变换;
- Residual Stream 中持续保留与累积的信息。
最终 hidden representation 被用于预测下一个 token。
9. 核心理解
Transformer 不应该只记忆为一组固定模块:
text
Embedding
Attention
FFN更重要的是理解数据表示如何逐层变化:
text
离散 Token
↓
连续 Embedding
↓
加入位置信息
↓
上下文信息交互
↓
Token Representation 加工
↓
逐层形成更丰富的 Hidden Representation
↓
用于最终任务其中:
Attention 主要解决跨 token 信息通信。
FFN 主要解决每个位置内部的特征计算。
这两类操作共同构成 Transformer Block 的核心。
Interview QA:
06_Interview/AI_QA/Transformer.md
Mistakes:
05_Mistakes/AI.md