6、InstructGPT论文笔记(人类反馈指令,对齐)

news/2024/12/26 6:10:41 标签: 论文阅读

InstructGPT论文笔记

  • 1、研究背景
  • 2、监督微调SFT,奖励模型RM,近端策略优化 PPO
    • 2.0 整个过程
    • 2.1 监督微调SFT
    • 2.2 奖励模型(Reward Model)
    • 2.3 强化学习(RL)和人类反馈强化学习(RLHF)
    • 2.4近端策略优化 PPO
  • 3、研究方法
    • 3.1 数据收集
    • 3.2任务(不同任务的要求(对齐):有帮助,无害,无毒)
    • 3.3模型训练
    • 3.4评估
    • 3.5评估相关图表
    • 3.6 实验结果
  • 4、附录说明
  • 5、总结

论文:Training language models to follow instructions with human feedback(训练语言模型遵循人类反馈的指示)
链接:https://arxiv.org/abs/2203.02155
Official Code:https://github.com/openai/following-instructions-human-feedback

RLHF人类反馈强化学习:(RLHF; Christiano et al., 2017; Stiennon et al., 2020) 。
PPO算法: PPO (Schulman et al., 2017)。舒尔曼,J.,沃尔斯基,F.,达里瓦尔,P.,拉德福德,A.和克里莫夫,O.(2017 年)。近端策略优化算法。arXiv 预印本 arXiv:1707.06347。(Schulman, J., Wolski, F., Dhariwal, P., Radford, A., and Klimov, O. (2017). Proximal policy optimization algorithms. arXiv preprint arXiv:1707.06347.)。

1、研究背景

  1. 研究背景
    • 语言模型的问题:大语言模型虽能处理多种自然语言任务,但常出现与用户意图不符的行为,如编造事实、产生有害或无帮助的输出,这是因为其训练目标与“遵循用户指令、有益且安全”的目标不一致。
    • 研究目的:通过训练使语言模型与用户意图一致,具体包括遵循指令、保持真实、避免有害输出等。
  2. 研究方法
    • 数据收集
      • 提示数据集:主要来自OpenAI API用户提交的文本提示,经过去重、过滤敏感信息等处理,分为训练、验证和测试集。还包括由标注人员编写的三种提示(普通、少样本、基于用户案例),用于启动模型训练。
      • 标注人员:约40名,通过筛选测试选择,主要来自美国或东南亚,在项目中负责提供示范数据、比较模型输出并评估。训练时优先考虑对用户的帮助性,最终评估时优先考虑真实性和无害性。
    • 模型训练
      • 监督微调(SFT):用标注人员的示范数据对GPT - 3进行监督学习训练,根据奖励模型(RM)得分选择最佳模型。
      • 奖励模型(RM)训练:基于SFT模型,训练其预测人类偏好的输出,使用交叉熵损失函数,通过比较不同输出的奖励差异进行训练。
      • 强化学习(RL):使用近端策略优化(PPO)算法,基于RM的奖励对SFT模型进行优化,还尝试将预训练梯度混合到PPO梯度中(PPO - ptx)以减少性能回归。

2、监督微调SFT,奖励模型RM,近端策略优化 PPO

2.0 整个过程

在这里插入图片描述
在这里插入图片描述

图 2:说明了我们方法的三个步骤的图表:(1) 监督微调 (SFT),(2) 奖励模型 (RM) 训练,以及 (3) 通过近端策略优化 (PPO) 对该奖励模型进行强化学习。蓝色箭头表示此数据用于训练我们的一个模型。在第 2 步中,方框 A-D 是来自我们模型的样本,这些样本按贴标机进行排名。有关我们方法的更多详细信息,请参见第 3 节。

3.1 高级方法
我们的方法遵循 Ziegler 等人(2019 年)和 Stiennon 等人(2020 年)的方法,他们将其应用于文体延续和摘要领域。我们从预训练的语言模型开始(Radford et al., 2019;Brown et al., 2020;Fedus et al., 2021;Rae et al., 2021;Thoppilan et al., 2022),一个我们希望模型产生对齐输出的提示分布,以及一个训练有素的人工贴标机团队(详见第 3.4 节)。然后,我们应用以下三个步骤(图 2)。

  • 步骤 1:收集演示数据,并训练受监督策略。我们的贴标机提供了 input prompt 分配上所需行为的演示(有关此分配的详细信息,请参见 Section 3.2)。然后,我们使用监督学习在此数据上微调预训练的 GPT-3 模型。
  • 第 2 步:收集比较数据,并训练奖励模型。我们收集了模型输出之间比较的数据集,其中标记者指示他们更喜欢给定输入的输出。然后,我们训练一个奖励模型来预测人类首选的输出。
  • 第 3 步:使用 PPO 根据奖励模型优化策略。我们使用 RM 的输出作为标量奖励。我们使用 PPO 算法微调监督策略以优化此奖励(Schulman et al., 2017)。

步骤 2 和 3 可以连续迭代;收集有关当前 Best 策略的更多比较数据,这些数据用于训练新的 RM,然后训练新策略。在实践中,我们的大部分比较数据来自我们的受监管保单,还有一些来自我们的 PPO 保单。

2.1 监督微调SFT

监督微调 (SFT)。我们使用监督学习在贴标机演示中微调 GPT-3。我们训练了 16 个 epoch,使用余弦学习率衰减和 0.2 的残差 dropout。我们根据验证集上的 RM 分数进行最终的 SFT 模型选择。与 Wu et al. (2021) 类似,我们发现我们的 SFT 模型在 1 个 epoch 后对验证损失进行了过度拟合;然而,我们发现,尽管存在这种过度拟合,但训练更多 epoch 对 RM 分数和人类偏好评级都有帮助。(最终 SFT 模型的选择是基于验证集上的 RM 分数,但并没有说 RM 模型参与了对 GPT-3 的这个微调操作。RM只是作为筛选模型)

附录D:
我们训练 SFT 模型 16 个 epoch,残差 dropout 为 0.2。我们使用低至原始学习率 10% 的余弦 LR 计划,没有学习率预热。对于我们的 1.3B 和 6B 模型,我们使用 LR 9.65e-6,批次大小为 32。对于 175B,我们使用 LR 为 5.03e-6,批次大小为 8。为了选择学习率,我们对 1.3B 和 6B 的 7 个 LR 和 175B 的 5 个 LR 进行了几何搜索。我们还使用几何搜索调整了 epoch 的数量。我们的最终模型是根据 RM 评分选择的,我们发现与 RM 评分相比,RM 评分更能预测人类偏好结果。

2.2 奖励模型(Reward Model)

机器学习中的奖励模型(Reward Model):
在机器学习中,RM模型的输入是问题和答案,输出是一个标量即RM分数.其计算过程如下:首先,人工对每个问题的多个答案进行排序,形成标注数据集.然后,将问题和答案的组合输入RM模型,得到对应的分数 。RM模型的损失函数采用Pairwise Ranking Loss,其目标是让排序高的答案对应的标量分数高于排序低的答案对应的分数,通过不断调整模型参数,使得损失函数最小化,从而使模型能够准确地对不同的答案进行评分.
参考:https://blog.csdn.net/weixin_45978522/article/details/137716515

