以下是在基于人类反馈的强化学习(Reinforcement Learning from Human Feedback, RLHF)方法中对 RRHF 的详细介绍,内容参考原论文文档《RRHF: Rank Responses to Align Language Models with Human Feedback without tears》,涵盖定义、原理、流程、优势及实验结果。
一、RRHF 的定义
RRHF(Rank Responses to Align Language Models with Human Feedback)是一种新型的基于人类反馈的强化学习方法,旨在通过排名损失(ranking loss)将语言模型的输出与人类偏好对齐。RRHF 通过对来自不同来源的响应(如模型自身生成、其他大语言模型生成或人类专家提供)进行评分和排名,优化语言模型,使其生成更符合人类期望的输出。
- 核心思想:利用人类偏好(或奖励模型)的排名信息,调整语言模型的条件概率分布,使其为更优的响应分配更高的概率,为较差的响应分配更低的概率。
- 与传统 RLHF 的区别:传统 RLHF(如 InstructGPT)依赖监督微调(SFT)、奖励模型训练和近端策略优化(PPO),而 RRHF 简化了流程,仅需 1 到 2 个模型,且无需复杂的超参数调优。
二、RRHF 的背景与动机
在基于人类反馈的强化学习中,目标是通过人类反馈(如评分或偏好)对齐语言模型,使其生成有用且安全的响应。传统 RLHF(如 PPO 方法)存在以下挑战:
- 复杂性:PPO 需要调优大量超参数(如奖励设计、优势估计),编码复杂。
- 资源需求:PPO 同时需要策略模型、价值模型、奖励模型和参考模型,内存占用高,难以扩展到更大规模的语言模型。
- 不稳定性:PPO 对超参数敏感,训练过程可能不稳定。
RRHF 提出了一种更简单的范式,通过排名损失对齐人类偏好,减少模型数量和超参数调整,保留与 PPO 相当的性能,同时更易于实现和扩展。
三、RRHF 的工作原理
RRHF 的核心是利用排名损失优化语言模型,使其条件概率与人类偏好排名一致。以下是其关键步骤:
-
采样响应:
- 对给定的查询 x x x,从多种来源采样 k k k 个不同响应 y i y_i yi( 1 ≤ i ≤ k 1 \leq i \leq k 1≤i≤k)。
- 来源包括:初始模型 ρ \rho ρ、训练中的模型 π \pi π、其他大语言模型(如 ChatGPT、GPT-4)或人类专家提供的响应。
- 采样策略灵活,可使用束搜索(beam search)、多样性束搜索(diverse beam search)或 top-p 采样。
-
评分响应:
- 使用训练中的语言模型
π
\pi
π 计算每个响应的长度归一化的条件对数概率:
p i = ∑ t log P π ( y i , t ∣ x , y i , < t ) ∥ y i ∥ p_i = \frac{\sum_t \log P_\pi(y_{i,t} | x, y_{i,<t})}{\|y_i\|} pi=∥yi∥∑tlogPπ(yi,t∣x,yi,<t)
其中 y i , t y_{i,t} yi,t 是响应 y i y_i yi 的第 t t t 个 token, ∥ y i ∥ \|y_i\| ∥yi∥ 是响应长度。 - 人类偏好或奖励模型 R ( x , y i ) = r i R(x, y_i) = r_i R(x,yi)=ri 为每个响应提供评分。
- 使用训练中的语言模型
π
\pi
π 计算每个响应的长度归一化的条件对数概率:
-
排名损失优化:
- 使用排名损失(ranking loss)使模型
π
\pi
π 的概率
p
i
p_i
pi 与人类偏好排名一致:
L rank = ∑ r i < r j max ( 0 , p i − p j ) L_{\text{rank}} = \sum_{r_i < r_j} \max(0, p_i - p_j) Lrank=ri<rj∑max(0,pi−pj)- 如果响应 y i y_i yi 的奖励 r i r_i ri 小于 y j y_j yj 的奖励 r j r_j rj,则确保 p i < p j p_i < p_j pi<pj。
- 目标:模型为更好的响应分配更高概率,为较差的响应分配较低概率。
- 使用排名损失(ranking loss)使模型
π
\pi
π 的概率
p
i
p_i
pi 与人类偏好排名一致:
-
结合监督微调损失:
- 选择奖励最高的响应 y i ′ y_{i'} yi′( i ′ = arg max i r i i' = \arg \max_i r_i i′=argmaxiri)。
- 添加交叉熵损失,类似监督微调(SFT):
L ft = − ∑ t log P π ( y i ′ , t ∣ x , y i ′ , < t ) L_{\text{ft}} = -\sum_t \log P_\pi(y_{i',t} | x, y_{i',<t}) Lft=−t∑logPπ(yi′,t∣x,yi′,<t) - 总损失为两者的未加权和:
L = L rank + L ft L = L_{\text{rank}} + L_{\text{ft}} L=Lrank+Lft
-
训练过程:
- 采样在训练前完成(除在线采样外),无需动态调整 KL 散度。
- 仅需加载 1 个模型(或 2 个,若涉及奖励模型),相比 PPO 的 4 个模型更高效。
四、RRHF 与其他方法的对比
-
与监督微调(SFT)的关系:
- SFT 是 RRHF 的退化形式,仅使用单一响应( k = 1 k = 1 k=1)和固定的人类提供数据。
- RRHF 扩展了 SFT,可利用多源响应并通过排名学习优劣。
-
与奖励模型的关系:
- RRHF 训练的模型可兼作奖励模型,使用长度归一化的对数概率评分响应。
- 若奖励 R ( x , y ) R(x, y) R(x,y) 由人类直接标注,RRHF 类似训练奖励模型。
-
与 PPO 的对比:
- 模型数量:PPO 需要 4 个模型(策略、价值、奖励、参考),RRHF 仅需 1 或 2 个。
- 采样:PPO 在训练中动态采样,需计算 KL 散度;RRHF 通常在训练前采样,简化流程。
- 优化:PPO 使用绝对奖励值和优势函数,RRHF 仅关注响应间的相对排名。
- 复杂度:RRHF 编码简单,超参数少,易于实现。
五、RRHF 的优势
- 简单性:
- 编码简单,仅需在 SFT 代码基础上增加约 30 行 Python 代码。
- 超参数少,无需复杂调优。
- 高效性:
- 仅需 1 到 2 个模型,内存占用低,易于扩展到更大规模语言模型。
- 训练时间短(如 4-6 小时,使用 8 个 A100 GPU)。
- 灵活性:
- 可利用多源响应(模型生成、人类提供等),提升对齐效果。
- 性能:
- 在 Anthropic 的 Helpful and Harmless (HH) 数据集上,RRHF 的平均奖励得分(如 -0.96)与 PPO 相当,且优于基线模型。
- 人类评估显示 RRHF 胜过数据集响应和 PPO 模型。
六、实验结果
-
数据集:
- 使用 Anthropic 的 Helpful and Harmless (HH) 数据集,包含人类偏好的“选择”和“拒绝”响应。
- 代理奖励模型为 Dahoas/gptj-rm-static。
-
模型:
- 基于 7B 参数的 LLaMA 和 Alpaca 进行实验。
- 初始模型包括 LLaMA、Alpaca 和监督微调后的 Alpaca-sft。
-
采样策略:
- 包括束搜索(BP)、top-p 采样(SP)、多样性束搜索(DP)、在线采样(OP-k)和迭代采样(IP-n)。
- 采样质量显著影响 RRHF 性能,DP 和 SP 表现最佳。
-
自动评估:
- 指标:困惑度(PPL, 由 gpt2-medium 计算)、平均奖励得分(Dahoas/gptj-rm-static)。
- 结果:Alpaca-RRHF (SP) 获得最佳奖励得分 -0.96,优于 PPO (-1.03) 和基线模型。
-
人类评估:
- RRHF (DP) 在 59% 的情况下胜过数据集的“选择”响应,与 PPO 比较时胜率 27%、平局 48%。
- 迭代采样(RRHF IP-2)进一步提升性能。
-
奖励模型准确性:
- RRHF 训练的模型 (Alpaca-RRHF DP) 作为奖励模型,准确率为 61.75%,优于 LLaMA (45.09%) 和 PPO (46.03%)。
-
Wombat 模型:
- 使用 Alpaca 提示和多源响应(ChatGPT、LLaMA 等),通过 RRHF 训练新模型 Wombat。
- 在 Vicuna 测试集上,Wombat 优于 Alpaca,接近 ChatGPT 性能。
七、局限性
- 采样依赖:RRHF 性能高度依赖采样质量,差的采样可能限制效果。
- GPU 需求:单次查询需要多个响应,GPU 使用量高于 PPO。
- 过优化风险:在线采样或迭代采样可能导致模型“欺骗”奖励模型,生成友好但无意义的响应。
- 奖励模型局限:实验中使用的代理奖励模型可能与真实人类偏好不完全一致。
八、总结
RRHF(Rank Responses to Align Language Models with Human Feedback)是一种简化的 RLHF 方法,通过排名损失对齐语言模型与人类偏好。它采样多源响应,基于条件对数概率和人类偏好排名优化模型,仅需 1 到 2 个模型,编码简单,超参数少。在 Anthropic 的 HH 数据集上,RRHF 性能与 PPO 相当,且在人类评估中表现优异。RRHF 结合了 SFT 和最佳采样(best-of-n)的优势,适合资源有限场景,是对齐大语言模型的有效方法。
如需代码或进一步解释,请参考文档中的链接:https://github.com/GanjinZero/RRHF。