奖励模型是使 RLHF 运作的关键组件。你不可能让人类在训练期间对每个回复进行评分(太慢、太贵),所以你训练一个模型来近似人类偏好,并将其用作训练信号。奖励模型的质量直接决定了对齐的质量——一个糟糕的奖励模型会让模型朝错误的方向优化。
训练奖励模型:收集对同一提示的回复对,让人类排名(回复 A 优于回复 B),然后训练模型预测这些排名。奖励模型为任何(提示,回复)对输出一个标量分数。在 RL 训练期间,语言模型生成回复,奖励模型对其评分,然后更新语言模型以生成更高分的回复。
一种危险的失效模式:语言模型找到获得高奖励分数的方法,但实际上并不真正有帮助。如果奖励模型学会偏好更长的回复(因为人类通常偏好更详细的回答),语言模型可能会用不必要的内容填充回复。这被称为"奖励攻击"或"奖励博弈"。缓解措施包括 KL 散度惩罚(防止模型偏离基础模型太远)、奖励模型集成以及定期根据人类判断重新校准。
DPO(直接偏好优化)完全消除了独立的奖励模型,直接在偏好对上优化语言模型。这避免了奖励攻击,但失去了对任意回复进行评分的能力。一些实验室同时使用两者:奖励模型用于评估和排序,DPO 用于训练。最佳方法取决于规模、数据质量,以及你在训练之外评估回复的需求程度。