RLHF总结

发布时间 2023-11-02 14:35:15作者: 风生水起

RAFT:Reward rAnked FineTuning for Generative Foundation Model Alignment

给一批Prompt,先让大模型生成对每一个prompt生成一个answer,然后让RM去给这些prompt-answer对进行打分,把得分高的选出来用于Fine-tune大模型,得分不高的prompt-answer对直接舍弃。

RRHF:Rank Responses to Align Language Models with Human Feedback without tears

对某一个prompt,通过不同的方式(ChatGPT、人类专家等)生成很多个answer,让RM去打分,然后选出好的去Fine-tune大模型,此外,让大模型也算一下这些answers的似然概率当做评分,让这个评分和RM的打分尽可能对齐(通过Rank loss的监督学习目标)。

总结:1. 这两个工作(github的star都不少)都是只用了RM去给个评分,然后用监督学习的方法更新,没有用到RL,所以不能算是严格的RLHF; 2. 这种Data-centric的思路,即用模型本身 (或者更大的模型)生成的数据(可以看成是数据增强)来微调自己,是general的(Segment anything也是这个思路)。

 

RL相比于SFT,训练LLM的优势?

  1. Token-wise有考虑累计回报奖励的潜力;
  2. RLHF是使用模型生成的样本训练而非SFT中最大似然数据集中的样本,一方面,训练reward model对样本质量要求没那么高(不太好的样本给低评分就好),可以通过一些次优的样本生成更优的策略;另一方面,相比于直接用样本进行最大似然,让模型自己去生成可以允许更多样化的输出(RRHF和RAFT也有这个优势)。
  3. RLHF可以允许负反馈,而包括RRHF、RAFT的SFT只用了生成出的得分高的样本训练。这样导致的结果是:SFT会让模型过于自信的泛化,而RL能引导模型回答“我不知道”。
  4. RL优化Agent行为以达到其他特定目标(通过修改奖励函数),比监督学习更灵活。