第1章:理解大语言模型
学习目标
- 用一句话讲清楚 LLM 是什么、不是什么。
- 区分”预训练—微调—对齐”三个阶段,知道每一阶段在做什么。
- 看懂 Transformer 在 LLM 全景中的位置。
1.1 什么是大语言模型
大语言模型(Large Language Model, LLM)本质上是一个在海量文本上训练出来的条件概率模型:给定一段上文 $x_{<t}$,它输出下一个 token $x_t$ 的概率分布
$$P(x_t \mid x_1, x_2, \dots, x_{t-1}; \theta)$$
只要这个分布学得足够好,把它拿来反复采样就能”写文章""答题""写代码”。这件事看似简单,但当参数量 $\theta$ 达到几十亿到上千亿、训练语料达到 TB 级时,模型展现出的能力开始出现”质变”,业内称为涌现能力(emergent abilities)。
关键澄清:
- LLM 不是数据库,它的”知识”是参数化的、概率性的,会出错;
- LLM 不是搜索引擎,它没有实时数据,知识截止取决于训练语料;
- LLM 不是符号推理器,能”装作”在推理,但底层是概率续写。
1.2 训练 LLM 的三个阶段
工业界主流的训练流程可以拆成三段:
原始网页/书籍/代码 ──预训练──▶ 基础模型(Base Model)
│
├─ 监督微调(SFT) ──▶ 指令模型
│
└─ 偏好对齐(RLHF / DPO) ──▶ 对话模型
| 阶段 | 数据形态 | 优化目标 | 产物示例 |
|---|---|---|---|
| 预训练 | 海量纯文本 | 下一 token 预测的交叉熵 | GPT-2、LLaMA-Base |
| 监督微调 (SFT) | 高质量”指令—回答”对 | 同样是 next-token,但只在”回答”段计算损失 | 早期 ChatGPT |
| 偏好对齐 | 人类对回答的偏好 | RLHF / DPO 等 | ChatGPT、Claude |
本课程聚焦在前两个阶段——预训练(第 5 章)和SFT(第 6、7 章)。RLHF 不在课程范围。
1.3 Transformer 与 GPT 的关系
Transformer 是 2017 年提出的架构,最初是为机器翻译设计的”编码器—解码器”结构。LLM 时代的主流路线:
- 仅解码器(Decoder-only):GPT、LLaMA、Mistral——“接龙式”生成。
- 仅编码器(Encoder-only):BERT——做分类、检索向量。
- 编码—解码:T5、BART——做翻译、摘要等 seq2seq 任务。
GPT 系列采用 Decoder-only。其核心创新点是因果自注意力(causal self-attention) + 大规模无监督预训练,正是本课程后续要逐步实现的内容。
1.4 GPT 的”工程组件清单”
为后续章节做铺垫,这里先列出一个最小可用的 GPT 包含哪些模块(每一项都会在后续章节出现):
- Tokenizer——把字符串变成整数 ID(第 2 章)。
- Token Embedding——把 ID 映射为向量(第 2 章)。
- Positional Embedding——把”位置”也编码成向量(第 2 章)。
- Multi-Head Self-Attention——序列内部的信息交互(第 3 章)。
- Feed-Forward Network (FFN)——逐位置的非线性变换(第 4 章)。
- Residual Connection + LayerNorm——稳定深层训练(第 4 章)。
- Output Head——把隐藏向量映射回词表 logits(第 4 章)。
- Loss Function——交叉熵 + teacher forcing(第 5 章)。
- Sampling Strategy——温度、top-k、top-p(第 5 章)。
1.5 你将自己实现什么
到课程结束时,你会拥有:
- 一个能在小语料上自己跑通预训练循环的 GPT 实现;
- 一个能加载官方 GPT-2 124M 权重并续写文本的脚本;
- 一个把上述模型微调成”垃圾邮件分类器”的版本;
- 一个把上述模型微调成”指令跟随助手”的简化版本。
检查清单
- 我能解释为什么 next-token prediction 这一个目标能学出”看似聪明”的模型。
- 我能说出预训练、SFT、RLHF 三者数据来源与损失的差异。
- 我能说出 GPT 与 BERT 在架构选择上的不同动机。
练习题
- 假设词表大小为 $V$,序列长度为 $T$,请写出一个 batch 在 next-token 损失下需要计算多少个 softmax,每个 softmax 涉及多大维度。
- 为什么 SFT 阶段只在”回答”段计算损失,而不是整段样本都算?想清楚 mask 的作用。
- 找一段你常用的提示词,预测它在不同阶段(base / SFT / RLHF)模型上会得到什么风格的回答,并解释原因。
📖 第1章补充材料 → — AI→LLM概念层级、术语对照、训练阶段详解、模型家族树