奖励模型:
在这里插入图片描述
在这里插入图片描述
以下是对该损失函数 l o s s ( θ ) = − 1 C K 2 E ( x , y w , y l ) ∼ D [ log ⁡ ( σ ( r θ ( x , y w ) − r θ ( x , y l ) ) ) ] loss(\theta)=-\frac{1}{C_{K}^{2}}E_{(x,y_{w},y_{l})\sim D}[\log(\sigma(r_{\theta}(x,y_{w})-r_{\theta}(x,y_{l})))] loss(θ)=CK21E(x,yw,yl)D[log(σ(rθ(x,yw)rθ(x,yl)))] 的解释:

  • 整体结构
    • 这是一个基于期望( E E E)的损失函数,用于训练奖励模型(RM)。目标是通过最小化这个损失函数来调整模型的参数 θ \theta θ,使得模型能够更好地预测人类对不同模型输出的偏好。
  • 各部分含义
    • 1 C K 2 \frac{1}{C_{K}^{2}} CK21:这里的 C K 2 C_{K}^{2} CK2 表示从 K K K 个元素中选取 2 2 2 个元素的组合数。由于对于每个提示会产生 C K 2 C_{K}^{2} CK2 个比较,除以它是为了对所有的比较进行平均,确保损失函数在不同数量的比较情况下具有可比性。
    • E ( x , y w , y l ) ∼ D E_{(x,y_{w},y_{l})\sim D} E(x,yw,yl)D:表示对数据集 D D D 中的样本 ( x , y w , y l ) (x,y_{w},y_{l}) (x,yw,yl) 求期望。其中 x x x 是输入的提示(prompt), y w y_{w} yw 是在一对输出中更受人类标注者偏好的完成结果, y l y_{l} yl 是相对不那么受偏好的完成结果。
    • log ⁡ ( σ ( r θ ( x , y w ) − r θ ( x , y l ) ) ) \log(\sigma(r_{\theta}(x,y_{w})-r_{\theta}(x,y_{l}))) log(σ(rθ(x,yw)rθ(x,yl)))
      • r θ ( x , y w ) r_{\theta}(x,y_{w}) rθ(x,yw) r θ ( x , y l ) r_{\theta}(x,y_{l}) rθ(x,yl) 分别是奖励模型对于输入提示 x x x 和不同完成结果 y w y_{w} yw y l y_{l} yl 的标量奖励输出。它们的差值 r θ ( x , y w ) − r θ ( x , y l ) r_{\theta}(x,y_{w})-r_{\theta}(x,y_{l}) rθ(x,yw)rθ(x,yl) 表示模型对更受偏好和较不受偏好结果的奖励差异。
      • σ \sigma σ 通常是一个激活函数,如 sigmoid 函数,它将差值转换到 0 0 0 1 1 1 的范围内。
      • 最后取对数 log ⁡ \log log 是为了在计算损失时,更突出那些模型预测与人类偏好差异较大的情况,因为当预测错误较大时,对数函数的值会有较大的变化,从而使损失函数能够更有效地引导模型的训练。

总的来说,这个损失函数通过比较奖励模型对更受偏好和较不受偏好的输出的奖励差异,并在数据集上求期望来衡量模型的预测与人类实际偏好的不一致程度,通过最小化这个损失函数来训练奖励模型。

比较数据收集加速方法及问题

  • 加速收集方式:为了加快比较数据的收集,给标注者提供 K = 4 K = 4 K=4 K = 9 K = 9 K=9 个响应来进行排序。对于每个提示,这样会产生 C K 2 C_{K}^{2} CK2 个比较。例如,当 K = 4 K = 4 K=4 时,根据组合数公式 C n k = n ! k ! ( n − k ) ! C_{n}^{k}=\frac{n!}{k!(n - k)!} Cnk=k!(nk)!n!,可得 C 4 2 = 4 ! 2 ! ( 4 − 2 ) ! = 4 × 3 2 × 1 = 6 C_{4}^{2}=\frac{4!}{2!(4 - 2)!}=\frac{4\times3}{2\times1}=6 C42=2!(42)!4!=2×14×3=6 个比较。
  • 过拟合问题:在每个标注任务中,这些比较之间存在很强的相关性。如果只是简单地将这些比较打乱放入一个数据集,然后对这个数据集进行一次遍历训练,就会导致奖励模型过拟合。这是因为数据的相关性使得模型在学习过程中过度依赖这些特定的数据模式,而不能很好地泛化到其他数据情况。
  • 训练方式改进:将每个提示产生的所有 C K 2 C_{K}^{2} CK2 个比较作为单个批次元素来训练。

PairWise Ranking Loss:

  • PairWise Ranking Loss(成对排序损失)是一种在排序问题中广泛使用的损失函数。它主要用于衡量模型对样本对(pair of samples)相对顺序预测的准确性。
    在排序任务中,比如信息检索、推荐系统等场景,我们关心的是模型是否能够正确地将相关的物品排在不相关的物品之前。例如,在搜索引擎结果排序中,我们希望将用户更可能点击的网页排在前面;在推荐系统中,希望将用户更可能感兴趣的商品排在前面。

  • 常见的 PairWise Ranking Loss 函数形式

    1. Hinge Loss(折页损失)用于排序
      • 假设我们有一个排序模型,对于样本对 ( x i , x j ) (x_i,x_j) (xi,xj),模型输出的分数分别为 s i s_i si s j s_j sj(这里的分数可以是预测的相关性得分等)。如果 x i x_i xi 应该排在 x j x_j xj 之前(即 y i j = 1 y_{ij}=1 yij=1 y i j y_{ij} yij 是表示 x i x_i xi 是否应该排在 x j x_j xj 之前的标签),那么 Hinge Loss 形式如下:
      • L h i n g e ( s i , s j , y i j ) = max ⁡ ( 0 , m − ( s i − s j ) ) L_{hinge}(s_i, s_j,y_{ij})=\max(0, m - (s_i - s_j)) Lhinge(si,sj,yij)=max(0,m(sisj)),其中 m m m 是一个 margin(边距)参数。这个损失函数的直观理解是,当 s i − s j s_i - s_j sisj 大于等于 m m m 时,损失为 0,表示模型正确地排序了这两个样本;当 s i − s j s_i - s_j sisj 小于 m m m 时,损失会随着差值变小而增大,这就鼓励模型拉开正确排序的样本对之间的分数差距。
    2. Logistic Loss 用于排序
      • 同样对于样本对 ( x i , x j ) (x_i,x_j) (xi,xj),Logistic Loss 形式为:
      • L l o g i s t i c ( s i , s j , y i j ) = log ⁡ ( 1 + exp ⁡ ( − y i j ( s i − s j ) ) ) L_{logistic}(s_i, s_j,y_{ij})=\log(1+\exp(-y_{ij}(s_i - s_j))) Llogistic(si,sj,yij)=log(1+exp(yij(sisj)))。如果 y i j = 1 y_{ij}=1 yij=1,当 s i − s j s_i - s_j sisj 很大时,损失趋近于 0;当 s i − s j s_i - s_j sisj 趋近于 0 或者小于 0 时,损失会增大。这种损失函数将排序问题转化为类似于逻辑回归中的二分类问题,通过对样本对的相对顺序进行概率建模。
    NLP中奖励模型原理具体内容
    核心作用奖励模型主要用于评估自然语言处理任务中生成文本的质量,为语言模型的训练提供反馈信号,引导其生成更符合人类期望的文本。
    数据收集人工标注:收集人类对文本的评价数据,标注者按准确性、流畅性、连贯性、相关性等标准对文本打分或排序。
    自动生成:利用已有评价指标(如机器翻译任务中的BLEU、ROUGE等指标)自动生成相应数据。
    模型训练采用神经网络架构,以文本的特征表示作为输入,对应的奖励值作为输出,学习输入与奖励之间的映射关系。训练时,使用均方误差等损失函数,最小化预测奖励值和真实奖励值之间的差异,更新模型参数。
    奖励反馈与策略优化在语言模型生成文本过程中,奖励模型根据生成的文本状态给出奖励反馈,语言模型依据此反馈,使用强化学习的策略梯度方法等,朝着增加累计奖励期望的方向更新策略,调整生成文本的方式,以生成质量更高的文本。
    应用实例文本生成任务:奖励模型可根据语法、语义、风格等因素评估奖励。
    机器翻译:以BLEU等指标为参考,评估翻译质量,引导模型生成更优翻译结果。
    对话系统:奖励模型可评估对话的自然度、合理性等,使模型生成更贴合用户需求的回复。

