1.简单介绍强化学习?

强化学习(Reinforcement Learning,RL)研究的问题是智能体(Agent)与环境(Environment) 交互的问题,其目标是使智能体在复杂且不确定的环境中最大化奖励(Reward)。

强化学习基本框架如图所示,主要由两部分组成:智能体和环境。在强化学习过程中,智能体与环境不断交互。智能体在环境中获取某个状态后,会根据该状态输出一个动作(Action),也称为决策(Decision)。动作会在环境中执行,环境会根据智能体采取的动作,给出下一个状态以及当前动作所带来的奖励。智能体的目标就是尽可能多地从环境中获取奖励。本节中将介绍强化学习的基本概念、强化学习与有监督学习的区别,以及在大语言模型中基于人类反馈的强化学习流程。

image.png

强化学习在大语言模型上的重要作用可以概括为以下几个方面:

  1. 强化学习比有监督学习更可以考虑整体影响:有监督学习针对单个词元进行反馈,其目标是要求模型针对给定的输入给出的确切答案。而强化学习是针对整个输出文本进行反馈,并不针对特定的词元。
  2. 强化学习更容易解决幻觉问题:有监督学习算法非常容易使得求知型查询产生幻觉。在模型并不包含或者知道答案的情况下,有监督训练仍然会促使模型给出答案。而使用强化学习方法,则可以通过定制奖励函数,将正确答案赋予非常高的分数,放弃回答的答案赋予中低分数,不正确的答案赋予非常高的负分,使得模型学会依赖内部知识选择放弃回答,从而在一定程度上缓解模型幻觉问题。
  3. 强化学习可以更好的解决多轮对话奖励累积问题:使用强化学习方法,可以通过构建奖励函数,将当前输出考虑整个对话的背景和连贯性。

2.简单介绍一下RLHF?

RLHF就是基于人类反馈(Human Feedback)对语言模型进行强化学习(Reinforcement Learning),一般分为以下三个步骤:

  1. 预训练语言模型(收集样本数据,有监督微调):在人类标注的数据上微调出来的模型叫有监督的微调(supervised fine-tuning),这是训练出来的第一个模型;

image.png

  1. 训练奖励模型(收集排序数据,训练奖励模型):

image.png

  1. 用强化学习微调(使用RM模型优化SFT模型):继续微调之前训练好的SFT模型,使得它生成的答案能够尽量得到一个比较高的分数,即每一次将它生成的答案放进RM中打分,然后优化SFT的参数使得它生成的答案在RM中获得更高的分数。

image.png

备注:两次对模型的微调:GPT3模型→SFT模型→RL模型,其实这里始终都是同一个模型,只是不同过程中名称不同。