区别
众所周知,开源大模型的Chat版本普遍遵循LLM训练三部曲:预训练(Pretrain)、有监督微调(Supervised Fine-Tuning, SFT)以及基于人类反馈的强化学习(Reinforcement Learning from Human Feedback, RLHF)。然而,在实际应用中,SFT常被频繁采用,而RLHF则较少被实施。这引发了我们对RLHF独特价值的思考:RLHF的必要性何在?为何需要引入RLHF?
首先,让我们回顾SFT的基本概念。SFT是一种有监督的学习方法,通过提供明确的输入-输出对,模型学习从输入到输出的映射关系。在SFT中,主要目标是预测下一个token,并最大化其准确率。
然而,RLHF则采取了不同的策略。它首先训练一个奖励模型(reward model),使该模型能够识别哪些回复更符合人类的偏好和期望。随后,利用这个奖励模型来指导大模型的学习过程,从而确保生成的回复与人类标注更为接近。
**那么,是否每次都需要进行RLHF呢?或者说,在什么情况下应该选择SFT,何时又应该进行RLHF?**在 Robert Kirk 等人的研究中,对此进行了深入的探讨。他们主要从泛化性和多样性两个角度分析了SFT与RLHF的表现。研究发现,在模型的泛化能力上,经过RLHF训练的模型表现更为出色,超越了仅经过SFT的模型。然而,在回复的多样性方面,RLHF则显著不如SFT,即经过RLHF的模型倾向于产生更为相似的回复。
SFT后的模型能够更加精准的识别InstructionTok