【强化学习】PPO如何根据奖励模型调整模型参数
我们用一个类比+分步说明来清晰理解这个问题:
一、类比:学生考试的评分与改进
想象你是一个学生(语言模型),老师(奖励模型)让你回答一道题:
- 你回答问题(生成文本)。
- 老师打分(奖励模型给出分数)。
- 你根据分数改进答题方式(语言模型更新参数)。
核心点:老师不告诉你标准答案,只告诉你得分,你通过多次尝试(强化学习)学会“怎么回答能得高分”。
二、“评价返回给语言模型”的本质
1. 返回的是什么?
- 返回的是一个数字(分数),表示语言模型生成的文本质量高低。
- 比如:0~1 分,1 表示回答很好,0 表示很差。
- 这个分数由奖励模型(Reward Model)计算得出。
2. 奖励模型怎么打分?
- 奖励模型本身是一个神经网络,它学到的是“什么样的回答是好的”。
- 比如:人类标注者对大量文本进行排序(A 比 B 好),奖励模型通过这些数据训练,学会给高质量文本高分。
- 输入是语言模型生成的文本,输出是一个标量分数(如
RM(text) = 0.87
)。
三、语言模型如何利用分数更新自己?
1. 核心思想:让高分行为更常发生
- 策略梯度(Policy Gradient):这是强化学习的核心方法。
- 语言模型是一个策略(Policy),它根据输入(prompt)决定输出(文本)。
- 高分表示“这个输出值得鼓励”,语言模型会调整参数,让这种输出更可能再次发生。
2. PPO 算法的具体步骤
PPO(Proximal Policy Optimization)是一种强化学习算法,它的核心是:
- 生成候选文本:
- 语言模型根据当前策略生成多个候选回答。
- 奖励模型评分:
- 奖励模型为每个候选回答打分(如
[0.7, 0.9, 0.6]
)。
- 奖励模型为每个候选回答打分(如
- 计算优势(Advantage):
- 比较每个回答的分数与平均分,判断它是否“优于平均水平”。
- 例如:如果平均分是 0.7,某个回答得分 0.9,则优势为 +0.2。
- 更新语言模型参数:
- 用梯度上升法调整参数,使得高优势的回答生成概率增加,低优势的回答生成概率减少。
3. 数学上的直观理解
- 目标函数:最大化期望奖励(Expected Reward)。
- 更新公式(简化版):
θ new = arg max θ E 生成文本 ∼ π θ [ 奖励分数 ] \theta_{\text{new}} = \arg\max_{\theta} \mathbb{E}_{\text{生成文本} \sim \pi_{\theta}} [\text{奖励分数}] θnew=argθmaxE生成文本∼πθ[奖励分数]
其中:- π θ \pi_{\theta} πθ 是语言模型的策略(参数为 θ \theta θ)。
- 奖励分数由奖励模型提供。
四、PPO 的关键技巧:如何安全地更新模型?
PPO 的核心创新在于 限制更新幅度,避免模型“学疯了”:
- 旧策略 vs 新策略的比率:
- 计算新策略生成文本的概率与旧策略的比率(Probability Ratio)。
- 如果比率过大或过小(比如新策略太激进),就惩罚更新。
- 剪切机制(Clipping):
- 引入一个范围(如 [0.8, 1.2]),如果比率超出这个范围,就“截断”更新。
- 确保每次更新都是“小幅改进”,而不是剧烈变动。
五、举个例子:生成文本的强化学习过程
假设 prompt 是 “写一个关于猫的故事”,语言模型生成以下候选文本:
- 文本 A:“猫在沙发上睡觉。” → 奖励模型评分 0.6
- 文本 B:“一只橘猫懒洋洋地躺在阳光下的沙发上,尾巴轻轻摇晃。” → 奖励模型评分 0.9
更新过程:
- 计算优势:
- 平均分 = (0.6 + 0.9) / 2 = 0.75
- 文本 A 优势 = 0.6 - 0.75 = -0.15(低于平均)
- 文本 B 优势 = 0.9 - 0.75 = +0.15(高于平均)
- 调整参数:
- 增加文本 B 的生成概率(高优势)。
- 降低文本 A 的生成概率(低优势)。
最终,语言模型会学会生成更详细、生动的描述(如文本 B)。
六、总结:一句话说清
- 奖励模型返回的是一个分数,告诉语言模型“你生成的文本质量如何”。
- 语言模型通过 PPO 算法,根据这个分数调整参数,使得高分文本的生成概率增加,低分文本的生成概率减少,从而逐步学会生成高质量回答。
关键区别:监督学习 vs 强化学习
监督学习 | 强化学习(PPO) |
---|---|
有标注数据(输入→正确输出) | 没有标注数据,只有奖励分数 |
直接学习“正确答案” | 学习“如何获得更高奖励” |
损失函数是预测误差(如交叉熵) | 损失函数是奖励分数的期望值 |
一次更新就能学到正确答案 | 多次尝试(探索)才能发现高奖励路径 |
希望这个解释能帮你彻底理解强化学习中奖励模型和语言模型的互动!