大模型数学速成(19):DPO 与 RLHF 目标函数速览
第 12 篇 的交叉熵让模型学会「接龙」;但高似然 ≠ 有用、无害、听话。AI 安全与对齐 从产品侧讲过故事,本篇补 目标函数长什么样——RLHF 与 DPO 的速览版。
这是「大模型数学速成」续篇的收官篇。
续篇第 19 篇(收官)。建议先读第 12 篇 CE,并可选读对齐科普。
一、为什么 CE 不够?
预训练 / SFT 的主损失仍是 next-token 交叉熵:
\[\mathcal{L}_{\mathrm{CE}} = -\log \pi_\theta(y^\star \mid x)\]
问题在于:许多 不该鼓励 的回答(有害、谄媚胡说、泄露)在语料里仍可能有不低的似然;许多 该鼓励 的回答(拒答、澄清、谨慎)未必是最大似然路径。
对齐阶段换问题:
给定同一提示 $x$,人(或 AI)更偏好回答 $y_w$ 还是 $y_l$?
如何把「偏好」写进可优化的损失?
二、RLHF 三步鸟瞰
RLHF(Reinforcement Learning from Human Feedback) 经典流水线:
| 阶段 | 在做什么 |
|---|---|
| 1. SFT | 指令数据上继续 CE,得到较听话的 $\pi_{\mathrm{SFT}}$ |
| 2. 奖励模型 | 用偏好对训练 $r_\phi(x,y)$,使 $r(x,y_w) > r(x,y_l)$ |
| 3. 强化学习 | 优化策略 $\pi_\theta$,提高期望奖励,并 KL 约束 别离 SFT 太远 |
奖励模型常见成对损失(示意):
\[\mathcal{L}_{r} = -\log \sigma\big(r_\phi(x,y_w) - r_\phi(x,y_l)\big)\]
策略侧(PPO 等)的直觉目标:
\[\max_\theta\ \mathbb{E}\big[r_\phi(x,y)\big] - \beta\, \mathrm{KL}\big(\pi_\theta \,\|\, \pi_{\mathrm{ref}}\big)\]
$\pi_{\mathrm{ref}}$ 常取 SFT 模型;$\beta$ 控制「别忘本」。
实现细节(优势估计、裁剪)从略——记住 奖励模型 + 带 KL 的 RL 即可。
三、DPO:跳过显式奖励模型
DPO(Direct Preference Optimization) 的核心观察:在一定假设下,最优策略与奖励之间存在闭式关系,可把偏好学习 直接 写成对 $\pi_\theta$ 的分类式损失,而不单独训 $r$、也不跑 PPO。
对偏好对 $(x, y_w, y_l)$,DPO 损失骨架(示意):
\[\mathcal{L}_{\mathrm{DPO}} = -\log \sigma\Big( \beta \log \frac{\pi_\theta(y_w\mid x)}{\pi_{\mathrm{ref}}(y_w\mid x)} - \beta \log \frac{\pi_\theta(y_l\mid x)}{\pi_{\mathrm{ref}}(y_l\mid x)} \Big)\]
| 符号 | 含义 |
|---|---|
| $\pi_\theta$ | 正在训练的策略 |
| $\pi_{\mathrm{ref}}$ | 参考策略(常冻结 SFT) |
| $\beta$ | 温度/强度,对应 KL 约束松紧 |
| $y_w,y_l$ | 赢家 / 输家回答 |
直觉:提高「赢家相对参考的 log 概率优势」,压低输家的相对优势;$\sigma$ 把差值变成 $(0,1)$ 概率。
手算:两个标量 log 比
设 $\beta=1$,某偏好对上:
\[\log\frac{\pi_\theta(y_w)}{\pi_{\mathrm{ref}}(y_w)} = 1.0,\quad \log\frac{\pi_\theta(y_l)}{\pi_{\mathrm{ref}}(y_l)} = -0.5\]
(省略条件 $x$。)差值 $\Delta = 1.0 - (-0.5) = 1.5$,
\[\mathcal{L} = -\log \sigma(1.5) \approx -\log 0.818 \approx 0.201\]
若策略把输家抬得比赢家还高,差值变负,损失增大——梯度会往回拉。
四、RLHF vs DPO(对照)
| RLHF | DPO | |
|---|---|---|
| 奖励模型 | 通常显式训练 | 隐式,不单独部署 $r$ |
| 优化 | RL(如 PPO) | 直接监督式偏好损失 |
| 工程复杂度 | 高(多阶段、不稳定因素多) | 相对更简单 |
| 数据 | 偏好对 + 奖励训练 | 偏好对 |
| 共同点 | 都相对参考策略、都用偏好 | 同上 |
没有绝对「谁淘汰谁」:场景、数据、稳定性与团队栈决定选型。本系列只给 读论文时的公式地图。
五、和全系列的闭环
| 阶段 | 数学对象 | 本系列篇目 |
|---|---|---|
| 层内前向 | 张量、乘、Attn、FFN、RoPE… | 00–11 |
| 目标(LM) | logits、CE | 12 |
| 因果与解码 | mask、采样 | 13–14 |
| 系统向 | 量化、Flash、MoE | 15、17–18 |
| 适配 | LoRA | 16 |
| 对齐目标 | RLHF / DPO | 19 |
从「一层怎么算」到「优化什么、偏好如何进损失」——续篇地图到此收束。
六、刻意不展开的
- PPO 完整推导、GAE、奖励归一化
- 过程奖励、宪法 AI 细则
- 线上 RL / 人类标注流水线
需要时再读原论文与工程博客;本篇目标是:看见 $\beta$、$\pi_{\mathrm{ref}}$、$(y_w,y_l)$ 不再陌生。
七、小结
| 概念 | 要点 |
|---|---|
| CE 局限 | 似然 ≠ 对齐 |
| RLHF | 奖励模型 + RL + KL |
| DPO | 偏好对上的直接 log-比损失 |
| $\beta$ | 相对参考策略的约束强度 |
| 收官 | 前向算子 + 目标函数 拼成一张图 |
大模型数学速成续篇(12–19)完结。
第一季 00–11 打前向;续篇补训练目标、解码、系统算子与对齐。感谢跟读。
系列导航
| 篇号 | 标题 | 状态 |
|---|---|---|
| 18 | MoE:稀疏 FFN 与路由 | ✅ |
| 19 | DPO / RLHF(本篇,续篇收官) | ✅ |
| — | 可选后续:推理工程 / RAG 深化 | 另立大纲 |
完整大纲见工作区 docs/MATH_SERIES_OUTLINE_V2.md。










