🧠 图解记忆:交叉熵惩罚正确 Token 的低概率,PPL 是平均损失的指数;点击图片可查看原图。
LLM 预训练使用 Cross-Entropy Loss(交叉熵损失),也叫 Next-Token Prediction Loss。
为什么用 Cross-Entropy?
预测目标:P(y_t | x_1, ..., y_{t-1})
即:给定上文,预测下一个真实 Token 的概率
Cross-Entropy Loss = -log(P(正确Token))
损失越小 → 模型对正确 Token 的概率越高 → 预测越准确公式推导
假设词表大小 V = 50,000
模型输出 logits: [0.5, 2.3, -1.1, ..., 0.8] (每个词一个分数)
经过 Softmax 变概率: [0.003, 0.72, 0.001, ..., 0.005]
如果正确答案是第 2 个 Token:
Loss = -log(0.72) ≈ 0.33
如果模型错得很离谱,正确答案只有 0.01 的概率:
Loss = -log(0.01) ≈ 4.6 (大得多!)Cross-Entropy Loss vs Perplexity
| 指标 | 定义 | 含义 | 关系 |
|---|---|---|---|
| Cross-Entropy Loss | -log(P(正确Token)) | 越低越好(最小为 0) | 基础指标 |
| Perplexity | exp(Cross-Entropy Loss) | 表示模型每次猜测时有多少候选词(越低越好) | PPL = e^Loss |
通俗解释 Perplexity:
Perplexity = 2^2 = 4 意味着:平均而言,模型每次预测时有 4 个候选词"同样可能"
PPL=4 说明预测比较有信心(猜对了其中一个)
Perplexity = 2^10 = 1024 意味着:平均有 1024 个候选词
PPL=1024 说明模型完全不确定
LLM 典型范围:GPT-3 base perplexity ~20,GPT-4o < 5工程视角:监控训练的关键信号
| 现象 | 原因 | 对策 |
|---|---|---|
| Loss 持续下降 | 正常学习过程 | ✅ 继续训练 |
| Loss 降到一定值不再降 | 接近数据噪声下限 | ⚠️ 检查是否欠拟合或数据质量差 |
| Loss 突然上升 | Learning rate 过大、梯度爆炸 | ❌ 降低 lr、加梯度裁剪 |
| Train Loss 低但 Val Loss 高 | 过拟合 | 加 Dropout、增大数据、早停 |
面试话术:
"LLM 预训练用的是标准交叉熵损失:负对数似然。本质上就是在测'模型对正确 Token 给了多高的概率'。Perplexity 是交叉熵的指数形式,可以理解为'模型每次做选择时有多少个同样可能的选项'——PPL 越低越确定。训练中我主要看两条曲线:Train Loss 和 Validation Loss,如果后者开始回升那就是过拟合了。"