2.3 强化学习(RL)和人类反馈强化学习(RLHF)

看看:https://zhuanlan.zhihu.com/p/613315873

  1. 强化学习(RL - Reinforcement Learning)基本概念

    • 定义:强化学习是机器学习中的一个领域,智能体(agent)在环境(environment)中采取一系列行动(action),环境会根据智能体的行动反馈一个奖励信号(reward)。智能体的目标是通过不断学习,找到一个最优策略(policy),使得长期累积的奖励最大化。
    • 举例:在机器人导航任务中,机器人(智能体)在房间(环境)中移动(行动),当它成功到达指定位置时会得到一个正向奖励,碰撞到障碍物会得到一个负向奖励。机器人通过不断尝试不同的移动方式,学习到一个最优的移动策略以获得最多的奖励。
  2. 人类反馈强化学习(RLHF - Reinforcement Learning from Human Feedback)基本概念

    • 定义:RLHF是强化学习的一种扩展方法。它将人类的反馈融入到强化学习的过程中,因为在一些复杂任务中,单纯依靠环境反馈的奖励信号可能不足以引导智能体学习到符合人类期望的最优策略。
    • 举例:在文本生成任务中,环境反馈的奖励信号可能只关注生成文本的语法正确性等基本因素。但通过RLHF,可以让人类标注者对生成文本的质量(如内容连贯性、风格是否符合要求等)进行打分,这些人类反馈的分数作为额外的奖励信号,引导语言模型学习到生成更符合人类期望的高质量文本的策略。
  3. RLHF与RL的联系

    • 基于RL框架:RLHF是建立在强化学习的基本框架之上的。它同样有智能体、环境、行动和奖励这些基本要素,只是在奖励信号的获取上,除了环境反馈外,还加入了人类反馈。
    • 学习目标相同:二者的最终目标都是为了让智能体找到一个最优策略。在RL中,智能体通过环境奖励来学习策略;在RLHF中,智能体综合利用环境奖励和人类反馈奖励来学习策略。
  4. 策略算法
    RLHF目前比较主流的优化方式有 3 种:BON,DPO 和 PPO。

    分类RL策略算法RLHF策略算法
    值迭代方法Q - Learning:无模型算法,通过更新Q值函数学习最佳策略,以贪婪策略选最大Q值动作。
    SARSA:和Q - Learning类似,基于当前策略学习,Q - Learning基于贪婪策略。
    DQN:结合Q - Learning和深度神经网络,用神经网络逼近Q值函数,用于复杂环境。
    /
    策略梯度方法REINFORCE:基于蒙特卡洛方法的策略梯度算法,折扣时间步奖励来计算和更新策略梯度。
    PPO:策略优化方法,控制更新幅度,保证训练稳定性。
    TRPO:约束策略更新范围,适用于连续空间任务,保护已学知识。
    A3C:用多个并行线程训练多个代理,异步更新加速训练,用于大规模任务。
    /
    演员 - 评论员方法A2C:A3C同步版本,单线程训练,结合演员和评论员思想。
    DDPG:适用于连续动作空间,基于演员 - 评论员结构,结合深度学习和确定性策略梯度。
    TD3:对DDPG改进,减少Q值估计偏差,有双Q网络和延迟更新策略。
    /
    模仿学习与逆向强化学习行为克隆:通过监督学习模仿专家行为,用状态 - 动作对训练。
    逆向强化学习:观察专家行为推测奖励函数,据此训练代理学最优策略。
    逆向强化学习:从人类行为推奖励函数,用此函数进行策略学习,用于难明确奖励函数的复杂任务。
    模型基方法Dyna - Q:结合Q - Learning和环境模型,模拟环境生成样本学习。
    Model - based RL:学习环境动态模型辅助决策,提高样本效率。
    /
    奖励模型/奖励建模:据人类反馈(数值奖励或好坏标注)生成奖励模型,代理依此训练。
    奖励建模 + RL:用人工奖励反馈增强信号,用标准RL算法优化。
    偏好学习/基于偏好的强化学习:用人类相对偏好指导代理学习,提升策略性能。
    人类选择偏好反馈:代理通过人类偏好选择(如行为对偏好)学习,不直接用奖励信号。
    模仿学习与人类示范/行为克隆:监督学习模仿人类示范,学状态 - 动作映射,用于RL初期。
    示范引导的强化学习:结合人类示范和RL,初期用示范引导,后用RL优化。
    基于人类反馈的策略优化/人类反馈强化学习:在RL中融入人类奖励信号或偏好信息,优化代理策略,用于复杂动态环境。

2.4近端策略优化 PPO

