第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 包含哪些模块(每一项都会在后续章节出现):

  1. Tokenizer——把字符串变成整数 ID(第 2 章)。
  2. Token Embedding——把 ID 映射为向量(第 2 章)。
  3. Positional Embedding——把”位置”也编码成向量(第 2 章)。
  4. Multi-Head Self-Attention——序列内部的信息交互(第 3 章)。
  5. Feed-Forward Network (FFN)——逐位置的非线性变换(第 4 章)。
  6. Residual Connection + LayerNorm——稳定深层训练(第 4 章)。
  7. Output Head——把隐藏向量映射回词表 logits(第 4 章)。
  8. Loss Function——交叉熵 + teacher forcing(第 5 章)。
  9. Sampling Strategy——温度、top-k、top-p(第 5 章)。

1.5 你将自己实现什么

到课程结束时,你会拥有:

  • 一个能在小语料上自己跑通预训练循环的 GPT 实现;
  • 一个能加载官方 GPT-2 124M 权重并续写文本的脚本;
  • 一个把上述模型微调成”垃圾邮件分类器”的版本;
  • 一个把上述模型微调成”指令跟随助手”的简化版本。

检查清单

  • 我能解释为什么 next-token prediction 这一个目标能学出”看似聪明”的模型。
  • 我能说出预训练、SFT、RLHF 三者数据来源与损失的差异。
  • 我能说出 GPT 与 BERT 在架构选择上的不同动机。

练习题

  1. 假设词表大小为 $V$,序列长度为 $T$,请写出一个 batch 在 next-token 损失下需要计算多少个 softmax,每个 softmax 涉及多大维度。
  2. 为什么 SFT 阶段只在”回答”段计算损失,而不是整段样本都算?想清楚 mask 的作用。
  3. 找一段你常用的提示词,预测它在不同阶段(base / SFT / RLHF)模型上会得到什么风格的回答,并解释原因。

📖 第1章补充材料 → — AI→LLM概念层级、术语对照、训练阶段详解、模型家族树


← 返回目录 · 下一章 · 文本数据处理 →