第 2 讲总结 · 深度序列建模
本页把导览与 2.1–2.8 压成一张可复习的骨架。用法:先只看「核心问题」列自问,答不全再读「关键结论」列,最后用「典型陷阱」列做校核。
节一览
| 节 | 核心问题 | 关键结论 | 典型陷阱 |
|---|---|---|---|
| 2.1 为什么需要序列模型 | 序列的哪些性质让 MLP 失效? | 三个要求:变长 / 保序 / 参数共享(定义 2.1.1);四种任务形态的关键差别是因果约束(定义 2.1.2);n-gram 的表规模约 ,5-gram 达 ,结构上不支持长程(例 2.1.1) | 把序列当无序集合;以为「pad 到定长 + MLP」可行;在线任务误用双向 |
| 2.2 RNN:沿时间展开的权值共享与 BPTT | 递推怎么定义、梯度怎么回去、为什么回不去? | ,参数量 与 无关;BPTT 含 的连乘, 指数消失、 指数爆炸,有效记忆跨度 (例 2.2.1) | 以为裁剪能治消失;以为换 ReLU 能治消失;把 当完整记忆 |
| 2.3 门控:LSTM 与 GRU | 用什么替换「矩阵连乘」? | 加法通道:,不含 、只能衰减; 时 100 步仍留 ;参数量 () | 以为门控根治消失;以为 LSTM 训练可并行;跨 batch 忘了 detach() |
| 2.4 注意力机制 | 不压缩历史,怎么把它写成一个算子? | ,softmax 沿键维;;因果掩码在 softmax 之前加 ;纯注意力置换等变(定理 2.4.2) | softmax 方向做错;掩码加 0;以为聚合的是 ;把权重当解释 |
| 2.5 Transformer | 只靠注意力 + 前馈能否建序列模型? | 多头不改变参数量();FFN 占块内 ; 单块约 M;Pre-LN 让梯度尺度与深度解耦;KV cache 字节 | 漏因果掩码(训练漂亮、生成崩坏);LN 位置写反;把训练并行当推理并行 |
| 2.6 位置编码、长序列与高效注意力 | 位置怎么注入?平方复杂度怎么摊薄? | 三类注入:嵌入加性(正弦 / 学习式)/ QK 乘性(RoPE:分数只依赖 )/ 分数加性(ALiBi、T5 分桶);三笔账 显存、 FLOPs、 KV cache;FlashAttention 精确、FLOPs 不变 | 以为位置可有可无;以为 RoPE 无限外推;以为 FlashAttention 是近似 |
| 2.7 现代序列架构 | 注意力之外的路线各自换了什么、代价是什么? | 线性 SSM 有「卷积 ⇄ 递推」双读法(定理 2.7.1);选择性 SSM 用并行扫描换回训练并行;SSD 对偶 ;线性注意力把 折成 状态;MoE 用 解耦「总参数」与「每 token 计算量」 | 说「Mamba 已全面替代」;说线性注意力无损;以为 MoE 省显存;直接比 与 |
| 2.8 应用导读:Lab 1 | 理论怎么落成一个能跑的实验? | 旋律 → token → 错位一位的自回归交叉熵 → 温度 / top-k / top-p 采样;, 只改「分数差被放大的倍数」;「训练好、自由跑崩」的分布偏移即 exposure bias | 用 argmax 生成;把损失下降当质量提升;只报 teacher-forced 损失 |
一条主线:因为序列要求变长 / 保序 / 参数共享(2.1),所以必须沿序列方向复用同一套函数——最朴素的做法是递推状态(2.2),而它的训练病根是沿时间的连乘雅可比;为了保住长程梯度,把状态更新从「乘」改成「加」(2.3 门控),但逐步递推的串行与定长状态瓶颈一个都没解决;于是干脆不压缩,改成按需对所有位置加权聚合(2.4),代价是平方复杂度与置换等变(2.5 堆成主干、2.6 补位置与摊账);此后所有工作都是在「记忆容量 / 计算成本 / 并行度」三笔账之间做交换(2.6 高效注意力、2.7 SSM、线性注意力、MoE),最后收束到一个可运行的自回归生成实验(2.8)。
三句话带走
- 递推省内存、卷积省结构、注意力省路径——三者的代价分别是「不能并行」「感受野要堆」「平方开销」。三代架构不是谁淘汰谁,而是在同一对矛盾(长程依赖要稳、序列要能并行)上不断挪动平衡点。
- 两个数字决定 RNN 的命运:跨了几步 、单步伸缩率 (长期由谱半径主导)。梯度量级按 变化: 指数消失、 指数爆炸,没有安全中间地带;裁剪只治爆炸,消失必须改结构(加法通道)。
- 注意力的一切都在一行里:——softmax 沿键维, 控制工作点,键指路、值交货;它置换等变,所以位置必须显式注入;它训练可并行、推理必须串行(KV cache)。
值得记住的定量结论
| 结论 | 数值 / 形式 | 出处 |
|---|---|---|
| n-gram 参数表 | : 时 5-gram 约 | 例 2.1.1 |
| 有效记忆跨度 | : 步, 步 | 例 2.2.1 |
| 门控参数量对账 | :() | 例 2.3.1 |
| 点积的方差 | ,缩放后回到 | 定理 2.4.1 |
| 单块参数量 | :约 M,注意力 / FFN | 例 2.5.1 |
| KV cache | 、FP16:MHA GiB / GQA GiB / MQA GiB | 方法 2.5.3 |
| 三笔账的增长阶 | 乘 :分数矩阵与 FLOPs 各乘 ,KV cache 只乘 | 方法 2.6.1 |
| 采样三件套 | ;top-:最小 使累积质量 | 定义 2.8.3、例 2.8.1 |
与后续的连接
- 第 3 讲·深度计算机视觉:把本讲的注意力搬进视觉骨干,与卷积组成混合结构;2.6 讲的「位置注入 + 平方复杂度」在那里换成「patch 顺序 + 图像分辨率」。
- 第 4 讲·深度生成建模:自回归、扩散与流匹配共用同一个「逐步生成」框架;本讲 2.8 的采样三件套是其中一支。
- 第 6 讲·新前沿 与 第 9 讲·规模:注意力成为默认主干后的预训练与缩放律、以及张量并行 / 序列并行 / 显存工程,分别接在 2.5 与 2.6 的工程账上。
- 动手:Lab 1 · 音乐生成(与 2.8 的对照表逐条对应);推导收口见附录 C.3–C.5 与 C.18。
- 自检路径:习题集(A/B/C/D 四组)→ 回忆卡(当天 / 隔天 / 第 3 天 / 第 7 天)→ 综合自测卷(闭卷计时 100 分);学习目标自检表 逐条对账 K2.x / S2.x / A2.x。全书的公式收口见公式与结论卡,成对概念辨析见易混对照卡。