一、核心损失函数类型
1. 自回归语言模型损失(CLM Loss)
代表模型:GPT 系列、LLaMA、Mistral、Qwen 等
L = -∑ log P(xₜ | x₁, x₂, ..., xₜ₋₁)
- 本质:标准交叉熵损失,预测下一个 token
- 特点:单向注意力,适合生成任务
2. 掩码语言模型损失(MLM Loss)
代表模型:BERT、RoBERTa
L = -∑ log P(xᵢ | x_context) (i ∈ masked positions)
- 本质:随机掩盖 15% token,预测被掩盖部分
- 特点:双向注意力,适合理解任务
3. Seq2Seq 损失
代表模型:T5、BART、GLM
- 结合编码器-解码器结构
- T5 使用 span corruption(掩盖连续片段)
二、对齐阶段的损失函数
| 方法 | 损失函数 | 特点 |
|---|---|---|
| SFT | 交叉熵 | 监督微调,模仿人类回答 |
| RLHF (PPO) | 策略梯度 + KL 惩罚 | 需要奖励模型,训练复杂 |
| DPO | 隐式奖励的偏好损失 | 无需单独训练 RM,更稳定 |
| ORPO | 对比偏好损失 | 将 SFT 和偏好对齐合一 |
DPO 损失公式:
L_DPO = -log σ(β · (log π(y_w|x)/π_ref(y_w|x) - log π(y_l|x)/π_ref(y_l|x)))
三、主要异同总结
相同点
1.底层都基于交叉熵:无论是 CLM 还是 MLM,本质都是最大化正确 token 的概率
2.都使用 Teacher Forcing:训练时使用真实标签作为输入
3.都有 token 级别的粒度:损失在 token 层面计算后聚合
不同点
| 维度 | GPT 类 | BERT 类 | T5 类 |
|---|---|---|---|
| 预测方向 | 单向(左→右) | 双向 | 编码双向+解码单向 |
| 预测目标 | 下一个 token | 被掩盖 token | 被损坏片段 |
| 注意力 | Causal Mask | 全注意力 | 混合 |
| 适用场景 | 生成 | 理解 | 通用 |
四、前沿改进
1.长度归一化:避免模型偏好短回复
2.标签平滑(Label Smoothing):防止过拟合
3.Focal Loss 变体:处理困难样本
4.混合精度下的损失缩放:数值稳定性