RLHF微调算法

基本概念

RLHF算法全称Reinforcement Learning from Human Feedback,即基于人类偏好的强化学习算法,依赖一个奖励模型通过强化学习将的模型的输出和人类偏好对齐。

RLHF的核心步骤分为三步:

  1. 监督微调(SFT):在高质量数据上微调预训练模型
  2. 训练一个奖励模型(RM):使得该奖励模型学习到人类对于回答的偏好(这里可以和DPO做一个简单的对比区分,DPO是直接把偏好回答给出来,而RLHF是先利用已有偏好数据训练一个奖励模型,然后用这个训练好的奖励模型在剩下的数据中识别偏好)
  3. 强化学习微调(PPO):最大化奖励信号

奖励模型训练

训练奖励模型时利用一个三元组(prompt, chosen, rejected),损失函数 $$\begin{equation}\mathcal{L}_{RM}=-\mathbb{E}[\text{log}~\sigma(R(y_w|x)-R(y_l|x))]\end{equation}$$

其中 R(yx)R(y|x) 是奖励模型的输出

PPO

优化目标:最大化奖励信号,即 $$\begin{equation}\underset{\theta}{\max}\mathbb{E}[R(y|x)-\beta \cdot \text{KL}(\pi_\theta(y|x)~||~\pi_\text{SFT}(y|x))]\end{equation}$$

其中 β\beta 是控制与初始模型偏离程度的超参数;PPO算法的使用是为了避免训练造成的不稳定

一个基于gpt2的RLHF示例