cda吧 关注:3,654贴子:4,345
  • 1回复贴,共1

第三阶段:使用 PPO 模型微调 SFT 模型

只看楼主收藏回复

三、第三阶段:使用 PPO 模型微调 SFT 模型
本阶段不需要人工标注数据,而是利用上一阶段学习的RM模型,根据RM打分结果更新预训练模型参数。具体来说,首先从用户提交的prompt中随机选择一批新的指令(指的是不同于第一阶段和第二阶段的新提示),PPO模型参数由冷启动模型初始化。然后对于随机选取的prompt,使用PPO模型生成答案,使用前一阶段训练好的RM模型,提供一个评价答案质量的奖励分数,即RM对所有答案给出的整体reward。有了单词序列的最终回报,每个词可以看作一个时间步长,reward从后向前依次传递,由此产生的策略梯度可以更新PPO模型的参数。这是一个标准化的强化学习过程,目标是生成符合 RM 标准的高质量答案。
如果我们不断重复第二和第三阶段,很明显每次迭代都会让 LLM 模型变得越来越强大。因为在第二阶段,RM模型的能力通过人工标注数据得到增强,而在第三阶段,增强的RM模型更准确地评估新prompt生成的答案,并使用强化学习来鼓励LLM模型学习新的高质量内容 ,这类似于使用伪标签来扩展高质量的训练数据,从而进一步增强LLM模型。显然,第二阶段和第三阶段相辅相成,这就是为什么连续迭代的效果会越来越大。
不过小编认为,在第三阶段实施强化学习策略并不一定是Chat GPT模型如此出色的主要原因。假设第三阶段不使用强化学习,而是采用如下方法:与第二阶段类似,对于一个新的prompt,冷启动模型可能会生成X个答案,由RM模型打分。我们选择得分最高的答案组成新的训练数据<prompt, answer>,进入fine-tune LLM模型。假设换成这种模式,相信效果可能会比强化学习更好。虽然没那么精致,但效果不一定差很多。不管第三阶段采用哪种技术模型,本质上很可能是利用第二阶段学会的RM,从LLM模型中扩展出高质量的训练数据。
以上是Chat GPT训练过程。这是一个改进的 instruct GPT。改进主要是标注数据收集方法上的一些差异。其他方面,包括模型结构和训练过程,基本遵循instruct GPT。估计这种Reinforcement Learning from Human Feedback技术会很快扩散到其他内容创作方向,比如一个很容易想到的方向,类似“A machine translation model based on Reinforcement Learning from Human Feedback”等。不过个人认为在NLP的内容生成的特定领域采用这项技术并不是很重要,因为Chat GPT本身可以处理很多不同类型的任务,基本上涵盖了NLP产生的很多子领域。因此,对于NLP的某些细分领域,单独使用这项技术的价值并不大,其可行性可以认为是经过Chat GPT验证的。如果将该技术应用到其他模式的创作中,比如图像、音频、视频等,这或许是一个值得探索的方向。可能很快就会看到类似“A XXX diffusion model based on Reinforcement Learning from Human Feedback”之类的内容。


1楼2023-02-13 14:07回复


    来自Android客户端2楼2023-02-15 10:41
    回复