PPO论文:(Schulman, J., Wolski, F., Dhariwal, P., Radford, A., and Klimov, O. (2017). Proximal policy optimization algorithms. arXiv preprint arXiv:1707.06347.)
在这里插入图片描述
在 RL 训练中最大化以下组合目标函数:
o b j e c t i v e ( ϕ ) = E ( x , y ) ∼ D π ϕ R L [ r θ ( x , y ) − β l o g ( π ϕ R L ( y ∣ x ) / π S F T ( y ∣ x ) ) ] + γ E x ∼ D p r e m a i n [ l o g ( π ϕ R L ( x ) ) ] \begin{aligned} objective (\phi)= & E_{(x, y) \sim D_{\pi_{\phi}^{RL}}}\left[r_{\theta}(x, y)-\beta log \left(\pi_{\phi}^{RL}(y | x) / \pi^{SFT}(y | x)\right)\right]+ \\ & \gamma E_{x \sim D_{premain }}\left[log \left(\pi_{\phi}^{RL}(x)\right)\right] \end{aligned} objective(ϕ)=E(x,y)DπϕRL[rθ(x,y)βlog(πϕRL(yx)/πSFT(yx))]+γExDpremain[log(πϕRL(x))] 其中 π ϕ R L \pi_{\phi}^{RL} πϕRL 是学习的 RL 策略, π S F T \pi^{SFT} πSFT 是监督训练模型, D p r e t r a i n D_{pretrain } Dpretrains 预训练分布,KL 奖励系数β和预训练损失系数γ分别控制 KL 惩罚和预训练梯度的强度,对于 “PPO” 模型,γ设置为 0,除非另有说明,本文中 InstructGPT 是指 PPO-ptx 模型。

以下是对所给公式及相关原理的详细分析解释:

  1. 整体目标与原理
    在强化学习(RL)训练中,目标是通过调整模型参数来最大化目标函数(objective function),以此让模型学习到更好的策略,以解决在公共自然语言处理(NLP)数据集上出现的性能倒退(performance regressions)问题。这里通过将预训练(pretraining)梯度混合到近端策略优化(Proximal Policy Optimization,PPO)梯度中构建了“PPO - ptx”模型,并使用这个特定的目标函数来指导训练过程。

  2. 公式各部分含义及原理

    • 期望项 E ( x , y ) ∼ D π ϕ R L E_{(x, y) \sim D_{\pi_{\phi}^{RL}}} E(x,y)DπϕRL
      期望(expectation)在概率论中用于衡量随机变量的平均取值情况。这里 E ( x , y ) ∼ D π ϕ R L E_{(x, y) \sim D_{\pi_{\phi}^{RL}}} E(x,y)DπϕRL 表示基于由强化学习策略 π ϕ R L \pi_{\phi}^{RL} πϕRL 所确定的分布 D π ϕ R L D_{\pi_{\phi}^{RL}} DπϕRL 来对 ( x , y ) (x, y) (x,y) 进行期望计算。其中 x x x 通常可以看作是输入(比如一段文本提示等), y y y 则是对应的输出(模型针对输入 x x x 生成的回复等)。也就是说,要从由当前强化学习策略决定的众多输入输出对的分布情况中,综合考虑来计算后续相关部分的平均情况,以反映整体的性能表现。
    • 奖励项 r θ ( x , y ) r_{\theta}(x, y) rθ(x,y)
      r θ ( x , y ) r_{\theta}(x, y) rθ(x,y) 表示对于输入 x x x 和输出 y y y ,由参数为 θ \theta θ 的奖励模型给出的奖励值。奖励模型的作用是衡量模型生成的输出是否符合人类期望等标准,奖励值越高,说明输出在某种程度上越符合要求。在目标函数中加入这一项,就是引导强化学习朝着生成更能获得高奖励(也就是更符合人类期望)的输出方向进行训练,让模型学习到什么样的回复对于给定的输入是更好的选择。
    • 相对熵(KL 散度)相关项 − β log ⁡ ( π ϕ R L ( y ∣ x ) / π S F T ( y ∣ x ) ) -\beta \log \left(\pi_{\phi}^{RL}(y | x) / \pi^{SFT}(y | x)\right) βlog(πϕRL(yx)/πSFT(yx))
      • π ϕ R L ( y ∣ x ) \pi_{\phi}^{RL}(y | x) πϕRL(yx) 表示强化学习策略 π ϕ R L \pi_{\phi}^{RL} πϕRL 在给定输入 x x x 的情况下生成输出 y y y 的概率,也就是强化学习训练后模型生成相应输出的概率分布情况。
      • π S F T ( y ∣ x ) \pi^{SFT}(y | x) πSFT(yx) 是监督训练模型(supervised trained model)在给定输入 x x x 时生成输出 y y y 的概率分布。
      • log ⁡ ( π ϕ R L ( y ∣ x ) / π S F T ( y ∣ x ) ) \log \left(\pi_{\phi}^{RL}(y | x) / \pi^{SFT}(y | x)\right) log(πϕRL(yx)/πSFT(yx)) 计算的是两个概率分布之间的相对熵(也叫 KL 散度)的一部分。KL 散度用于衡量两个概率分布的差异程度,乘以系数 β \beta β 后作为惩罚项出现在目标函数中。通过这个惩罚项,可以使得强化学习训练得到的策略 π ϕ R L \pi_{\phi}^{RL} πϕRL 不至于与监督训练得到的模型 π S F T \pi^{SFT} πSFT 的输出分布差异过大,保证一定的稳定性和合理性,避免过度偏离监督训练所确定的良好模式。所以在训练过程中,模型会尽量在使输出符合人类期望获得高奖励的同时,保持与监督训练模型输出分布的相似性,以此来平衡探索新策略和遵循已有良好模式之间的关系。
    • 预训练梯度相关项 γ E x ∼ D pretrain [ log ⁡ ( π ϕ R L ( x ) ) ] \gamma E_{x \sim D_{\text{pretrain}}}\left[\log \left(\pi_{\phi}^{RL}(x)\right)\right] γExDpretrain[log(πϕRL(x))]
      • 首先, D pretrain D_{\text{pretrain}} Dpretrain 是预训练分布,这里关注的只是输入 x x x 的情况,涉及到预训练阶段数据的分布特性。
      • 计算的是在预训练分布下,关于 log ⁡ ( π ϕ R L ( x ) ) \log \left(\pi_{\phi}^{RL}(x)\right) log(πϕRL(x)) 的期望,乘以系数 γ \gamma γ 后加入到目标函数中。这个项的作用就是引入预训练阶段的梯度信息,通过调整系数 γ \gamma γ 的大小来控制预训练梯度对整个强化学习训练目标的影响强度,帮助修复在公共 NLP 数据集上的性能问题。当 γ \gamma γ 为 0 时,就相当于不引入预训练梯度信息,对应的模型就是普通的“PPO”模型;而通过调整 γ \gamma γ 为合适的非零值,可以让预训练的信息融入到强化学习训练当中,得到“PPO - ptx”模型,以此来改善模型在公共 NLP 数据集上的性能表现。
  3. 系数的作用原理

    • KL 奖励系数 β \beta β:它控制着 KL 惩罚(KL penalty)的强度,也就是控制相对熵项在目标函数中所占的权重大小。如果 β \beta β 值较大,那么模型在训练过程中会更注重保持与监督训练模型输出分布的相似性,避免过度偏离;反之,如果 β \beta β 较小,相对熵项的约束作用就会减弱,模型可以更自由地探索不同的输出分布,但也可能增加过度偏离监督训练模式的风险。
    • 预训练损失系数 γ \gamma γ:用于控制预训练梯度在整个目标函数中的影响力大小。如前面所述,通过改变 γ \gamma γ 的取值,可以灵活决定是否引入以及引入多少预训练阶段的知识来辅助强化学习训练,以达到改善模型在公共 NLP 数据集上性能的目的。

