基础知识
RLHF 的三阶段流程
RLHF(Reinforcement Learning from Human Feedback)通常包含三个主要阶段:
监督微调(SFT)→ 偏好采样 + 奖励模型学习 → 强化学习优化(RL)
简单可以理解为:先学"怎么说话",再学"什么话更好",最后逼模型多说"好话"
阶段一:SFT(Supervised Fine-Tuning)
RLHF 通常从对一个预训练语言模型进行监督微调开始,使用高质量的人工数据(如对话、摘要等),得到一个模型
数据形式:
损失函数:标准的监督学习损失函数
:策略模型的参数化形式 :监督微调数据集 :输入提示 :目标回答
目标:让模型学会基本的对话能力和任务完成能力,即"怎么说话"
阶段二:奖励模型(Reward Modeling)
使用 SFT 模型,对同一个 prompt
交给人类标注者,让他们选更好的一个:
:winner,preferred(赢家) :loser,rejected(输家)
潜在奖励函数假设:假设人类偏好是由一个未知的真实奖励函数
偏好模型:
数据集形式:
损失函数:
补充解释
BT 模型:
Bradley-Terry 模型是一个用于成对比较的概率模型
核心思想:
- 每个对象
有一个隐藏的"实力值"参数 - 当两个对象
和 比较时, 战胜 的概率为:
在 DPO 中的应用:
- 将奖励函数
看作"实力值" - 人类偏好
就是"比较结果" - 通过 BT 模型建立奖励与偏好的桥梁
为什么不用「谁分数大就选谁」?
如果直接规定:
那问题是:人类判断有噪声,同一个人、同一个问题,不一定每次选同样的。所以我们不建模成确定性规则,而是:概率模型
把公式 (1) 改写一下:
这就是熟悉的 Sigmoid 函数:
于是:
因为真实数据里人确实选择了
最大化所有样本的对数似然:
意思是:对每一条数据,都算一次"模型认为人类会选赢家的概率的对数",然后把它们加起来,让这个总和尽可能大。对数把"连乘"变成"连加",最优解不变(对数是单调递增函数)
等价地,最小化负对数似然(Likelihood):
这正是公式 (2)。意思是:对数据集里的样本取平均,然后对"对数概率"取负号,让这个值尽可能小。
对一个有限数据集
👉 期望 = 平均值
令
因为
原目标:
等价于:
于是定义:
为什么机器学习里"总是最小化"?
因为梯度下降(Gradient Descent)默认是 minimize loss,所以大家习惯:把"想最大化的目标",写成"要最小化的损失"。
阶段三:RL 微调
RL 目标函数(核心):
补充解释
一句话解释:👉 让模型生成 奖励高的回答 👉 但不能偏离原始 SFT 模型太远
- 初始状态:
- 训练目标:在保持与原始 SFT 模型接近的前提下,优化奖励
- KL 约束作用:确保模型不会偏离初始能力太远
KL 约束:
KL 散度(Kullback-Leibler 散度)衡量两个概率分布之间的差异:
这表示:
- 如果
和 相同:KL = 0 - 如果
偏离 :KL > 0 - 目标函数中的
惩罚偏离行为
KL 散度推导过程详解
KL 散度的通用定义(离散型):
期望的定义:
对于随机变量
进行变量映射
在 RLHF 的语境下,我们要计算的是两个模型策略(概率分布)之间的差异:
- P (当前分布):
—— 模型当前正在学习的策略 - Q (参考分布):
—— 原始的 SFT 策略 - 样本空间:
(模型生成的所有可能的回答序列)
将这些代入通用公式:
转化为期望形式
- 外层的
表示我们在按照 的概率分布对后面的项进行加权平均 - 括号里的项
就是要计算期望的对象
因此,根据期望的定义
为什么实践中要写成期望形式?
在深度学习和强化学习中,写成期望形式有重大的工程意义:
无法全量求和:
对于语言模型,可能的回答
蒙特卡洛采样(Monte Carlo Sampling):
期望形式告诉我们,虽然不能遍历所有结果,但可以通过采样来近似:让模型
对齐目标函数:
RL 的目标函数本身就是最大化期望奖励
这样,模型在每一轮训练采样时,就可以同时优化奖励并计算 KL 惩罚。
为什么这个目标函数不可导?
语言模型是离散生成的:
- 输出是 token 序列
- 采样 / argmax 都是离散操作
无法像普通监督学习那样,对
👉 所以不能用反向传播直接优化奖励
👉 必须用强化学习(policy gradient)
这就是为什么要用 REINFORCE / PPO。
KL 约束是怎么变成"奖励"的?
关键一步是:把公式 (3) KL 项写成 log-prob 的形式
对离散策略:
代回目标函数:
于是可以定义一个新的 reward:
即论文中的:
(论文里通常把
转换后的简化目标函数
通过这个变换,原来的约束优化问题变成了无约束的奖励最大化问题:
其中
版权声明
本文作者:ZhenWusi
本文链接:https://zhenwusi.github.io/2026/02/12/RLHF%20%E7%9A%84%E4%B8%89%E9%98%B6%E6%AE%B5%E6%B5%81%E7%A8%8B/
除特别声明外,本站所有文章均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
评论区