基础篇

F19|后训练的前置数学:偏好、奖励、概率比与KL

基础篇约 3.2 千字1 组分步图解

从具体对象与小例子开始,理解计算过程与适用条件。

本章目录
动态图解 · F19

后训练改变行为,奖励不是事实裁判

既然模型会接下一Token,为什么还要SFT、偏好训练?

“能续写文本”不等于“能按用户意图回答”。监督微调提供示范回答,偏好训练比较候选行为;奖励只是一个被设计出来的评价信号。模型可能学到让评分变高的方式,因此还要独立检验真实性、任务完成和风险,而不能把奖励上升等同所有能力提升。

SFT用示范输入与目标回答继续监督训练。
策略模型在给定上下文下选择输出的概率规则。
参考模型用来衡量相对变化的冻结基线。
KL比较两个分布差异的一种量,不等于字面编辑距离。

输入与适用条件:本图仅展示偏好训练的数据关系,不把候选A/B标为真实产品测评;RLHF与DPO的具体目标区别保留在正文。

1 / 6 · 同一问题,两份回答

第1步,共6步

窄屏可左右滑动图形,或点击“放大图形”。文字解释紧随图后。

后训练改变行为,奖励不是事实裁判:同一问题,两份回答同一问题,两份回答A与B是本例偏好候选人或规则给偏好这里偏好A;不是宣告A绝对真实当前模型比较对A/B赋予相对概率参考模型比较作为相对变化的基线形成训练信号推动偏好对的相对概率变化重新评测行为、正确性、拒答等分别检查教学流程;高亮表示当前步骤,不表示真实耗时比例。

始终围绕同一个问题形成可比较候选,避免比较不同任务的分数。

本步状态由图形与说明共同给出。

默认静止。用“下一步”看完解释再继续;播放到最后一步自动停止。键盘聚焦播放器后,可用左右键逐步查看、空格播放/暂停。图中颜色辅助区分,含义同时用文字注明。

为什么需要

在已有语言能力上塑造指令遵循和任务行为。

怎样实现

把示范、偏好、奖励、参考策略四个对象分开,明确采用何种训练目标。

可能的代价与误解

偏好不等于事实;奖励漏洞、分布偏移、行为过度收敛会出现。

如何判断是否做对

保留独立任务、不同判分来源和失败案例,报告真实行为的变化。

同一个“更好”,至少有三种含义

语言预训练常学习文本里什么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,你应该能解释每个量从何而来,而不是只会说“用了强化学习”。

运行示例 · F19

偏好训练究竟比较哪两个概率比

输入与条件。这里另起一组教学概率,不接续本节前面用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进入sigmoid1/(1+exp(−ln2))等于2/3。
5计算DPO损失−ln(2/3)约0.405465;与参考模型完全相同时是ln2≈0.693147。

把过程连起来。这不是单看A的绝对概率,而是比较优选与较差回答相对参考模型的变化。

边界与反例。例子只解释一对样本的标准DPO目标,不等于复现RLHF训练;真实整段回答概率通常用Token对数概率之和表达。

依据与适用范围:[DPO]。示例输入和场景由本书明确设定。

运行示例 · X04

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.183258KL(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]。示例输入和场景由本书明确设定。

课后自检

自检 1

当前比参考模型更偏好答案w,是否证明w真实正确?

查看参考答案收起参考答案
不能。训练偏好、奖励和事实正确性可能不一致,还需独立证据与评测。
自检 2

KL(p||q)和KL(q||p)一般相等吗?

查看参考答案收起参考答案
一般不相等。公式中被加权的分布和概率比方向不同。

机制依据:[RLHF][DPO][R1]。本节数值与情景除另注外均为原创教学示例;来源不代替中文讲解。

记录保存在本机浏览器。

输入关键词即可检索。

↑ ↓ 选择 Enter 打开Esc 关闭 · 仅本地搜索

阅读设置

阅读设置仅保存在本机浏览器,不上传任何数据。