奖励模型:RLHF的评分官
学会给AI的回答打分,告诉它"好"还是"不好"
上一篇我们讲了RLHF的三个阶段。其中第二阶段的核心是奖励模型(Reward Model)——它学会了给AI的回答打分。
奖励模型是RLHF的"大脑"。没有它,AI就不知道自己的回答是好是坏。有了它,AI就能根据分数调整自己的行为,学会说"人话"。
那奖励模型是怎么训练的?它是怎么"学会"人类偏好的?
1奖励模型的定义
奖励模型是一个神经网络,输入是"问题+回答",输出是一个分数。分数越高,说明这个回答越好(越符合人类偏好)。
输入
问题 + AI回答
奖励模型
打分器
输出
7.2
分数
高分回答(8.5)
"番茄炒蛋的做法很简单:先把鸡蛋打散,番茄切块。热锅倒油,先炒蛋盛出,再炒番茄出汁,最后倒入鸡蛋翻炒均匀,调味即可。"
低分回答(2.1)
"番茄炒蛋是一道菜,由番茄和蛋组成。蛋是鸡下的……"(跑题了)
2奖励模型的训练流程
让语言模型对同一个问题生成多个回答(如4个)。然后让人类标注员对这些回答排序。
问题:
怎么做番茄炒蛋?
模型生成的4个回答:
A. [详细做法步骤]
B. [简短回答]
C. [跑题回答]
D. [错误回答]
人类排序:
最好:A > B > D > C 最差
从排序中构建两两比较的「训练对」。
从排序 A > B > D > C 提取:
• (A, B):A比B好
• (A, D):A比D好
• (A, C):A比C好
• (B, D):B比D好
• (B, C):B比C好
• (D, C):D比C好
每个排序可以生成多个训练对
奖励模型学习预测"哪个回答更好"。
训练目标:
对于训练对(A, B),让奖励模型给A的分数高于B的分数。
loss = -log(sigmoid(r(A) - r(B)))
如果r(A) > r(B),loss就小;反之loss就大。
训练完成后,奖励模型就能给任意"问题+回答"打分了。分数反映了人类对这个回答的偏好程度。
3关键设计:为什么用比较排序?
你可能会问:为什么不直接让人类给每个回答打分(比如1-10分)?为什么要排序比较?
❌ 直接打分的问题
- • 不同人标准不同:A觉得"还行"给7分,B觉得"一般"给4分
- • 同一个人不同时间标准也不同
- • 绝对分数难以校准
- • 标注成本高:需要仔细思考每个分数
✅ 比较排序的优势
- • 相对判断更稳定:谁更好比"好多少"更容易判断
- • 跨标注员更一致
- • 标注速度快:只需拖拽排序
- • 不需要绝对校准
💡 类比
直接打分就像给每道菜打分("这道菜几分?")。比较排序就像盲品测试("这两道菜哪个更好吃?")。后者更客观,更容易判断。
4奖励模型的挑战与改进
⚠️ 挑战1:奖励欺骗
模型可能学会"讨好"奖励模型,生成看起来好但实际无用的回答。比如过度礼貌、过度解释、避重就轻。
解决:用KL散度惩罚,防止模型偏离原始语言模型太远
⚠️ 挑战2:分布外泛化
奖励模型在训练时见过的回答类型,可能不同于实际使用时遇到的回答。对未见过的回答,可能打分不准确。
解决:持续收集新数据,更新奖励模型
⚠️ 挑战3:标注质量
标注员的判断可能有偏差、不一致。低质量的排序数据会训练出低质量的奖励模型。
解决:多标注员交叉验证、质量控制机制
⚠️ 挑战4:过度优化
如果奖励模型不够准确,强化学习可能把模型"带到沟里"——学会生成高分但实际很差的回答。
解决:定期人工评估,监控模型行为
5核心总结
🎓 一句话总结
- ①定义:奖励模型输入"问题+回答",输出分数,反映人类偏好
- ②训练:收集人类排序数据→构建比较对→学习预测"哪个更好"
- ③为什么用排序:相对判断比绝对打分更稳定、更一致、更高效
- ④挑战:奖励欺骗、分布外泛化、标注质量、过度优化——需要持续迭代
→阶段完成
🎉 第五阶段「LLM高级技巧」完成!
恭喜!你已经完成了从Few-shot Learning → In-context Learning → 幻觉 → Temperature → Top-k → Top-p → RLHF → 奖励模型的完整LLM高级技巧学习路径,共8篇文章。
接下来是第六阶段:检索与知识增强,包括向量、向量数据库、相似度搜索、RAG、知识库、语义搜索等主题——这些技术让AI能够"查阅资料",不再只是靠记忆回答问题。
✏️ 手绘图解 · AI Catch 出品
第 48 篇 / 共 84 篇 · 第五阶段:LLM高级技巧完成