一、 BERT 的深度解析 (The Foundation)
1. Scaled Dot-Product Attention 的维度约束与方差偏移
注意力机制的本质是特征空间的相似度加权。在给定的 Query、Key 和 Value 矩阵
为什么必须引入缩放因子
假设
根据概率论,点积的均值和方差分别为:
工程结论:点积结果的方差随维度
2. 多头注意力 (MHA) 的物理意义
多头注意力的数学表达为:
其中
物理意义上,线性投影将原始高维输入隐式映射到
3. 输入层细化: 的构建与局限
BERT 的输入表征是三个相同维度 Embedding 的严格加和:
其中,
局限性分析:Learned Positional Embedding 是通过反向传播更新的参数矩阵
二、 演进至 GPT (The Transition & Architecture)
1. Masked Self-Attention 与因果视图
GPT 的核心是自回归生成,必须阻断信息从未来流向现在。数学上通过引入下三角 Mask 矩阵
在计算 Softmax 之前,将
当
2. 层归一化的深层抉择 (Pre-LN vs Post-LN)
Transformer 结构的成败高度依赖 Layer Normalization 的位置设置:
-
Post-LN (BERT):
-
Pre-LN (GPT):
梯度动力学分析:在 Post-LN 中,残差分支的输出直接被 LayerNorm 重新标准化。随着网络层数
而在 Pre-LN 中,主干网络始终保留一条纯净的恒等映射 (Identity Mapping)路径:
工程结论:Pre-LN 使得各个 SubLayer 的梯度可以直接且无损地流向底层网络,从根本上缓解了深层网络的梯度消失/爆炸问题,是极深(如 96 层 GPT-3)模型能够稳定启动训练的必决条件。
3. 前馈神经网络 (FFN):从 ReLU 到 GeLU
FFN 负责非线性映射:
GPT 彻底摒弃了 ReLU (
相比 ReLU 在
三、 训练过程的硬核细节 (The Engineering)
1. 损失函数 (Loss Functions)
-
BERT 联合目标:
-
GPT 标准自回归似然估计 (NLL Loss):
2. 优化器与学习率策略
AdamW 的权重衰减逻辑:标准 Adam 在处理 L2 正则化时,梯度更新表达式会将权重衰减项和动量项耦合,导致正则化效果在遇到自适应学习率时被削弱。AdamW 强制将权重衰减解耦到梯度更新之外:
Linear Warmup + Cosine Decay:
初始极高的方差需要极小的学习率启动。
-
预热期 (
): 。作用:保护随机初始化的权重在第一个 Epoch 内免遭巨大且方差极高的梯度破坏(俗称“梯度洗牌”)。 -
余弦退火 (
): 。平滑逼近局部最优解。
3. 初始化与梯度控制
深度残差缩放:为了控制残差网络累积方差在深层的爆炸,GPT 要求针对残差路径前的权重(例如自注意力的投影矩阵
其中
Gradient Clipping:在大规模预训练(如 Batch Size = 2048)中,Loss 景观充满“悬崖”。当
4. BPE (Byte Pair Encoding) 编码方案
BPE 是一种基于数据统计的子词压缩算法。通过计算连续字节对的频率,将最高频的组合不断合并,从而构建词表。
平衡 OOV 逻辑:它结合了 Character-level 的全覆盖特性(完全消除 OOV 问题)和 Word-level 的语义丰富特性。对于罕见词(OOV),BPE 会将其自然降解为更短的子词序列(或最终的字符/字节),从而保证了对未知词汇的鲁棒泛化。
四、 故障排除与架构对比 (Troubleshooting & Comparison)
1. KV Cache 推理加速与显存边界
在自回归生成第
内存占用数学推导:以 FP16(每参数 2 字节)为例,单个 Token 在每一层的注意力机制中需存储 Key 和 Value。对于单个 Batch:
工程结论:KV Cache 会随序列长度呈线性暴涨,极易导致 OOM,这也是后续 PagedAttention 等内存分页技术被提出的直接推手。
2. 训练崩溃与 Loss Spike
在几十 B 规模的模型训练中,Loss Spike(从正常值瞬间飙升至数百甚至 NaN)极度常见。
原因:通常由半精度 (FP16/BF16) 溢出引发。在注意力权重或 FFN 放大器中,某些异常 Token 导致中间特征激活值突破了 65504 (FP16 的最大表示阈值)。
应对方案:除了梯度裁剪和调整混合精度策略(如主权重保持 FP32)外,监控
3. Softmax 饱和与 Temperature 控制
在 GPT 采样解码时,预测下一个 Token 的概率分布由带温度标量
-
(Greedy):分布变得极其尖锐,相当于 ,导致文本极其死板且容易陷入循环重复。 -
(Smoothing):概率分布变得平缓(接近均匀分布),使得长尾低频词被选中的概率增加,提升了生成的多样性和创造力,但过高会导致逻辑崩坏。
附录:BERT 与 GPT 核心数学差异对比表
| 对比维度 | BERT (Encoder) | GPT (Decoder) | 核心数学/结构差异点 |
|---|---|---|---|
| 掩码机制 (Masking) | 全局无 Mask (Padding 除外) | 下三角 Causal Mask | Softmax 输入存在 |
| 计算复杂度 (Self-Attn) | 复杂度相同,但 GPT 矩阵运算由于 Mask 为下三角矩阵,可作特定优化 | ||
| 训练/推理并行度 | 训练:极高 / 推理:单次计算 | 训练:极高 / 推理:极低 | GPT 推理受限于自回归本质,时间复杂度为 |
| 特征感受野 (Receptive) | 严格单向 (仅见历史 Token) | 联合概率分解定律的架构具象化表示 | |
| LayerNorm 拓扑 | Post-LN | Pre-LN | 决定深层梯度反传是衰减还是完美继承 (Identity mapping) |