综上所述,整个目标函数通过综合考虑奖励、与监督训练模型的分布差异以及预训练梯度等因素,来引导“PPO - ptx”模型在强化学习训练过程中朝着既能符合人类期望、又能利用预训练知识修复性能问题的方向进行优化,通过调整系数 β \beta β γ \gamma γ 可以进一步精细地控制训练过程中的各种权衡关系。

概念解释
智能体(agent)在上述过程中,智能体主要是指经过监督微调(SFT)后,再通过近端策略优化(PPO)算法在特定环境下进一步微调的模型(如文中提到的“PPO”模型以及融入预训练梯度的“PPO - ptx”模型等),它会接收环境给出的提示信息,并依据自身策略生成相应的回复,根据环境反馈的奖励来调整自身策略,不断学习优化,以更好地契合人类期望及提升性能表现。
环境(environment)呈现为一种“bandit环境”,其主要作用是向智能体随机提供客户提示(即文本形式的输入内容),在智能体针对该提示给出回复(行动)后,环境会根据奖励模型来确定一个对应的奖励值反馈给智能体,然后结束此次的交互环节(episode),通过这样的奖励反馈机制引导智能体不断学习优化其行为策略。
行动(action)指智能体(也就是相关模型)针对环境所提供的客户提示所做出的具体回应行为,具体体现为模型生成的回复内容(例如针对某个问题给出的文本答案等),该回复的生成是由智能体的策略所决定的,不同的策略下针对相同提示可能生成不同的回复内容。
奖励(reward)由奖励模型依据智能体的回复(行动)以及对应的客户提示来确定的一个数值。奖励的作用在于衡量智能体生成的输出是否符合人类期望、是否符合任务要求等标准,若回复内容准确、合理且贴合用户意图等,那么奖励值就会相对较高,智能体在训练过程中的目标之一就是通过不断调整优化策略来获取更高的奖励值,进而使自身性能不断提升。
策略(policy) π R L φ \pi_{RL}^{\varphi} πRLφ 表示,它是智能体(模型)用于生成行动(回复)的一套规则机制,决定了在给定输入(客户提示)的情况下,模型生成不同结果(回复)的概率分布情况。在强化学习训练过程中,策略会通过最大化目标函数(包含考虑奖励、KL散度惩罚、预训练梯度等因素的目标函数)的方式不断进行调整优化,同时,KL奖励系数(\beta)和预训练损失系数(\gamma)分别控制着KL惩罚和预训练梯度对策略调整的影响强度,以此来平衡模型在探索新策略与遵循已有良好输出模式(如监督训练模型( π S F T \pi^{SFT} πSFT)的模式)之间的关系,促使模型性能逐步提升。

π \pi π表示的是策略,这里的策略是模型
π R L φ \pi_{RL}^{\varphi} πRLφ:预训练模型
π S F T \pi^{SFT} πSFT:监督微调后的模型

参考:https://zhuanlan.zhihu.com/p/613315873
在这里插入图片描述
在这里插入图片描述

3、研究方法

3.1 数据收集

提示数据集:主要来自OpenAI API用户提交的文本提示,经过去重、过滤敏感信息等处理,分为训练、验证和测试集。还包括由标注人员编写的三种提示(普通、少样本、基于用户案例),用于启动模型训练。
标注人员:约40名,通过筛选测试选择,主要来自美国或东南亚,在项目中负责提供示范数据、比较模型输出并评估。训练时优先考虑对用户的帮助性,最终评估时优先考虑真实性和无害性。

项目描述
OpenAI API- 数据来源:来自OpenAI API用户提交的文本提示prompts,经去重、过滤等处理后用于模型训练
- 应用场景:供用户调用OpenAI训练好的语言模型(如GPT - 3等)用于自然语言处理任务,包括文本生成、翻译、问答等
- 作用:提供反映实际用户需求的数据,便于开发者将模型集成到应用中
Labeler(标注人员)- 人员情况:约40名,主要来自美国或东南亚,通过筛选测试选出
- 工作内容:提供示范数据用于监督微调(SFT),比较和评估模型输出
- 标注重点:训练时优先考虑对用户的帮助性,最终评估时优先考虑真实性和无害性
- 对模型影响:标注结果直接影响模型训练,如奖励模型(RM)基于标注人员偏好进行训练

在这里插入图片描述
在表 1 中,我们显示了承包商标记的 API 提示(特别是 RM 数据集)的用例类别分布。大多数用例都是生成式的(其中生成(Generation)用例占比 45.6%,说明在用户提交的提示中,此类任务最为常见),而不是分类或 QA。我们还在表 2 中展示了一些说明性提示(由研究人员编写,以模拟提交给 InstructGPT 模型的提示类型);提交给 InstructGPT 模型的更多提示显示在附录 A.2.1 中,提交给 GPT-3 模型的提示显示在附录 A.2.2 中。我们在附录 A 中提供了有关我们数据集的更多详细信息。

为了训练最初的 InstructGPT 模型,我们要求标注人员自行编写提示。这是因为我们需要一个类似指令的初始提示源来启动这个过程,而这类提示通常不会被提交到 API 上的常规 GPT-3 模型中。我们要求标注人员编写三种提示:

  • 普通(Plain)提示:简单地让标注人员想出任意任务,同时确保任务具有足够的多样性。这样可以收集到各种不同类型的任务指令,为模型训练提供丰富的素材。
  • 少样本(Few-shot)提示:要求标注人员提出一个指令,并为该指令提供多个查询/响应对。例如,指令可以是“给出一条推文的情感倾向”,查询就是推文内容,响应则是“积极”或“消极”等。通过这种方式,模型可以学习从少量示例中进行推理和生成合适的响应,有助于提高模型在类似任务上的表现。
  • 基于用户(User-based)提示:OpenAI API 的申请中有许多用例,我们让标注人员根据这些用例想出相应的提示。这使得模型能够更好地适应实际应用中的各种需求场景,从用户的实际使用角度出发进行训练,增强模型在实际应用中的实用性。

3.2任务(不同任务的要求(对齐):有帮助,无害,无毒)

训练任务来源:训练任务主要来自标注人员编写的提示和通过 API 提交给早期 InstructGPT 模型的提示。这些提示涵盖多种自然语言任务,如生成、问答、对话、摘要等,其中 96% 以上是英语提示。
任务指定方式:对于自然语言提示,任务可以通过直接的自然语言指令、少量示例间接指定或隐式延续来确定。标注人员需推断用户意图,对于不明确的任务可以跳过,并考虑回复的真实性和避免有害输出(如偏见或有毒语言)。我们的贴标员还会根据我们提供给他们的说明(见附录 B)和他们的最佳判断,考虑隐含的意图,例如回复的真实性,以及潜在的有害输出,例如有偏见或有毒的语言。

