【RLHF】RRHF(Rank Responses to Align Language Models with Human Feedback):基于人类反馈的排序学习

以下是在基于人类反馈的强化学习(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 的核心是利用排名损失优化语言模型,使其条件概率与人类偏好排名一致。以下是其关键步骤:

  1. 采样响应

    • 对给定的查询 x x x,从多种来源采样 k k k 个不同响应 y i y_i yi 1 ≤ i ≤ k 1 \leq i \leq k 1ik)。
    • 来源包括:初始模型 ρ \rho ρ、训练中的模型 π \pi π、其他大语言模型(如 ChatGPT、GPT-4)或人类专家提供的响应。
    • 采样策略灵活,可使用束搜索(beam search)、多样性束搜索(diverse beam search)或 top-p 采样。
  2. 评分响应

    • 使用训练中的语言模型 π \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=yitlogPπ(yi,tx,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 为每个响应提供评分。
  3. 排名损失优化

    • 使用排名损失(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<rjmax(0,pipj)
      • 如果响应 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
    • 目标:模型为更好的响应分配更高概率,为较差的响应分配较低概率。
  4. 结合监督微调损失

    • 选择奖励最高的响应 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=tlogPπ(yi,tx,yi,<t)
    • 总损失为两者的未加权和:
      L = L rank + L ft L = L_{\text{rank}} + L_{\text{ft}} L=Lrank+Lft
  5. 训练过程

    • 采样在训练前完成(除在线采样外),无需动态调整 KL 散度。
    • 仅需加载 1 个模型(或 2 个,若涉及奖励模型),相比 PPO 的 4 个模型更高效。

四、RRHF 与其他方法的对比

  1. 与监督微调(SFT)的关系

    • SFT 是 RRHF 的退化形式,仅使用单一响应( k = 1 k = 1 k=1)和固定的人类提供数据。
    • RRHF 扩展了 SFT,可利用多源响应并通过排名学习优劣。
  2. 与奖励模型的关系

    • RRHF 训练的模型可兼作奖励模型,使用长度归一化的对数概率评分响应。
    • 若奖励 R ( x , y ) R(x, y) R(x,y) 由人类直接标注,RRHF 类似训练奖励模型。
  3. 与 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 模型。

六、实验结果

  1. 数据集

    • 使用 Anthropic 的 Helpful and Harmless (HH) 数据集,包含人类偏好的“选择”和“拒绝”响应。
    • 代理奖励模型为 Dahoas/gptj-rm-static。
  2. 模型

    • 基于 7B 参数的 LLaMA 和 Alpaca 进行实验。
    • 初始模型包括 LLaMA、Alpaca 和监督微调后的 Alpaca-sft。
  3. 采样策略

    • 包括束搜索(BP)、top-p 采样(SP)、多样性束搜索(DP)、在线采样(OP-k)和迭代采样(IP-n)。
    • 采样质量显著影响 RRHF 性能,DP 和 SP 表现最佳。
  4. 自动评估

    • 指标:困惑度(PPL, 由 gpt2-medium 计算)、平均奖励得分(Dahoas/gptj-rm-static)。
    • 结果:Alpaca-RRHF (SP) 获得最佳奖励得分 -0.96,优于 PPO (-1.03) 和基线模型。
  5. 人类评估

    • RRHF (DP) 在 59% 的情况下胜过数据集的“选择”响应,与 PPO 比较时胜率 27%、平局 48%。
    • 迭代采样(RRHF IP-2)进一步提升性能。
  6. 奖励模型准确性

    • RRHF 训练的模型 (Alpaca-RRHF DP) 作为奖励模型,准确率为 61.75%,优于 LLaMA (45.09%) 和 PPO (46.03%)。
  7. 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彬彬侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值