虽然监督微调 (SFT) 擅长训练模型基于示例来遵循特定指令,但要实现与人类更细致的偏好(如帮助性、诚实性和无害性)的对齐,通常需要另一种方法。这些预期品质很难仅通过输入-输出示例来捕捉。人类反馈强化学习 (RLHF) 便在此发挥作用。RLHF 提供了一个基于人类表达的偏好来优化语言模型的框架,从而从简单的模仿转向对预期行为特点进行优化。
RLHF 是一个多阶段过程,旨在利用人类判断中获得的奖励来微调语言模型。它使我们能够比单独使用 SFT 更直接地引导模型的行为。主要思想是首先训练一个独立的“奖励模型”,该模型学习预测人类偏好的回应,然后将此奖励模型用于强化学习循环中,以更新语言模型本身。
典型的 RLHF 工作流程包含三个主要阶段:
-
初始模型准备 (监督微调 - SFT): 尽管不严格属于 RLHF 的一部分,该过程通常从一个预训练的语言模型开始,该模型已在一个高质量的指令数据集上进行了监督微调。这一初始 SFT 步骤提供了一个强大的基线模型,πSFT,能够很好地遵循指令。该模型作为后续 RLHF 阶段的起点。
-
奖励模型 (RM) 训练:
- 目标: 目标是训练一个由 ϕ 参数化的模型 rϕ(x,y),该模型接收提示 x 和生成的回答 y 作为输入,并输出一个标量分数,代表人类对该回答的偏好。分数越高表示越受偏好的回答。
- 数据收集: 这需要收集人类偏好数据。通常,对于给定的提示 x,SFT 模型会生成多个回答 (y1,y2,...,yk)。随后,人类标注者被要求将这些回答从最好到最差进行排序,或者更常见的是进行成对比较,选择偏好的回答 (yw,胜者) 而非另一个 (yl,败者)。这便创建了一个包含偏好三元组 (x,yw,yl) 的数据集 D。
- 训练: 奖励模型通常使用 SFT 模型的权重进行初始化,其中最终的 token 预测层被替换为一个输出标量分数的回归头。然后它在偏好数据集 D 上进行训练。一个常见的目标函数旨在最大化偏好和被拒绝回答之间的分数差异,通常使用基于 Bradley-Terry 模型的成对比较损失:
L(ϕ)=−E(x,yw,yl)∼D[log(σ(rϕ(x,yw)−rϕ(x,yl)))]
这里,σ 是 Sigmoid 函数。这种损失函数促使奖励模型 rϕ 为胜出回答 yw 分配一个比落败回答 yl 明显更高的分数。
-
RL 微调 (策略优化):
- 目标: 最后阶段使用强化学习来微调 SFT 语言模型(现在被视为策略,πθ),使其生成能够最大化经过训练的奖励模型 rϕ 预测的预期奖励的回答。
- 流程: RL 循环按以下方式运行:
a. 从数据集中采样一个提示 x(通常是 SFT 数据集或自定义提示集)。
b. 当前的 LLM 策略 πθ(y∣x) 生成一个回答 y。
c. 奖励模型 rϕ(x,y) 为生成的回答分配一个奖励分数。
d. 此奖励信号用于更新 LLM 策略 πθ 的参数 θ。
- 优化算法 (PPO): 近端策略优化 (PPO) 是此阶段最常用的算法。直接最大化奖励 rϕ(x,y) 可能导致策略 πθ 生成重复或无意义的文本,从而“欺骗”奖励模型(奖励作弊),或者与预训练和 SFT 期间学到的连贯语言生成相距过远。PPO 通过引入一个约束来解决此问题,该约束惩罚当前策略 πθ 与原始 SFT 策略 πSFT 之间的大幅偏离。PPO 优化的目标函数通常如下所示:
目标(θ)=Ex∼Dprompt,y∼πθ(y∣x)[rϕ(x,y)−βKL(πθ(y∣x)∣∣πSFT(y∣x))]
这里,E 表示期望,Dprompt 是提示的分布,KL 代表策略之间的 Kullback-Leibler 散度,β 是一个控制 KL 惩罚强度的系数。此目标函数促使策略 πθ 在从 rϕ 获得高奖励的同时,与初始 SFT 模型 πSFT 定义的分布保持相对接近,从而保持通用的语言能力并减轻灾难性遗忘或策略崩溃。
整个 RLHF 过程可以如下所示:
人类反馈强化学习 (RLHF) 的工作流程,展示了从初始 SFT 模型到基于人类偏好训练奖励模型,最终使用 PPO 微调受奖励模型引导的语言模型策略的进展。
RLHF 代表了一种强大的技术,用于将 LLM 与难以仅通过示例来具体说明的复杂、主观或安全关键的人类价值观对齐。然而,与 SFT 相比,它带来了显著的复杂性。收集高质量的人类偏好数据成本高昂且耗时。最终模型的性能高度依赖于奖励模型的质量和校准,RL 训练过程本身可能不稳定,并且对超参数选择很敏感。奖励作弊等问题,即策略在奖励模型中找到漏洞,需要仔细监控和缓解,这通常涉及 PPO 中的 KL 惩罚项。
在高级微调策略方面,RLHF 通常在初始指令调优 (SFT) 之后使用,以进一步改进模型行为,使其更有帮助,更不容易生成有害内容,并且更好地与用户意图对齐。它补充了多任务学习等技术,通过提供一种机制,针对人类偏好而非特定任务格式定义整体行为目标进行优化。