任务的评估要求:(附录B)
我们在表 10 中展示了我们在提示分布( prompt distribution)上进行最终评估的指令节选,在表 11 中展示了在 RealToxicityPrompts 分布上的指令节选。
在这里插入图片描述
图 10:摘自给贴标机的说明,用于对我们的 prompt distribution 上的模型输出进行最终评估。我们在此处提供完整的说明。
在这里插入图片描述
图 11:向贴标机提供的完整说明,用于评估模型输出在 RealToxicityPrompts 分布上的毒性。

标注人员先逐一评估每个输出的质量,然后综合考虑所有来自相同提示的输出,对它们进行质量上的排序,如果有两个输出质量难以区分,标注人员可以将它们排在相同的位置。
在这里插入图片描述

属性定义判断标准
遵循指令语言模型按照用户明确给出的任务或问题要求进行回应- 内容与用户指令直接相关
- 能够完成指令中所要求的操作(如总结、翻译、创作等)
毒性语言模型产生包含攻击性、侮辱性、歧视性、仇恨性语言的内容- 存在侮辱性词汇(如脏话、贬损特定人群的词汇)
- 具有攻击性语句(如威胁、挑衅)
有害性模型生成的内容可能导致身体、心理或社会伤害,范围比毒性更广泛。语言模型生成的内容可能会对个人、群体、社会造成不良影响,包括身体伤害、心理伤害、社会秩序破坏等- 可能导致身体伤害(如错误的医疗建议)
- 可能引发心理伤害(如传播恐惧、焦虑内容)
- 可能扰乱社会秩序(如传播不实的社会事件引发恐慌)
真实性语言模型生成的内容符合客观事实- 与科学知识、历史事实等相符
- 不存在虚假、编造的内容
有帮助语言模型生成的内容能够协助用户解决问题、获取知识、做出决策等- 提供的内容与用户问题相关
- 内容能够在解决问题、获取知识等方面起到正面作用(如提供问题解决方案、相关知识解释)
幻觉是指模型生成的内容没有事实根据,无中生有,像是编造不存在的人物成就或事件过程。事实依据:如果内容与客观事实、公认知识相违背,就可能是幻觉。例如,说太阳从西边升起。 上下文连贯:与给定的上下文逻辑不一致,或者突兀地出现不符合主题的内容,有可能是幻觉。

遵循指令、毒性、有害性(毒性)、真实性(幻觉)、有帮助、幻觉、偏见区别

3.3模型训练

相关方法参考本文的第二章。
监督微调(SFT):用标注人员的示范数据对GPT - 3进行监督学习训练,根据奖励模型(RM)得分选择最佳模型。
奖励模型(RM)训练:基于SFT模型,训练其预测人类偏好的输出,使用交叉熵损失函数,通过比较不同输出的奖励差异进行训练。
强化学习(RL):使用近端策略优化(PPO)算法,基于RM的奖励对SFT模型进行优化,还尝试将预训练梯度混合到PPO梯度中(PPO - ptx)以减少性能回归。

和其他模型对比
FLAN 和 T0 模型的获取方式(附录C):
通过在 FLAN 和 T0 数据集上对 175B 的 GPT - 3 模型进行微调来得到 FLAN 和 T0 这两个基线模型(baselines)。对于 T0 模型,需要注意的是使用的是 T0++ 版本的数据集来进行训练。
这段内容主要是关于模型性能对比的相关说明:
- 首先将PPO模型的性能与SFT模型、GPT - 3进行比较,以此来观察PPO模型在经过强化学习微调后,相较于监督微调模型以及原始的大规模预训练模型的表现差异。
- 还把PPO模型与GPT - 3 - prompted对比,GPT - 3 - prompted是通过给GPT - 3添加少量示例作为前缀使其进入指令遵循模式的模型,通过对比可了解不同引导模型遵循指令方式下的性能优劣。
- 另外将InstructGPT(文中常指代“PPO - ptx”模型)与在FLAN和T0数据集上对175B的GPT - 3进行微调得到的模型对比。

3.4评估

内容如下:(对齐详细参考本文3.2)

  • 对齐的定义与衡量标准:在语言任务中,以模型符合用户意图为目标,参考 Askell 等人的框架,从有帮助、诚实、无害三个方面定义和衡量模型的对齐程度。
    • 有帮助:模型需能遵循指令并推断意图,主要依靠标注者偏好评分判断,但标注者与实际用户可能存在意图理解偏差。
    • 诚实:因难以直接测量,通过评估模型在封闭域任务中的“幻觉”情况和使用 TruthfulQA 数据集来衡量其真实性。
    • 无害:鉴于模型输出危害的场景依赖性,早期让标注者评估是否有害的方法存在局限,现采用评估输出在客户助手情境下是否合适、是否贬低受保护类等代理标准,并结合相关数据集进行评估。
  • 具体评估方式
    • API 分布评估:主要依据来自与训练集相同来源的留出提示集上的人类偏好评分,同时考虑到训练提示可能对 GPT - 3 基线不利,也会在提交给 GPT - 3 模型的提示上评估。计算每个模型输出相较于 175B SFT 基线模型更受偏好的频率,还要求标注者对响应质量进行 1 - 7 李克特评分并收集元数据。
    • 公共 NLP 数据集评估:对两类公共数据集进行评估,一类涉及语言模型安全方面(如真实性、毒性、偏差),另一类关乎传统 NLP 任务(如问答、阅读理解、总结)的零样本性能,同时在 RealToxicityPrompts 数据集上开展人类毒性评估,并发布模型在采样型 NLP 任务上的样本。

3.5评估相关图表

在这里插入图片描述
图1:对我们的API提示分布上的各种模型进行的人工评估,通过每个模型的输出优于175BSFT模型 的输出的频率进行评估。我们的InstructGPT模型(PPO-ptx)及其未经预训练混合训练的变体(PPO)显 着优于GPT-3基线(GPT,提示GPT);我们的1.3BPPO-ptx模型的输出优于175BGPT-3的输出。整 篇论文中的误差线都是95%的置信区间。

参数定义说明
Model size(横轴)表示不同模型的参数规模,分别为1.3B(13亿参数)、6B(60亿参数)和175B(1750亿参数)
Win rate against SFT 175B(纵轴)表示各模型相对于175B的监督微调(SFT)模型的胜率,范围从0到0.6
PPO - ptx(红色线)使用近端策略优化(PPO)算法并结合预训练梯度混合(ptx)的模型的胜率变化曲线
PPO(橙色线)使用近端策略优化(PPO)算法的模型的胜率变化曲线
SFT(绿色线)使用监督微调(SFT)的模型的胜率变化曲线
GPT (prompted)(浅蓝色线)使用GPT模型且有提示(prompted)的胜率变化曲线
GPT(深蓝色线)使用GPT模型的胜率变化曲线
  • 胜率趋势
    随着模型大小从 1.3B 增加到 175B,所有模型的胜率都呈现上升趋势。
    PPO-ptx、PPO 和 SFT:这三种模型在胜率上升趋势上较为相似,且在 175B 时胜率最高,接近 0.6。
    GPT (prompted) 和 GPT:这两种模型的胜率上升较为平缓,且在 175B 时胜率低于其他三种模型,分别约为 0.5 和 0.3。
  • 总结
    图中展示了不同模型在不同大小下的胜率变化,说明了模型大小对胜率的影响。
    可以看出,使用 PPO-ptx、PPO 和 SFT 算法的模型在较大模型大小时表现出更高的胜率。
    GPT 模型及其有提示的版本在相同模型大小时胜率较低。

