← RL 知识库RL / 5 OF 8SFT → RLHF → DPO:不同训练信号
选择与可用反馈匹配的训练信号。
学习指南与本课目录
LEARNING CONTRACT理解 → 实现 → 研究
目标:解释本课机制、复现一个例子、测试一个失败案例。读完不自动代表掌握。
- 理解层:写明假设、形状/单位和一个反例。
- 实现层:复算数值例子并检查边界。
- 研究层:在匹配预算下比较一个替代方法。
理解机制
SFT 从期望输出示范中学习。常见 RLHF 流程从偏好拟合奖励模型,再带参考惩罚优化策略。DPO 则直接使用成对偏好与参考对数概率。DPO 属于偏好优化,不能仅因与 RL 目标有关,就说它是在线环境交互循环。
机制图与逐步推导
原创机制示意图,按从上到下顺序阅读。 SVG ↓- 区分三种数据:SFT 示范、奖励学习的比较、策略优化的采样轨迹,它们并不是可互换标签。
- 在同一 prompt 分布上,两种候选策略的(期望奖励,期望 KL)为 (1,0.4)、(0.8,0.1), 时正则值为 0.6 和 0.7。较低原始奖励也可能在漂移惩罚后胜出。
- 用独立任务标签与盲化人工比较评估选中策略,否则奖励模型的错误可能同时成为训练目标与表面成功标准。
实验检查点报告谁标注数据及评价了什么 prompt 分布,单个奖励分数不能代表每种用户目标。
原创练习与分析
用相同留出 prompt 比较基座、SFT 与偏好微调 checkpoint。控制生成设置与回答长度,分别审查有用性、事实性及拒答;单个总偏好分可能掩盖回退。
人类偏好既不是完美事实标签,也不代表所有用户的普遍价值。
RLHF 能不增加参数量就改善行为吗?
可以。优化改变模型的输出分布,体现为评价分布上的行为变化,不代表所有能力都提高。
下一章 → GRPO、可验证奖励与推理MATHEMATICAL REVIEW · 2026-10-26假设、参考实现与验收
β>0,使用自然对数,回答 token 的 log 概率求和,参考模型固定。sigmoid 是成对偏好概率,不是回答生成概率;目标是最小化损失。 RLHF 最大化奖励减 KL,SFT/DPO 最小化损失。
已复核公式条件、单位及算例。实现隔离一个数值机制,不训练完整策略,也不控制真实硬件。
运行前:预测一个边界情况
时损失为 ln2;提高偏好回答的 log odds 应降低损失。
提示:隔离假设
固定基线输入,只改变一个参数或边界;同时比较数值与声明单位。单例通过仅验证该样例。
最小可运行算例
将算例及所链接模块保存在同一目录。使用 Node.js 22 或更高版本,然后运行 node rlhf-dpo.mjs. 无需第三方运行依赖。
const solve=()=>{
const beta=.5, delta=2;
return Math.log1p(Math.exp(-beta*delta));
};
const actual=solve();
const expected=0.31326168751822286;
if(JSON.stringify(actual)===JSON.stringify(expected)){console.log('PASS',actual)}else{
const a=[actual].flat(), b=[expected].flat();
if(a.length!==b.length||a.some((v,i)=>!Number.isFinite(v)||Math.abs(v-b[i])>1e-10))throw Error('Numerical mismatch');
console.log('PASS within 1e-10',actual);
}
参考输出——先预测再展开
0.31326168751822286
测试与迁移
时损失为 ln2;提高偏好回答的 log odds 应降低损失。
在下方笔记记录输入、代码版本、期望值和实测值;再构造违反上述假设的反例,解释原结论为何不再成立。
下载完整代码包(.tar.gz) · 完整参考代码与回归检查预测、检验与证据记录
展开答案前先预测一个结果;练习后记录差异和迁移测试。记录仅存本地,在不同语言版本间共用。
打开记录/导出/清除 →数学复核范围逐篇记录,不代表完成论文实证复现;可在笔记中记录疑似错误。 复核范围