F19|后训练的前置数学:偏好、奖励、概率比与KL
从具体对象与小例子开始,理解计算过程与适用条件。
本章目录
后训练改变行为,奖励不是事实裁判
既然模型会接下一Token,为什么还要SFT、偏好训练?
“能续写文本”不等于“能按用户意图回答”。监督微调提供示范回答,偏好训练比较候选行为;奖励只是一个被设计出来的评价信号。模型可能学到让评分变高的方式,因此还要独立检验真实性、任务完成和风险,而不能把奖励上升等同所有能力提升。
输入与适用条件:本图仅展示偏好训练的数据关系,不把候选A/B标为真实产品测评;RLHF与DPO的具体目标区别保留在正文。
1 / 6 · 同一问题,两份回答
窄屏可左右滑动图形,或点击“放大图形”。文字解释紧随图后。
始终围绕同一个问题形成可比较候选,避免比较不同任务的分数。
本步状态由图形与说明共同给出。默认静止。用“下一步”看完解释再继续;播放到最后一步自动停止。键盘聚焦播放器后,可用左右键逐步查看、空格播放/暂停。图中颜色辅助区分,含义同时用文字注明。
为什么需要
在已有语言能力上塑造指令遵循和任务行为。
怎样实现
把示范、偏好、奖励、参考策略四个对象分开,明确采用何种训练目标。
可能的代价与误解
偏好不等于事实;奖励漏洞、分布偏移、行为过度收敛会出现。
如何判断是否做对
保留独立任务、不同判分来源和失败案例,报告真实行为的变化。
同一个“更好”,至少有三种含义
语言预训练常学习文本里什么Token接着出现;监督微调SFT用任务示例教模型如何回答;偏好或奖励优化比较哪些行为更符合给定目标。这些目标可能关联,但不是同一个损失。
一份回答更受评分者喜欢,可能因为更清楚,也可能因为更讨好。评分与事实正确若不一致,优化评分不能自动保证真实能力。
奖励、策略、轨迹不要一起背缩写
策略policy是给定当前条件如何选择动作的概率规则。对语言模型,动作可以是下一个Token;对一次完整工具任务,许多动作构成轨迹trajectory。
奖励reward是对结果或步骤打的分。代码是否通过隐藏测试可以作为一种奖励信号,但若测试太弱,模型可能“绕过考题”而不真正完成目标。
优势advantage粗略表达某次表现比基线好多少。若一组回答奖励为[0,1,1],平均2/3,那么相对平均值的原始差值是[-2/3,1/3,1/3]。具体算法还可能归一化或使用不同基线,不能把这个教学差值等同所有实现。
概率比到底比较什么
旧策略对某选择给0.1,新策略给0.2,比值2表示“相对旧策略更愿意做这个选择”。不是该选择一定正确,也不是整个系统性能翻倍。
一整段回答的概率可按下一Token条件概率相乘。很多小概率连乘容易数值变得极小,因此常使用对数概率:乘法变为对数之和。比较回答时还要注意长度影响。
KL散度为什么像一个“不离原来太远”的约束
给两个在相同候选集合上的分布p和q,KL散度常写作Σ_i p_i ln(p_i/q_i)。它衡量p与q的差异,方向不同结果可不同。
例如p=[0.5,0.5]、q=[0.25,0.75]:0.5ln2+0.5ln(2/3)≈0.1438。它不等于两项概率差的绝对值之和,也不是物理距离。
训练中可用这类约束限制策略偏离参考模型太多。系数越强往往越保守,但具体效果要评估,不能把“更强约束”当无条件提高质量。
DPO的式子先用两份答案解释
有一个问题、偏好的答案w、较差答案l。DPO比较的是:相对参考模型,新模型是否更倾向w而不是l。把对数差记成:
s = β × [(lnπ(w)−lnπ(l)) − (lnπref(w)−lnπref(l))]
损失 = −ln sigmoid(s)
sigmoid(s) = 1/(1+exp(−s))
π是当前模型对完整答案的概率,πref是参考模型,β为设置系数。若当前对w、l给0.2、0.1,参考分别给0.1、0.1,β=1,那么s=ln2,sigmoid(s)=2/3,损失约0.4055。
这个公式用偏好对提供训练信号,不意味着完全不需要任何“好坏标准”。也不能直接把它当作调用一次API就可实现的Prompt技巧。
PPO、GRPO为什么不能靠缩写互换
PPO是一类策略优化方法,常用新旧策略概率比及裁剪等机制控制更新;RLHF某些流程会训练奖励模型和价值估计。GRPO类方法利用同一问题多个采样结果的组内比较形成优势,具体实现与奖励设计仍重要。
“结果奖励”评价最终结果;“过程监督”评价中间步骤。中间过程长不等于正确,额外推理也不是免费。学习到这里再读高级Q021—Q022,你应该能解释每个量从何而来,而不是只会说“用了强化学习”。
偏好训练究竟比较哪两个概率比
输入与条件。这里另起一组教学概率,不接续本节前面用0.2/0.1的公式演示;二者独立地算出相同的相对优势。当前模型对优选回答A、较差回答B给0.6、0.2;参考模型给0.3、0.2,剩余概率属于其他回答。取β=1。
| 步骤与对象 | 内部动作 | 中间结果 / 新状态 |
|---|---|---|
| 1算A相对变化 | ln(0.6/0.3) | ln2,约0.693147。 |
| 2算B相对变化 | ln(0.2/0.2) | 0。 |
| 3作差并缩放 | β×(A变化−B变化) | 得到偏好间隔ln2。 |
| 4进入sigmoid | 1/(1+exp(−ln2)) | 等于2/3。 |
| 5计算DPO损失 | −ln(2/3) | 约0.405465;与参考模型完全相同时是ln2≈0.693147。 |
把过程连起来。这不是单看A的绝对概率,而是比较优选与较差回答相对参考模型的变化。
边界与反例。例子只解释一对样本的标准DPO目标,不等于复现RLHF训练;真实整段回答概率通常用Token对数概率之和表达。
依据与适用范围:[DPO]。示例输入和场景由本书明确设定。
KL散度:同两组概率,调换方向会得到不同值
输入与条件。两个候选词的分布分别为p=[0.8,0.2]、q=[0.5,0.5]。使用自然对数,按KL(p||q)=Σpᵢln(pᵢ/qᵢ)计算。
| 步骤与对象 | 内部动作 | 中间结果 / 新状态 |
|---|---|---|
| 1第一项 | 0.8×ln(0.8/0.5) | 约0.376003。 |
| 2第二项 | 0.2×ln(0.2/0.5) | 约−0.183258;单项可以为负。 |
| 3相加 | 0.376003−0.183258 | KL(p||q)≈0.192745,整体不为负。 |
| 4交换方向 | 0.5ln(0.5/0.8)+0.5ln(0.5/0.2) | KL(q||p)≈0.223144,并不等于前一个值。 |
把过程连起来。“限制偏离参考模型”必须明确KL的方向、采样分布和计算位置;它不是通常意义下的对称距离。
边界与反例。本例两项概率都大于0,不涉及参考分布为0导致的无限值;后训练目标里的估计方法与本例完整求和可能不同。
依据与适用范围:[DERIVE]。示例输入和场景由本书明确设定。
课后自检
当前比参考模型更偏好答案w,是否证明w真实正确?
查看参考答案收起参考答案
KL(p||q)和KL(q||p)一般相等吗?
查看参考答案收起参考答案
机制依据:[RLHF][DPO][R1]。本节数值与情景除另注外均为原创教学示例;来源不代替中文讲解。