在这里插入图片描述
图 3:我们模型的偏好结果,通过相对于 175B SFT 模型的胜率来衡量。左图:在 API 上提交给 GPT 模型的提示的结果;右:在 API 上提交给 InstructGPT 模型的提示的结果;上图:保留贴标机的结果;下图:训练贴标机的结果。我们在提交给 GPT-3 模型(左)的提示的评估中省略了 GPT(提示),因为这些提示已经设计为在 GPT-3 中表现良好,而不是提交给 InstructGPT 模型的提示(右)。

这张图片展示了几个柱状图,比较了不同模型(包括 GPT、prompted、SFT、PPO、PPO - ptx)在不同分布(GPT distribution 和 Instruct distribution)下的胜率(win rate against SFT 175B)和帮助输出工作者(Helpout workers)的表现,模型大小有 1.3B、6B 和 175B 三种。这些数据可能与自然语言处理模型的性能评估相关。
图3展示了通过相对于175B SFT模型的胜率来衡量的模型偏好结果:

一、图的结构

  1. 左右对比
    • 左图:展示了提交给API上的GPT模型的提示(prompts)的结果。
    • 右图:展示了提交给API上的InstructGPT模型的提示的结果。
  2. 上下对比
    • 上图:来自预留标注者(held - out labelers)的结果。
    • 下图:来自训练标注者(training labelers)的结果。

GPT distribution 和 Instruct distribution的区别:GPT distribution 侧重于自然语言文本本身的分布,而 Instruct distribution 侧重于带有任务指令的文本分布,它们在模型训练和评估中起到不同的作用。

held - out labelers和training labelers区别:
Held - out labelers(预留标注者)
这些标注者没有参与模型的训练过程。他们独立地对模型的输出进行标注和评估,用于测试模型在未接触过的标注者视角下的性能表现,其目的是为了得到更客观、更具普遍性的模型评估结果。
Training labelers(训练标注者)
这些标注者参与了模型训练过程中的标注工作。他们标注的数据可能被用于训练模型,使其学习到如何生成符合标注者期望的输出。他们的标注可能会对模型的训练产生直接影响。

在这里插入图片描述
图4:API分布上的元数据结果。请注意,由于数据集的大小,这些结果会在模型大小之间折叠。有关包含模型大小的分析,请参见附录E.2。与GPT-3相比,PPO模型更适合客户助理的上下文,更擅长遵循指令中的明确约束并尝试正确的指令,并且不太可能“幻觉”(即编造封闭域任务的信息,如摘要)。
图中所用的指标如下:

  1. Attempts correct instruction(尝试遵循正确指令)
    该指标衡量模型是否尝试遵循正确的指令。
  2. Follows explicit constraints(遵循明确约束)
    此指标评估模型是否能够遵循明确的约束条件。
  3. Hallucinations(幻觉)
    该指标用于衡量模型产生幻觉(即生成不符合事实或无根据内容)的情况。
  4. Uses language appropriate for customer assistant(使用适合客户助手的语言)
    此指标评估模型所使用的语言是否适合客户助手场景。

3.6 实验结果

  1. 实验结果
    • API分布结果
      • 输出偏好:标注人员显著更喜欢InstructGPT输出,1.3B参数的InstructGPT模型输出优于175B的GPT - 3,且能更好地遵循指令约束,在生成任务中更可靠。
      • 模型泛化:对未参与训练数据的标注人员,InstructGPT模型同样表现出色,奖励模型也能较好地推广到新标注人员。
      • 与其他模型对比:在API提示分布上,InstructGPT优于基于公共NLP数据集微调的FLAN和T0模型,因为公共数据集多样性不足且与实际使用情况差异较大。
    • 公共NLP数据集结果
      • 真实性提升:在TruthfulQA基准测试中,InstructGPT模型生成真实和信息丰富答案的频率约为GPT - 3的两倍,在非对抗性选择的问题上表现更优,在封闭域任务中编造信息的情况也更少。
      • 毒性降低但偏差未改善:在RealToxicityPrompts数据集中,InstructGPT在被要求生成尊重性输出时,毒性低于GPT - 3,但在偏差评估数据集(Winogender和CrowS - Pairs)中,未显著优于GPT - 3。
      • 性能回归缓解:通过修改RLHF微调程序(如PPO - ptx),在我们的 PPO 微调 (PPO-ptx) 中添加预训练更新可以减轻所有数据集上的这些性能回归,,可减少在公共NLP数据集上的性能回归,在某些数据集上甚至超过GPT - 3,但仍需进一步研究和优化。
    • 定性结果
      • 指令泛化能力:InstructGPT能在非英语语言指令和代码相关任务中表现出一定能力,如总结代码、回答代码问题等,尽管在这些领域的训练数据较少。
      • 仍存在简单错误:如在面对错误前提的指令时可能出错、过度模糊回答简单问题、在多约束指令下性能下降等。

4、附录说明

附录A: 其他提示(prompt)数据详细信息,数据集示例prompt和,打标人员(labeler)的详细信息,3.2节
附录 A.2.1 中,提交给 GPT-3 模型的提示显示在附录 A.2.2 中。我们在附录 A 中提供了有关我们数据集的更多详细信息。
提交给 InstructGPT 模型的更多提示在附录 A.2.1 中展示,提交给 GPT - 3 模型的提示在附录 A.2.2 中展示。

附录B: 其他人类数据收集详细信息,Labeler 打标人员的情况以及对他们的要求,3.3节
我们在表 10 中展示了我们在提示分布( prompt distribution)上进行最终评估的指令节选,在表 11 中展示了在 RealToxicityPrompts 分布上的指令节选。

附录C: 其他型号详细信息,模型训练的详细情况,比如具体的训练参数设置(学习率、批次大小、训练轮次等)、数据处理方式等,可以参考附录 C 的内容,3.5节

附录D:自动评估细节,RealToxicityPrompts上毒性评估, 4.2节

附录E: 其他结果,模型对齐相关实验的结果,4节

附录F: 模型样本,一些任务的prompt输入和输出演示

5、总结

