RLHF微调算法
RLHF微调算法
基本概念
RLHF算法全称Reinforcement Learning from Human Feedback,即基于人类偏好的强化学习算法,依赖一个奖励模型通过强化学习将的模型的输出和人类偏好对齐。
RLHF的核心步骤分为三步:
- 监督微调(SFT):在高质量数据上微调预训练模型
- 训练一个奖励模型(RM):使得该奖励模型学习到人类对于回答的偏好(这里可以和DPO做一个简单的对比区分,DPO是直接把偏好回答给出来,而RLHF是先利用已有偏好数据训练一个奖励模型,然后用这个训练好的奖励模型在剩下的数据中识别偏好)
- 强化学习微调(PPO):最大化奖励信号
奖励模型训练
训练奖励模型时利用一个三元组(prompt, chosen, rejected),损失函数 $$\begin{equation}\mathcal{L}_{RM}=-\mathbb{E}[\text{log}~\sigma(R(y_w|x)-R(y_l|x))]\end{equation}$$
其中 是奖励模型的输出
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}$$
其中 是控制与初始模型偏离程度的超参数;PPO算法的使用是为了避免训练造成的不稳定
一个基于gpt2的RLHF示例
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 (๑>ᴗ<๑)!
评论