IIWAB ChatGPT强化学习 - IIWAB

ChatGPT强化学习

IIWAB 3天前 ⋅ 13 阅读

ChatGPT强化学习主要包括以下步骤,涉及SFT模型、RM模型及PPO算法:

  1. 带监督的微调(SFT模型)
    • 数据收集:选择一份提示列表,让一组人工标注人员写下预期的输出响应。提示来源包括标注人员或开发人员直接提供,以及从OpenAI的API请求中取样(即来自GPT - 3客户)。最终得到一个相对较小但高质量的管理数据集,大概有12 - 15k个数据点。
    • 模型选取与微调:在GPT - 3.5系列中选择一个预训练模型,利用收集到的数据集对其进行微调,学习监督策略,得到监督微调模型(SFT模型)。由于数据量有限,SFT模型可能输出用户不太关注的文本,且存在错位问题。
  2. 训练奖励模型(RM模型)
    • 生成输出并排序:选择一个提示列表,让SFT模型为每个提示生成多个(4 - 9个)输出。标注人员将这些输出从好到坏进行排序,生成一个新的标记数据集,其大小约为SFT模型数据集的10倍。
    • 模型训练:利用新生成的标注数据集训练奖励模型(RM)。该模型输入是一系列提示和响应,输出是一个缩放值,即奖励。RM模型将某些SFT模型输出作为输入,根据人类偏好对它们进行排序,从而学习出一个能给SFT模型输出打分的目标函数,该分值与人类对输出的可取程度成比例。
  3. 近端策略优化(PPO算法微调SFT模型):利用强化学习微调SFT策略,使其优化奖励模型。模型接收随机提示并返回响应,基于步骤2中开发的奖励模型,为提示和响应对确定缩放器奖励值,然后将奖励反馈到模型中以改进策略,使用的算法为近端策略优化(PPO)算法,微调后的模型称为PPO模型。在这一步中,由SFT模型初始化PPO模型,由奖励模型初始化价值函数。PPO算法在生成每个响应时更新模型的策略,通过包含来自SFT模型的每个代币Kullback - Leibler(KL)惩罚,减少响应与步骤1中训练的SFT模型输出之间的距离,避免过度优化奖励模型而与人类意图数据集偏差太大。

PPO算法是一种用于策略优化的强化学习算法,由John Schulman等人在2017年提出。其目标是找到一个策略,使得根据这个策略采取行动可以获得最大的累积奖励。它通过引入“代理”目标函数,将策略更新限制在较小范围内,避免了传统策略梯度方法因更新步长过大导致的策略崩溃和训练过程难以收敛的问题。


全部评论: 0

    我有话说: