RLHF(人类反馈的强化学习)
RLHF是什么
RLHF,即基于人类反馈的强化学习,是一种结合强化学习算法与人类主观判断的训练技术。它通过引入人类的偏好和反馈来优化模型的行为和输出,使模型能够生成更符合人类期望的结果。
训练步骤为:
预训练语言模型:首先需要一个预训练的语言模型,通过大量语料训练出基础模型。例如,ChatGPT的基础模型是GPT-3。
训练奖励模型:收集人类标注的偏好数据,训练一个奖励模型(Reward Model, RM),该模型能够预测人类对不同输出的偏好分数。
强化学习微调:利用奖励模型提供的奖励信号,通过强化学习算法(如PPO)对语言模型进行微调,优化模型的输出
RLHF的奖励函数相比于传统强化学习的奖励函数有什么特点
传统强化学习通过环境提供的奖励信号训练Agent,但复杂任务(如自然语言生成)往往难以设计自动化的奖励函数。RLHF 的核心创新在于用人类反馈替代传统奖励函数,通过人类对模型输出的评价,训练一个“奖励模型”(Reward Model),再用这个模型指导强化学习过程,最终让模型的输出更符合人类偏好。该奖励函数满足以下需求:
能够解决人类
只能识别所需行为
,但不一定能提供演示的任务允许
非专家用户
进行示教能扩展到大规模问题
用户给出反馈的成本不高
RLHF-PPO 四个模型
Actor Model:策略模型,这就是我们想要训练的目标语言模型。
Reference Model:参考模型,它的作用是在RLHF阶段给语言模型增加一些“约束”,防止语言模型训歪。我们希望训练出来的Actor模型既能达到符合人类喜好的目的,又尽量让它和SFT模型不要差异太大。即希望两个模型的输出分布尽量相似,通过与Actor Model之间的KL散度控制。
Critic Model:评估模型/价值模型,它的作用是期望回报,在RLHF中,我们不仅要训练模型生成符合人类喜好的内容的能力(Actor),也要提升模型对人类喜好量化判断的能力(Critic)。
Reward Model:奖励模型,它的作用是计算即时收益。奖励模型可以是人为规定的,也可以用神经网络实现。
其中Actor和Critic Model是需要训练的,Reward和Reference Model是参数冻结的。Actor 和Reference model用同一个sft模型初始化,Reward 和Critic model用同一个奖励模型初始化。
对比PPO、GRPO、DPO:
GRPO:一组prompt经过LLM生成N个结果,每个结果打分,超过平均的被接受,反之被拒绝
PPO:一组prompt经过LLM生成结果,对结果打分,和上一个的自己比较,有优势被接受,反之被拒绝
DPO:提前构造好了拒绝和接受的数据,模型参数往接受的方向调整
介绍GRPO
GRPO的核心思想是通过组内相对奖励来优化策略模型,而不是依赖传统的批评模型(critic model)。具体来说,GRPO会在每个状态下采样一组动作,然后根据这些动作的相对表现来调整策略,而不是依赖一个单独的价值网络来估计每个动作的价值。
这种方法的优势在于:
减少计算负担:通过避免维护一个与策略模型大小相当的价值网络,GRPO显著降低了训练过程中的内存占用和计算代价。
提高训练稳定性:GRPO通过组内比较来估计优势函数,减少了策略更新的方差,从而确保了更稳定的学习过程。