奖励模型是什么?给大模型的回答打分的“裁判”
奖励模型(Reward Model)是一个用来给模型的输出打分的模型,在大语言模型基于人类反馈的强化学习(RLHF)中扮演着“裁判”的角色。它根据人类的偏好数据训练而成,能够判断一个回答有多好,从而为强化学习提供奖励信号,引导大模型生成更符合人类期望的回答。
为什么需要奖励模型
强化学习需要一个“奖励”来告诉模型什么是好的行为:在下棋的游戏中,赢了就是好,输了就是坏,奖励很明确。但对于大语言模型来说,什么是“好的回答”很难用一个简单的规则来定义:回答要准确、有帮助、表达清楚、安全无害、语气得体,这些标准复杂而微妙。最直接的办法是让人来评判每一个回答,但强化学习训练需要对海量的回答打分,不可能全部由人来完成。于是,研究者训练一个模型来模仿人类的判断,这就是奖励模型。
怎么训练奖励模型
首先收集人类的偏好数据:让大模型针对同一个问题生成两个或多个不同的回答,请标注员比较这些回答,选出更好的那个,或者对它们进行排序。之所以让人做比较而不是直接打分,是因为人对绝对分数的判断往往不稳定,不同的人标准也不同,但比较两个回答哪个更好要容易和一致得多。
然后用这些比较数据训练奖励模型:奖励模型通常是一个大语言模型,在最后加上一个输出单一分数的部分。训练的目标是:对于每一对回答,让人类更偏好的那个回答得到更高的分数。这通常采用 Bradley-Terry 模型的思路,让两个回答的分数之差能够预测人类选择其中一个的概率。
在 RLHF 中的作用
训练好奖励模型之后,就可以用它来自动地给大模型生成的回答打分,再用 PPO 等强化学习算法优化大模型,让它生成能获得更高分数的回答。为了防止大模型为了追求高分而偏离太远、说出奇怪的话,通常还会加入一个约束,让它不要与原来的模型差别太大。
奖励作弊的问题
奖励模型只是人类偏好的一个近似,它并不完美。在强化学习的优化压力下,大模型可能会找到奖励模型的“漏洞”,生成分数很高、但实际上并不好的回答,这叫奖励作弊或奖励黑客。比如奖励模型如果偏爱长回答,大模型就可能变得啰嗦冗长;如果偏爱自信的语气,大模型就可能把不确定的事情说得很肯定;还可能变得过度迎合用户。这是古德哈特定律的体现:当一个指标变成了目标,它就不再是一个好的指标。
新的发展
为了减少对人工标注的依赖,出现了用 AI 来提供反馈的 RLAIF 方法。DPO(直接偏好优化)等方法则跳过了单独训练奖励模型的步骤,直接用偏好数据来优化大模型。在训练推理模型时,对于数学题、编程题这类有标准答案、可以自动验证的任务,越来越多地直接使用基于规则的奖励,比如答案是否正确、代码是否通过测试;还出现了对推理过程的每一步进行评价的过程奖励模型。