“Training language models to follow instructions with human feedback”由OpenAI团队撰写,主要介绍了通过人类反馈微调使语言模型(如GPT-3)与用户意图对齐的研究。

  1. 研究背景
    • 语言模型的问题:大语言模型虽能处理多种自然语言任务,但常出现与用户意图不符的行为,如编造事实、产生有害或无帮助的输出,这是因为其训练目标与“遵循用户指令、有益且安全”的目标不一致。
    • 研究目的:通过训练使语言模型与用户意图一致,具体包括遵循指令、保持真实、避免有害输出等。
  2. 研究方法
    • 数据收集
      • 提示数据集:主要来自OpenAI API用户提交的文本提示,经过去重、过滤敏感信息等处理,分为训练、验证和测试集。还包括由标注人员编写的三种提示(普通、少样本、基于用户案例),用于启动模型训练。
      • 标注人员:约40名,通过筛选测试选择,主要来自美国或东南亚,在项目中负责提供示范数据、比较模型输出并评估。训练时优先考虑对用户的帮助性,最终评估时优先考虑真实性和无害性。
    • 模型训练
      • 监督微调(SFT):用标注人员的示范数据对GPT - 3进行监督学习训练,根据奖励模型(RM)得分选择最佳模型。
      • 奖励模型(RM)训练:基于SFT模型,训练其预测人类偏好的输出,使用交叉熵损失函数,通过比较不同输出的奖励差异进行训练。
      • 强化学习(RL):使用近端策略优化(PPO)算法,基于RM的奖励对SFT模型进行优化,还尝试将预训练梯度混合到PPO梯度中(PPO - ptx)以减少性能回归。
  3. 实验结果
    • API分布结果
      • 输出偏好:标注人员显著更喜欢InstructGPT输出,1.3B参数的InstructGPT模型输出优于175B的GPT - 3,且能更好地遵循指令约束,在生成任务中更可靠。
      • 模型泛化:对未参与训练数据的标注人员,InstructGPT模型同样表现出色,奖励模型也能较好地推广到新标注人员。
      • 与其他模型对比:在API提示分布上,InstructGPT优于基于公共NLP数据集微调的FLAN和T0模型,因为公共数据集多样性不足且与实际使用情况差异较大。
    • 公共NLP数据集结果
      • 真实性提升:在TruthfulQA基准测试中,InstructGPT模型生成真实和信息丰富答案的频率约为GPT - 3的两倍,在非对抗性选择的问题上表现更优,在封闭域任务中编造信息的情况也更少。
      • 毒性降低但偏差未改善:在RealToxicityPrompts数据集中,InstructGPT在被要求生成尊重性输出时,毒性低于GPT - 3,但在偏差评估数据集(Winogender和CrowS - Pairs)中,未显著优于GPT - 3。
      • 性能回归缓解:通过修改RLHF微调程序(如PPO - ptx),在我们的 PPO 微调 (PPO-ptx) 中添加预训练更新可以减轻所有数据集上的这些性能回归,,可减少在公共NLP数据集上的性能回归,在某些数据集上甚至超过GPT - 3,但仍需进一步研究和优化。
    • 定性结果
      • 指令泛化能力:InstructGPT能在非英语语言指令和代码相关任务中表现出一定能力,如总结代码、回答代码问题等,尽管在这些领域的训练数据较少。
      • 仍存在简单错误:如在面对错误前提的指令时可能出错、过度模糊回答简单问题、在多约束指令下性能下降等。
  4. 研究讨论
    • 对对齐研究的意义:该研究是使AI系统与人类意图对齐研究的一部分,证明了通过RLHF微调可提高模型对齐性,且成本相对较低,模型能在一定程度上推广指令遵循能力,但仍需更多研究来改进方法。
    • 对齐的对象:模型对齐到一组标注人员的偏好,受多种因素影响,包括标注人员自身、研究人员的指导、API用户的需求等,但当前方法存在局限性,需要考虑更多利益相关者的偏好。
    • 研究的局限性:方法上,标注人员的身份和判断可能影响模型行为,且数据收集方式可改进;模型本身既不完全对齐也不完全安全,仍会产生有害输出,且可能遵循有害指令。
    • 未来研究方向:探索减少有害输出的方法,如对抗训练、结合其他技术;训练模型拒绝有害指令;尝试其他算法和反馈方式;改进RLHF以进一步减少性能回归;设计更公平、透明、具有广泛共识的对齐过程。
    • 广泛影响:该研究旨在使语言模型更好地遵循用户意图,但这也可能带来被滥用的风险,如生成误导性信息等。对齐技术应是更广泛安全生态系统的一部分,需考虑模型在不同领域的应用风险,以及如何确保模型对齐到合适的价值观。

http://www.niftyadmin.cn/n/5799894.html

相关文章

蓝桥杯物联网开发板硬件组成

第一节 开发板简介 物联网设计与开发竞赛实训平台由蓝桥杯大赛技术支持单位北京四梯科技有限公司设计和生产,该产品可用于参加蓝桥杯物联网设计与开发赛道的竞赛实训或院校相关课程的 实践教学环节。 开发板基于STM32WLE5无线微控制器设计,芯片提供了25…

vue前端编译报错解决方法

如果控制台报错:(其他报错信息往下滑,下面的解决方法可以解决大部分的报错,不只是这一种) ERROR Error loading vue.config.js: ERROR TypeError: defineConfig is not a function TypeError: defineConfig is not a f…

Python + 深度学习从 0 到 1(02 / 99)

希望对你有帮助呀!!💜💜 如有更好理解的思路,欢迎大家留言补充 ~ 一起加油叭 💦 欢迎关注、订阅专栏 【深度学习从 0 到 1】谢谢你的支持! ⭐ 手写数字分类: Keras MNIST 数据集 手写数字分类…

Ruby+Selenium教程

什么是 Minitest? Minitest 是 Ruby 的测试框架,提供一整套测试工具。它运行速度快,支持 TDD、BDD、模拟和基准测试 以下是使用Ruby、Selenium WebDriver和Minitest 的脚本,用于断言 Restful Booker Platform 的“页面标题”等于…

航天航空工程与材料技术

航天航空工程与材料技术是现代科技领域中最具挑战性和前瞻性的学科之一,涉及到人类对空天领域的探索、开发和利用。从早期的航天飞行到如今的空间站建设、卫星发射、深空探测等,航天航空工程在推动人类科技进步、提升国家综合实力方面发挥了重要作用。随…

Jenkins 构建流水线

在 Linux 系统上安装 Jenkins 服务,以及配置自动化构建项目 前置准备环境:docker、docker-compose、jdk、maven 一、环境搭建 1. Jenkins 安装 (1)拉取镜像 # 安装镜像包,默认安装最新版本 docker pull jenkins/jen…

微服务核心概念介绍

微服务架构的核心概念包括: 1. 服务拆分与粒度:将应用程序按照业务领域或功能边界拆分为多个粒度适中的服务,每个服务都负责完成一项具体的业务功能或流程。 2. 自治性:每个微服务都是自治的,意味着它们可以独立地进行…

Web 漏洞之 CSRF 漏洞挖掘:攻防深度剖析

目录 一、引言 二、CSRF 漏洞的概念 三、攻击者视角下的 CSRF 漏洞挖掘与利用 (一)攻击原理与条件 (二)漏洞分类及利用方式 (三)漏洞发现手法 (四)高级应用场景及绕过方法 四…