一文对比大模型SFT和RLHF
先来拆解一下这个经典问题。开源大模型的Chat版本,基本都沿着LLM训练三部曲走下来:预训练、有监督微调(SFT)和基于人类反馈的强化学习(RLHF)。但实际落地的时候,SFT被频繁使用,RLHF却很少真正上阵。这不免让人琢磨:RLHF到底有没有不可替代的价值?为什么非要引入它?

先简单回顾一下SFT。它是一种有监督学习方法,靠明确的输入-输出对来学习映射关系,核心目标就是预测下一个token,并最大化准确率。打个比方,就像手把手教一个学生做习题,每道题都有标准答案,反复练习直到答对为止。
RLHF这边则换了一套打法。它先训练一个奖励模型,让这个模型学会判断什么样的回复更符合人类偏好,然后拿这个奖励模型去指导大模型的学习过程,确保最终输出更贴近人类标注。这更像是在模拟一个“教练”的角色:不是直接给标准答案,而是根据表现给出反馈信号,让模型自己迭代优化。
那么问题来了——每次都需要上RLHF吗?什么时候该用SFT,什么时候该上RLHF?Robert Kirk团队的研究正好切中了这个关键点。他们从泛化性和多样性两个维度做了对比。结果挺有意思:经过RLHF训练的模型,在泛化能力上明显优于仅靠SFT的模型;但在回复多样性方面,RLHF却远不如SFT,具体表现为RLHF后的模型更容易生成风格一致的回复。
SFT能让模型更精准地识别指令token并依此生成,这已经是重要的一步。而RLHF作为一种更强力的训练手段,能进一步强化LLM对指令的识别和执行能力。所以单看泛化性提升,RLHF确实更胜一筹。
但说到多样性,输出风格趋同是RLHF的必然代价。而且,RLHF对误差更加敏感,这把双刃剑意味着在训练过程中可能会对某些模式产生过拟合,也就是所谓的模式坍塌现象。
回到实际项目,如果主要关注垂直领域内的表现,并且大部分场景下SFT已经能满足上线要求,那么SFT显然是性价比更高的选择。毕竟,在咱们关注的领域里,它已经足够好了。当然,如果项目需要更强的泛化能力或者更丰富的回复风格,RLHF无疑是个值得认真考虑的选项。
-
- 关于宇宙的好的网名有哪些
- 角色扮演 | 1
- 网名