RLHF 完整数学推导
分类: 预训练与微调 · 难度: 进阶 · 关联讲座: L08
RLHF 完整数学推导
本文整理从人类反馈中强化学习(RLHF)的完整数学框架,涵盖预训练 LM 与助手模型的目标差异、SFT 目标函数、Bradley-Terry 偏好建模、奖励模型训练,以及 PPO 优化目标。同时收录 InstructGPT 三阶段训练流水线的形式化描述。
1. 预训练 LM 与助手模型的目标差异
📐 预训练 LM 与助手模型的目标差异
预训练语言模型的目标:在给定任意前缀的情况下,预测最可能的下一个 token:
PLM(xt+1∣x≤t;θ)
这个目标对输入内容完全无偏——给定 “The sky is” 和给定 “How do I make a bomb? Answer:” 都一视同仁,只预测下一个最可能的 token。
助手模型的目标:给定用户请求 x 和系统角色描述 r,生成有帮助的回复:
Passistant(y∣x,r;θ)其中 y 最大化用户满意度
两者的根本差异:LM 目标是描述性的(世界上的文本是什么样的),助手目标是规范性的(回复应该是什么样的)。这个差距——对齐问题(Alignment Problem)——是后训练(post-training)存在的根本原因。
2. SFT 目标函数
📐 SFT 目标函数
监督微调(Supervised Fine-Tuning) 与标准语言模型训练的区别仅在于损失计算的范围:
JSFT(θ)=−∑(xi,yi)∈DSFT∑t=1∣yi∣logPθ(yi(t)∣yi(<t),xi)
- (xi,yi):(指令 / 用户请求,示范回复)对
- 只在回复 yi 上计算损失,指令 xi 的 token 损失被 mask 掉(不参与梯度更新)
- 这与标准 CLM 预训练的区别:SFT 的模型需要学的是”给定指令,生成好的回复”,而不是”给定任意前缀,续写任意文本”
数学上,SFT 等价于在条件分布 P(y∣x) 上做最大似然估计(MLE),以人类示范回复作为正样本。
3. RLHF 完整流程
📐 RLHF 完整流程的数学推导
Step 1:训练奖励模型(Reward Model)
收集人类偏好数据:对同一输入 x,标注者标记哪个回复更好,形成偏好对 (yw,yl)(winner, loser)。
基于 Bradley-Terry 偏好模型(人类选择 yw 优于 yl 的概率):
P(yw≻yl∣x)=σ(r(x,yw)−r(x,yl))
训练 RM 最大化偏好数据的对数似然(最小化负对数似然):
JRM=−E(x,yw,yl)∼Dpref[logσ(rϕ(x,yw)−rϕ(x,yl))]
Step 2:PPO 微调策略
最大化奖励,同时通过 KL 惩罚约束策略不偏离参考模型过远:
JPPO(θ)=Ex∼D,y∼πθ(⋅∣x)[rϕ(x,y)−β⋅logπref(y∣x)πθ(y∣x)]
其中 β∈[0.01,0.1] 是 KL 惩罚系数,πref 是 SFT 模型(固定不更新)。
完整训练所需的模型数量:Policy(更新) + Reference(固定) + Reward(固定) + Value(更新)= 4 个模型同时在显存中,这是 PPO 内存开销大的根本原因。
4. InstructGPT 三阶段训练流水线
📐 InstructGPT 三阶段训练流水线
阶段 1 — SFT:在人工示范数据上监督微调,得到 πSFT:
θSFT=argmaxθ∑(x,y)∈DSFTlogPθ(y∣x)
阶段 2 — RM 训练:学习人类偏好排序,得到奖励函数 rϕ(x,y):
ϕ∗=argminϕ−E(x,yw,yl)[logσ(rϕ(x,yw)−rϕ(x,yl))]
阶段 3 — PPO:在 RM 的奖励下优化策略,约束不偏离 πSFT:
θ∗=argmaxθEy∼πθ[rϕ(x,y)−β⋅KL(πθ∥πSFT)]
关键结论(InstructGPT 论文原文数字):
在人类评测中,1.3B 参数 InstructGPT 优于 175B 参数 GPT-3(85% 的评测者偏好 InstructGPT 输出)。参数量相差 134 倍,但对齐使小模型胜出——说明行为对齐的收益远超单纯的模型规模。