Reward Model、RLHF、RLAIF 与 RFT
区分奖励建模、反馈来源和强化微调训练循环。
学习目标
- 区分反馈来源、评分模型与策略优化器,避免把 RLHF 等缩写当作单一更新公式。
- 独立复核“奖励分差如何变为偏好概率”的输入、计算和解释。
- 偏好分差有意义,奖励绝对零点通常不可辨识。
为什么重要
区分反馈来源、评分模型与策略优化器,避免把 RLHF 等缩写当作单一更新公式。
学习前需要掌握
背景与问题
语言模型回答质量难以用唯一正确答案衡量,可以收集人类排序、AI 评审或可验证结果。这些反馈能训练评分器,也能直接进入某些优化目标;“谁打分”和“如何更新策略”是两条不同轴。
概念定义
RLHF 使用人类反馈,RLAIF 使用 AI 反馈;二者描述反馈来源。奖励模型把输入与输出映射到学习评分,策略优化再利用评分改变输出分布。RFT 常用于指利用评分或可验证反馈进行强化微调,但不同论文或产品的具体接口需分别说明。
直观理解
评委可以是人,也可以是另一套程序;评分卡是奖励模型,训练者如何根据评分改进表现则是优化器。更换评委不等于更换了训练算法。
核心原理
偏好奖励模型常用 Bradley–Terry 形式,将优选与拒绝输出的分差经 sigmoid 变为偏好概率。它只约束相对差异,不能把奖励 4 解释成比奖励 2 “好两倍”的绝对效用。
学得奖励可能带有长度、格式和评审器偏好。策略主动优化后会改变输出分布,使奖励模型遇到训练时少见的内容;因此要留出独立评测,并比较代理分数与实际质量。
可验证评分如测试通过、数学答案匹配更容易自动获取,但检查器仍可能有漏洞。PPO 或 GRPO 可使用多种评分来源;DPO 则直接使用偏好对,不要求显式训练独立奖励模型。
数学表达
成对偏好的 Bradley–Terry 模型
偏好模型估计相对排序概率,不提供可直接解释的绝对真实效用。
变量含义
rφ学习得到的奖励评分σsigmoid 函数yw、yl优选与拒绝回答
计算步骤
- 1分差为 1,偏好概率约 0.731059。
- 2给两个分数同时加 100,分差仍为 1。
- 3模型表达相对偏好,不能从共同偏移推断绝对质量。
代码对应位置
示例 1奖励分差如何变为偏好概率:评分 [2,1] 与 [102,101] 都给出同样偏好概率 0.731059。
变量解释
| 变量 | 含义 |
|---|---|
rφ | 学习得到的奖励评分 |
σ | sigmoid 函数 |
yw、yl | 优选与拒绝回答 |
完整数值示例
奖励分差如何变为偏好概率
已知条件
- 同一问题的两个回答得分为 2 与 1。
- 采用 sigmoid(优选分数−拒绝分数)。
计算步骤
- 分差为 1,偏好概率约 0.731059。
- 给两个分数同时加 100,分差仍为 1。
- 模型表达相对偏好,不能从共同偏移推断绝对质量。
计算结果
评分 [2,1] 与 [102,101] 都给出同样偏好概率 0.731059。
处理前后对比
- 偏好分差有意义,奖励绝对零点通常不可辨识。
- AI 反馈与人类反馈各有噪声和偏差,需要单独验证。
计算与实现步骤
- 收集/生成反馈
- 训练或定义奖励
- 策略采样
- 评分
- 策略更新
- 评测奖励黑客
代码实现
示例 1
奖励分差如何变为偏好概率
example_01.py用途:评分 [2,1] 与 [102,101] 都给出同样偏好概率 0.731059。
import math
for chosen, rejected in [(2.0, 1.0), (102.0, 101.0)]:
probability = 1 / (1 + math.exp(-(chosen - rejected)))
print(f"scores=({chosen:.0f},{rejected:.0f}) preference_probability={probability:.6f}")代码解析
解析始终位于完整代码下方,并按实际代码段逐项对应。
输入数据与任务
评分 [2,1] 与 [102,101] 都给出同样偏好概率 0.731059。
scores- 交叉验证各折的评价分数。
Step 1 · 1–4 行
导入当前步骤需要的数值计算、预处理、模型或评价工具。依赖集中写在代码开头,便于复现。
import math
for chosen, rejected in [(2.0, 1.0), (102.0, 101.0)]:
probability = 1 / (1 + math.exp(-(chosen - rejected)))
print(f"scores=({chosen:.0f},{rejected:.0f}) preference_probability={probability:.6f}")预期输出或运行结果
scores=(2,1) preference_probability=0.731059 scores=(102,101) preference_probability=0.731059
常见错误 · 3 条
- 把 RLHF、RLAIF 当成互斥的策略优化算法名称。
- 将奖励模型分数当作校准后的绝对真实质量。
- 训练只提高评审分数,却没有独立任务效果检查。
实际应用
- 序贯决策
- 控制与资源分配
常见错误
- 把 RLHF、RLAIF 当成互斥的策略优化算法名称。
- 将奖励模型分数当作校准后的绝对真实质量。
- 训练只提高评审分数,却没有独立任务效果检查。
扩展内容说明
本页数值均为解释机制的构造案例,不能解读为真实训练或基准性能。定义和适用条件参见 Ouyang 等:Training language models to follow instructions with human feedback。
算法属性与数据边界
失败模式、风险与性能
失败模式
- 把 RLHF、RLAIF 当成互斥的策略优化算法名称。
- 将奖励模型分数当作校准后的绝对真实质量。
- 训练只提高评审分数,却没有独立任务效果检查。
风险
- 奖励函数与真实目标不一致会诱发奖励黑客。
- 部署策略的行动权限必须由环境和应用层约束。
性能考虑
- 样本效率、墙钟时间和显存占用需要分别报告。
- 应使用多个随机种子、置信区间和固定评测策略。
常见问题
有可验证奖励还需要奖励模型吗?
不一定。能直接计算可靠评分时,可直接供给优化器;但验证规则的覆盖与漏洞仍需检查,不能等同于真实目标已经完整定义。
网页是否会训练模型?
不会。所有图表使用固定种子或解析公式在浏览器本地计算,不执行页面中的示例代码。
推荐学习资料
Direct Preference Optimization
把带参考策略约束的偏好优化转写为直接训练 chosen/rejected 概率差的目标。
Rafailov et al. · arXiv / NeurIPS