Theme
下面这两讲可以看成一条主线:Lecture 11 解释“Transformer 为什么成为基础架构”,Lecture 12 解释“Transformer 如何通过预训练变成基础模型”。也就是说,前一讲讲模型结构,后一讲讲训练范式。内容依据 lecture-11.pdf 和 lecture-12.pdf。
Lecture 11–12 总体进化树
text
传统序列模型 RNN/LSTM
↓ 长距离依赖难、梯度传播难、并行性差
Attention / Self-Attention
↓ 直接建立任意 token 间的信息通路
Transformer
↓ 位置编码 + 多头注意力 + MLP + LayerNorm + Residual
可大规模训练的序列建模架构
↓
预训练范式
↓
BERT: Masked LM,双向理解型模型
GPT/LLaMA: Autoregressive LM,生成型模型
↓
Pre-training → Mid-training → Post-training
↓
基础模型 / 助手模型 / 下游任务适配核心目标不是只记“Transformer 有哪些模块”,而是理解:为什么这些模块共同解决了大规模语言建模的三个根本问题:如何表达长距离依赖,如何稳定训练深层网络,如何用统一目标从大规模文本中学习可迁移表示。
1. Transformer 的核心问题:为什么需要它?
重要程度:★★★★★
Transformer 起点是 2017 年论文 “Attention is All You Need”。课件强调它后来扩展到 NLP、CV、robotics、data science,并成为 GPT-like 应用的基础。
RNN/LSTM 的主要问题是:序列信息必须一步步传递。如果句子是:
I grew up in France, where I spent many years surrounded by my family and friends, so I speak fluent French.
模型最后预测 “French” 时,真正关键的信息是很远处的 “France”,但最近的 “fluent” 会强烈影响预测。RNN 中远距离信息经过多次权重矩阵乘法,容易被中间词修改、稀释,导致长距离依赖难学。
Transformer 的解决思路是:不要让信息逐步传递,而是让每个 token 可以直接看见其他 token。Self-attention 把任意两个 token 之间建立直接连接,因此长距离依赖变成一次矩阵计算,而不是多步 recurrent propagation。
2. Transformer 的模块拆解
重要程度:★★★★★
课件把 Transformer 拆成五个核心组件:
| 模块 | 作用 | 解决的问题 | 重要程度 |
|---|---|---|---|
| Positional Embedding | 注入位置信息 | Self-attention 本身不区分顺序 | ★★★★★ |
| Multi-head Attention | 建立 token 间依赖 | 解决长距离依赖 | ★★★★★ |
| MLP / Feed Forward | 引入非线性变换 | Attention 只是 value 的线性组合 | ★★★★☆ |
| Layer Normalization | 稳定激活尺度 | 防止 softmax 饱和和梯度消失 | ★★★★★ |
| Residual Connection | 保留信息和梯度通路 | 深层网络可训练 | ★★★★★ |
Transformer 的表达能力主要来自 Attention + MLP;可训练性主要来自 Residual + LayerNorm。课件明确把前者归为 “More expressiveness”,后者归为 “Easier to train large models”。
3. Positional Embedding:为什么 Transformer 必须知道位置?
重要程度:★★★★★
Self-attention 本质上是集合式计算。如果没有位置编码,句子中的相同词会有相同 embedding。例如:
Trust is what builds trust
两个 “trust” 的词向量本来相同,但第一个 “trust” 在句法上是主语,第二个 “trust” 是宾语;语义上一个是“建立信任的主体”,另一个是“被建立的信任”。因此 token identity 不够,必须加入 position identity。
固定位置编码公式为:
其中:
:token 在序列中的位置。
:embedding 维度索引的一半;偶数维使用 sine,奇数维使用 cosine。
:embedding 总维度。
:位置 在第 个维度上的位置编码。
:位置 在第 个维度上的位置编码。
最终输入表示为:
其中 是 token 的词向量, 是第 个位置的位置编码。
直觉是:词向量告诉模型“这个词是什么”,位置编码告诉模型“这个词在哪里”。例如课件中 “The cat sat” 的 running example,就是把每个词的 embedding 与对应位置的 sinusoidal encoding 相加。
4. Attention:Transformer 的核心计算
重要程度:★★★★★
Self-attention 的目标是:对每个 token,计算它应该从其他 token 读取多少信息。
输入张量:
其中:
:batch size。
:sequence length / token length。
:embedding dimension,也等于 。
:number of heads。
:每个 head 的 hidden size。
Transformer 通过线性层生成 Query、Key、Value:
课件中的实现写法是:
其 shape 为:
生成后张量被 reshape 成多头格式:
Attention score 的核心公式是:
然后输出:
其中:
:query,表示当前位置想找什么信息。
:key,表示每个位置能提供什么索引特征。
:value,表示真正被读取的信息内容。
:计算 token 之间的匹配分数。
:缩放因子,防止内积随着维度增大而数值过大。
:attention matrix,shape 为 。
:attention 输出,shape 为 。
课件 quiz 也强调 attention matrix 的计算公式:
5. 为什么要除以 ?
重要程度:★★★★★
如果 和 的维度很高,内积 的数值尺度会变大。softmax 对尺度非常敏感,过大的 logits 会导致某个位置概率接近 1,其他位置接近 0,也就是 softmax saturation。
例如课件给出:
但:
后者几乎变成 one-hot,梯度会非常小。因此使用:
控制 attention logits 的尺度。
6. Causal Attention:为什么 GPT 不能看未来?
重要程度:★★★★★
在自回归语言模型中,预测第 个 token 时只能使用 的历史,不能看未来 token。因此需要 causal mask。
原始 attention score:
加入 mask 后:
然后:
由于:
未来位置的 attention 权重会变成 0。课件用 PyTorch 示例说明,含有 的位置 softmax 后概率为 0。
7. Multi-head Attention:为什么需要多个 head?
重要程度:★★★★☆
单个 attention head 只能学习一种匹配关系。多头注意力让模型在不同子空间中学习不同关系,例如语法依赖、实体指代、局部搭配、长距离语义联系等。
每个 head 的输出:
所有 head 拼接:
最终 shape 从:
转回:
课件第 11 页特别强调这个 re-assemble all head outputs side by side 的过程。
8. MLP / Feed Forward Layer:Attention 为什么还不够?
重要程度:★★★★☆
课件指出:self-attention 只能得到 value vectors 的线性组合。如果模型需要非线性表达,仅靠 attention 不够。
MLP 的结构是:
通常先升维再降维:
其中:
:升维投影矩阵。
:降维投影矩阵。
GeLU:非线性激活函数。
输入输出维度必须相同,因为 Transformer block 要堆叠很多层。如果每层输出维度不同,就无法方便地反复堆叠。
9. Layer Normalization:为什么训练深层 Transformer 需要归一化?
重要程度:★★★★★
LayerNorm 的直觉是:同一层内所有神经元的激活尺度应该保持稳定;经过很多层后,激活尺度也不应该爆炸或消失。
公式为:
其中:
:某个 token 在某层的 hidden vector。
:该 hidden vector 各维度的均值。
:该 hidden vector 各维度的方差。
:防止除零的小常数。
:可学习缩放参数。
:可学习平移参数。
注意 LayerNorm 是对一个样本内部的 feature 维度归一化,而 BatchNorm 是跨 batch 归一化。Transformer 通常使用 LayerNorm,因为 NLP 序列长度、batch 结构更复杂,而且生成任务中 batch statistics 不稳定。
课件例子中,一个样本的 feature 为:
均值约为:
标准差约为:
归一化后第一维:
其余维度类似。这样不同 activation 之间尺度差异变小,softmax 不容易饱和,梯度更稳定。
10. Residual Connection:为什么深层 Transformer 可训练?
重要程度:★★★★★
Residual connection 的形式是:
更完整的 Pre-LN Transformer block 可以写成:
Residual 的直觉是:如果某层对某个 token 没必要做变换,就让 MHA 或 MLP 学成接近 0,直接把原始信息传到下一层。
课件给的例子是:直接学习从
映射到
较难;但学习 residual update:
更容易。课件文字中写成 residual “[-1,-1,1,1]”,但从数值差分看,如果目标减输入,应是 ;如果输入减目标,则是 。考试时重点是理解 residual 学的是“增量修正”。
11. Residual Stream 与 Mechanistic Interpretability
重要程度:★★★☆☆
课件给了 Transformer 的另一种视角:residual-centered view。Attention 和 MLP 不是彻底重写 representation,而是从 residual stream 读取信息,计算一个小更新,再写回 residual stream。
因此最终 hidden state 可以理解为:
其中:
:初始 embedding。
:第 层 attention 写入的更新。
:第 层 MLP 写入的更新。
:最终 residual stream。
这使得 mechanistic interpretability 成为可能:可以把中间层 hidden state 通过最终 unembedding layer 投影到 vocabulary logits,看模型在某一层“此刻认为下一个词是什么”。课件展示了模型预测从浅层 bigram guess 到深层复杂事实预测的演化。
12. Transformer 训练:Next Token Prediction
重要程度:★★★★★
训练流程:
text
Raw text
↓
Tokenizer / encoder
↓
Token indices
↓
保存为 binary files
↓
随机采样 batch
↓
输入 x,目标 y
↓
next-token prediction loss对于长度为 的 block:
模型目标是预测下一个 token:
训练损失:
课件中 batch_size=4、block_size 为上下文长度,每次随机从总 token 序列中切片取训练样本。
13. Transformer 推理:为什么生成慢?
重要程度:★★★★☆
推理时输入:
Transformer 输出最后一个位置的 logits:
其中 是 vocabulary size。
然后可以做 top-k sampling:
text
logits → softmax → probabilities → sample next token再把新 token 拼回序列,重复生成。
低效点有两个:
第一,自回归生成必须 token-by-token for loop。
第二,如果没有 KV cache,每生成一个新 token,都要重新 forward 所有历史 token。课件明确指出 inference inefficiency:每个 token 需要循环生成,且所有 previous tokens 都要重新 forward。
14. Lecture 12:从训练-测试范式到 Pretrain–Adapt 范式
重要程度:★★★★★
传统机器学习常见范式是:针对某任务训练,再在测试集上评估。但 LLM 更像:
text
Pre-training
↓
Base foundation model
↓
Mid-training / domain continued training
↓
Post-training / alignment
↓
Assistant model
↓
Downstream adaptation / prompting / fine-tuning课件定义:
Pre-training:让模型学习语言、语法、推理、大量世界知识。
Mid-training:在特定高质量领域继续训练,加深专业能力,同时尽量不丢失通用能力。
Post-training / alignment:把 base model 转换成能遵循指令、符合人类偏好的 assistant,常见方法包括 SFT 和 RLHF。
厨师类比:
| 阶段 | 类比 | 数据 | 结果 |
|---|---|---|---|
| Pre-training | 学习所有烹饪基础 | 大规模通用文本 | 会做很多菜的基础厨师 |
| Mid-training | 专精法国菜 | 高质量领域数据 | 某领域专家 |
| Post-training | 学餐厅菜单和服务规范 | 指令、偏好数据 | 能服务顾客的主厨 |
15. 为什么 Pre-training 有用?
重要程度:★★★★★
课件给出两个核心原因。
第一,可迁移性。预训练参数可以初始化 BERT 等模型,然后 fine-tune 到多个下游任务,包括 sentence classification、NER、QA、NLI 等。
第二,性能更好。相比从零训练,预训练把参数带到更平滑、更有利的 loss landscape,使优化更容易,尤其在标注数据少时更明显。
可以形式化理解为:从随机初始化开始优化下游任务:
而预训练后 fine-tuning 是:
预训练不是直接解决所有任务,而是提供一个更好的初始点。
16. 影响 Pre-training 的四个因素
重要程度:★★★★★
| 因素 | 作用 | 课件判断 | 重要程度 |
|---|---|---|---|
| Model architecture | 决定表达能力和可扩展性 | important but fixed | ★★★★☆ |
| Training objective | 决定模型学习方式 | important but fixed | ★★★★★ |
| Data | 数量、质量、覆盖范围 | very important | ★★★★★ |
| Hyperparameters | 学习率、batch size 等 | 大数据下相对不那么关键 | ★★★☆☆ |
课件特别强调:当 architecture 和 objective 基本固定后,data 变得非常关键。
17. 数据:Quantity, Quality, Coverage
重要程度:★★★★★
常见预训练数据包括:
Books、Wikipedia、Common Crawl、social media、open-source code repositories。
数据三要素:
Quantity:总 token 数。例如 LLaMA 1 使用 1.4T tokens,LLaMA 2 使用 1.8T tokens,LLaMA 3 使用 15T tokens,DeepSeek3 使用 15T tokens。
Quality:是否适合训练。包括 filtering 和 deduplication。
Coverage:是否覆盖目标领域,以及比例是否合理。
数据清洗中:
Filtering 是去掉不想要的文本。
Deduplication 是去重,避免模型反复看到重复样本,浪费容量并增加 memorization 风险。课件引用 FineWeb 的结果说明 filtering 和 deduplication 会提升 accuracy。
18. 两类核心预训练目标:MLM vs ARLM
重要程度:★★★★★
课件把预训练目标分成两类:
| 目标 | 代表模型 | 上下文方向 | 适合任务 | 主要缺点 |
|---|---|---|---|---|
| Masked Language Modeling | BERT | 双向上下文 | 理解、分类、抽取 | 预训练与生成不一致 |
| Autoregressive Language Modeling | GPT/LLaMA | 左到右 | 生成、prompting | 生成慢、只能看左上下文 |
19. Masked Language Modeling:BERT 的目标
重要程度:★★★★★
MLM 的思想:把输入中一部分词替换为特殊 token [MASK],模型根据上下文预测被 mask 的词。
Encoder 输出:
对第 个位置预测:
其中:
:第 个 token 的上下文表示。
:从 hidden dimension 到 vocabulary size 的线性映射。
:bias。
:第 个位置的 vocabulary logits。
如果 是 masked version of ,模型学习:
但 loss 只加在被 mask 的位置上:
其中 是 masked token positions。
BERT 的细节:
随机选 15% word tokens 预测。
其中 80% 替换成 [MASK]。
10% 替换成 random token。
10% 保持原词不变,但仍然预测它。
这么做的原因是:fine-tuning 时没有 [MASK],如果预训练时总是看到 [MASK],会造成 train-test mismatch。
20. BERT 输入表示
重要程度:★★★★☆
BERT 的最终输入 embedding 是三部分相加:
其中:
:token embedding。
:segment embedding,表示属于 sentence A 还是 sentence B。
:position embedding。
BERT 还使用特殊 token:
[CLS]:放在序列开头,用于整体句子表示或分类。
[SEP]:分隔两个句子。
21. BERT 的规模与结果
重要程度:★★★☆☆
BERT Base:
12 layers,768 hidden size,12 heads,110M parameters。
BERT Large:
24 layers,1024 hidden size,16 heads,340M parameters。
课件总结:larger is better。BERT 在 QQP、QNLI、SST-2、CoLA、STS-B、MRPC、RTE 等任务上 fine-tuning 后取得强结果。
22. Autoregressive Language Modeling:GPT 的目标
重要程度:★★★★★
ARLM 的核心是从左到右生成:
其中 可以是 source context。
Transformer 输出 hidden states:
预测下一个 token:
课件给出的自回归预训练目标为:
其中:
:模型参数。
:训练数据。
:第 个 token。
:第 个 token 之前的上下文。
:模型对下一个 token 的条件概率。
这个目标和推理过程一致:训练时预测下一个词,推理时也是不断预测下一个词。
23. ARLM 的优缺点
重要程度:★★★★★
优点:
目标统一简单。
训练过程和推理过程一致。
scaling behavior 强,适合大模型、大数据。
缺点:
只能使用 left-to-right context。
自回归生成慢。
生成过程中会 error accumulation:前面生成错了,后面会基于错误上下文继续生成。
24. GPT:Generative Pretrained Transformer
重要程度:★★★★☆
GPT 是 Generative Pretrained Transformer。课件中 GPT 2018 的配置:
Transformer decoder。
12 layers。
117M parameters。
768-dimensional hidden states。
3072-dimensional feed-forward hidden layers。
BPE with 40,000 merges。
训练数据 BooksCorpus,超过 7000 本书。
GPT 下游任务做法是:把任务转成文本格式,然后在 Transformer 输出上加 linear layer。例如分类、entailment、similarity、multiple choice 都可以被包装成 sequence input,再接 Transformer + Linear。
25. LLaMA:大规模自回归预训练
重要程度:★★★★☆
课件以 LLaMA 为例:
模型规模:6.7B、13B、32B、65B。
数据量:1.4 trillion tokens。
数据来源包括 CommonCrawl、C4、Github、Wikipedia、Books、ArXiv、StackExchange。
训练 loss 图说明:更多 tokens 会降低 loss,更大模型通常有更低 loss。也就是:
text
More data + larger model → better training loss但这不等于无限扩大一定最优,因为真实系统还受算力、数据质量、过拟合、推理成本约束。
26. BERT vs GPT:考试最容易考的对比
重要程度:★★★★★
| 维度 | BERT | GPT |
|---|---|---|
| 架构 | Transformer Encoder | Transformer Decoder |
| 预训练目标 | Masked Language Modeling | Autoregressive Language Modeling |
| 上下文 | 双向 | 单向,left-to-right |
| 是否 causal mask | 通常不需要 | 需要 |
| 典型用途 | 理解、分类、抽取、匹配 | 生成、对话、prompting |
| 训练-推理一致性 | 较弱,因为 [MASK] 不在 fine-tuning 出现 | 强,训练和推理都是 next-token prediction |
| 缺点 | 不自然生成文本 | 生成慢、错误累积 |
27. 两讲的最终核心逻辑
重要程度:★★★★★
Lecture 11 的核心:
text
RNN/LSTM 长距离依赖困难
↓
Self-attention 直接连接 token
↓
Transformer 获得强表达能力
↓
Residual + LayerNorm 让深层模型可训练
↓
MLP 提供非线性加工
↓
Position encoding 补充顺序信息Lecture 12 的核心:
text
Transformer 是强架构
↓
但强架构需要大规模数据训练
↓
Pre-training 学通用语言与知识
↓
不同 objective 产生不同模型家族
├── MLM → BERT → understanding
└── ARLM → GPT/LLaMA → generation
↓
Pretrain → Mid-train → Post-train 构成现代 LLM pipeline28. 期末考试重点清单
★★★★★ 必会:
Attention 公式:
Causal mask 为什么用 。
LayerNorm 公式和作用。
Residual connection 的作用。
MLM objective。
ARLM objective。
BERT vs GPT 区别。
Pre-training 为什么提升 transferability。
★★★★☆ 应会:
Multi-head attention shape 变化。
MLP 为什么升维再降维。
Positional encoding sine/cosine 公式。
Inference 为什么慢。
Data quality:filtering 和 deduplication。
★★★☆☆ 了解:
Mechanistic interpretability / residual stream。
Logit lens / intermediate unembedding。
LLaMA 数据组成和 scaling trend。
29. Quiz 级别答案整理
Lecture 11:
Q1: Layer normalization makes model training more stable.
答案:True。
Q2: Attention mechanism scales linearly with sequence length.
答案:False。Attention matrix 是 ,复杂度是:
Q3: Attention matrix equation:
Q4: Which is not part of Transformer architecture?
答案:C) interpretability。
Lecture 12:
Q1: Autoregressive pretraining objective:
Q2: Pretrained models can be further fine-tuned for other tasks.
答案:True。
Q3: BERT and GPT both use Transformer architecture but different pretraining objectives.
答案:True。