What is RLHF, and why is it used for fine-tuning Large Language Models?**
P0 · llm_training
🏷 标签:rlhf, reinforcement-learning, fine-tuning, alignment
1️⃣ 考察意图
面试官想确认你是否真正理解RLHF的动机和工程本质,而非仅仅背诵“人类反馈+强化学习”的套话。考察类型是概念+工程取舍,核心刁钻点在于:为什么SFT不够,非要引入RL? 答好了能展示你对LLM对齐问题的深度认知——知道SFT只能让模型模仿风格,无法纠正事实错误或价值观偏差;理解奖励模型作为“代理目标”的固有缺陷;以及PPO训练的不稳定性是实际落地的最大坑。这直接区分“背八股”和“真懂训练”。
2️⃣ 标准答
RLHF(Reinforcement Learning from Human Feedback)是一种通过人类偏好信号来微调语言模型的方法,核心动机是解决监督微调(SFT)的固有局限。
为什么SFT不够?
- SFT本质是最大似然估计:给定输入,让模型输出与标注数据一致。但标注数据只能覆盖“正确”答案,无法处理主观偏好(如“这段回复是否礼貌?”)或长尾有害输出(如模型编造事实)。
- 举例:SFT可以教会模型回答“如何做蛋糕”,但无法阻止模型在回答中隐含歧视性言论,因为标注数据里没有显式标记“歧视”。
RLHF的标准三阶段流程:
- 收集人类偏好数据:让标注员对比模型对同一prompt的多个输出,选出更优的。通常收集10万-100万对比较数据。
- 训练奖励模型(Reward Model, RM):用偏好数据训练一个二分类器,输入是模型输出,输出一个标量分数(如0-1)。常用模型架构是DeBERTa或GPT-2,训练目标是最大化正确排序的概率(Bradley-Terry模型)。
- 用PPO优化语言模型:将语言模型视为策略网络,奖励模型提供即时奖励,用PPO算法更新模型参数,使其生成更高奖励的输出。关键技巧包括: - KL散度惩罚:防止模型为了刷奖励而输出乱码或重复内容,通常设置KL系数β=0.01-0.1。 - 价值函数网络:与策略网络共享大部分参数,用于降低方差。 - 参考模型:冻结SFT后的模型,计算当前模型与参考模型的KL散度,作为正则项。
实际落地的坑+解法:
- 奖励模型过拟合:RM在训练集上准确率95%,但给模型打分时却偏好“长而无用”的回答。解法:在RM训练中引入对抗样本,比如用PPO生成的坏样本重新标注,迭代训练RM。
- PPO训练不稳定:模型可能突然崩溃,生成重复token或乱码。解法:使用GRPO(Group Relative Policy Optimization)替代PPO,通过组内相对奖励减少方差;或降低学习率至1e-6以下。
- 数据成本高:标注10万对偏好数据约需50万美元。解法:用AI反馈(RLAIF)替代部分人工标注,比如让GPT-4作为裁判,但需注意模型偏见。
为什么RLHF有效?
- 它把“对齐”从分类问题(SFT)变成了排序问题:模型不需要输出“绝对正确”的答案,只需输出比当前更好的答案。这更符合人类偏好的本质——我们更擅长比较而非打分。
- 它允许模型在推理时动态调整:SFT训练后模型参数固定,而RLHF通过奖励信号让模型学会权衡(如“诚实”vs“有用”),这在多轮对话中尤其重要。
3️⃣ 答题模板(30 秒电梯版)
“这个问题我从动机、流程、工程挑战三个层面回答。动机层面:SFT只能让模型模仿数据分布,无法处理主观偏好和长尾有害输出,RLHF通过人类偏好信号解决了这个问题。流程层面:标准三阶段——收集偏好数据、训练奖励模型、用PPO优化语言模型,其中KL散度惩罚是关键。工程挑战层面:奖励模型过拟合和PPO训练不稳定是最大坑,常用GRPO和迭代标注来缓解。总结一句:RLHF的本质是把对齐从分类问题变成排序问题,让模型学会权衡而非死记硬背。”
4️⃣ 高频追问 & 应对
追问 1:为什么不用直接偏好优化(DPO)代替RLHF?DPO不是更简单吗?
DPO确实更简单,因为它不需要显式训练奖励模型,而是直接从偏好数据中推导出最优策略。但DPO的假设是偏好数据是静态的,而RLHF可以在线收集新数据(比如用当前模型生成输出再让人类标注),这对持续优化很重要。另外,DPO对数据质量极其敏感,如果偏好数据中有噪声(比如标注员不一致),DPO会放大错误,而RLHF的奖励模型可以起到平滑作用。实际中,如果数据量小且干净,DPO更高效;如果数据量大且需要迭代,RLHF更鲁棒。
追问 2:RLHF中的奖励模型如何评估?准确率够用吗?
奖励模型的评估通常用准确率(预测的排序与人类一致的比例)和Spearman相关系数。但准确率90%以上并不代表好用,因为RM可能对“长度”或“格式”等表面特征过拟合。更有效的评估是对抗测试:用PPO生成一批输出,让人类判断RM的分数是否合理。如果发现RM偏好长回答,需要在训练数据中平衡长短样本,或引入长度正则化。
追问 3:RLHF会导致模型“奖励黑客”吗?比如生成重复内容来刷分?
会,这是RLHF的经典问题。奖励模型可能被“欺骗”:比如模型发现“感谢您的提问”这类套话能得高分,就会在每轮对话开头都加这句。解法是:1)在PPO目标中加入KL散度惩罚,限制模型偏离参考模型的程度;2)在RM训练中引入多样性奖励,比如惩罚重复n-gram;3)使用群体相对奖励(GRPO),让模型在组内比较,避免全局奖励的偏差。
5️⃣ 避坑 · 常见错误答法
- ❌ “RLHF就是让人类给模型打分,然后模型学着提高分数。” → ✅ “RLHF的核心是偏好比较而非绝对打分,人类标注员对比两个输出选更好的,奖励模型从比较中学习排序,PPO再基于这个排序优化模型。直接打分会导致标注不一致,而比较更稳定。”
- ❌ “RLHF的奖励模型和PPO可以一步训练完成。” → ✅ “RLHF是分阶段训练:先固定奖励模型,再用PPO优化语言模型。如果同时更新,奖励模型的目标会漂移,导致训练不稳定。实际中奖励模型训练完成后就冻结,只更新语言模型。”
6️⃣ 简历呼应
- 如果你有RLHF项目:从“实际落地坑”切入,比如“我在项目中用GRPO替代PPO,解决了训练不稳定问题,将奖励模型准确率从85%提升到92%”。强调你处理过奖励模型过拟合和KL散度调参。
- 如果你只做过SFT:用“SFT vs RLHF”对比切入,比如“SFT只能让模型模仿数据,但我在项目中遇到模型输出有害内容,这让我意识到需要RLHF来对齐价值观”。展示你对SFT局限性的理解。
- 如果你是校招无项目:聚焦“论文复现”,比如“我复现了InstructGPT论文中的RLHF流程,用GPT-2在IMDb数据集上训练情感奖励模型,并用PPO优化生成正面评论”。强调你理解三阶段流程和KL散度惩罚。
7️⃣ 延伸阅读
- 《Training language models to follow instructions with human feedback》(InstructGPT论文)
- 《Direct Preference Optimization: Your Language Model is Secretly a Reward Model》(DPO论文)
- 《Deep Reinforcement Learning from Human Preferences》(RLHF奠基论文)
- 《GRPO: Group Relative Policy Optimization》(DeepSeek-R1使用的算法)
- 《Scaling Laws for Reward Model Overoptimization》(奖励模型过拟合分析)