1
为何使用强化学习?
随着 ChatGPT 等大型语言模型的发布,人们对“RLHF 训练(即基于人类反馈的强化
学习训练)”的重要性进行了诸多讨论。在训练语言模型方面,我一度困惑于为什么
强化学习比从演示中学习(也称为监督学习)更好,难道从演示中学习(或根据语
言模型术语中的“指令微调”,学习模仿人类写的回答)还不够?我提出了一个有说服
力的理论论据。不过我意识到还有另一个论点,它不仅支持强化学习训练,而且尤
其适用于 ChatGPT 等模型。
2
背景:监督学习 vs 强化学习
简要地解释一下这两种学习场景,以便我们能够达成共识。如果你已经了解了这些
内容,可以跳过此部分。预训练:在这两种设置中,首先我们假设语言模型在大量
的文本上进行预训练,以预测下一个 token。因此,对于每个词序列,我们有一个
模型可对潜在的下一个词的选项分配概率。通过这种方式,模型会获得语言的某种
内部表示。经过这一过程,模型的生成文本能力会变强,且能够根据给定文本前缀,
生成符合自然习惯的后续文本,但它并不擅长“交流”。例如,当提示(prompted)一
个问题时,模型可能会回答该问题或者生成一系列附加问题,也可能会回答这是一
个在......的上下文中提出的重要问题等等。这些都是遵循自然语言文本问题的有效延
续(continuation)。我们可以通过编写输入文本,来使模型执行我们所希望的语言
行为,该延续会解决我们的问题(也被称之为“提示工程”),但是对于只想提出问题
或指令就让模型进行回答的非专家用户来说,这种交互模式并不非常方便。如果我
们希望模型能够持续回答查询而不是仅仅完成当前指令,就需要对其进行引导,这
个过程称之为“微调”,即继续训练预训练模型,进而使其表现出我们想要的行为(有
些人称这是“对齐”模型与使用者期望行为)。监督训练:在监督学习中(也称为从演
示中学习或“指令微调”),我们会收集一组人类编写的文本,这些文本以问题或指令
的形式出现,并包含了期望的输出。例如,这些文本可以是某一问题和答案,或者
是像带有人类编写总结的 summarize the following text {text}这样的任务。通过在相
同的“给定前缀预测下一个 token”的目标上继续训练模型,但这次是在指令-输出对
集合上,模型学会通过执行指令来响应。即模型接收到给定问题的正确输出的演示,
并学会复制输出结果。我们希望通过这种方式将其泛化到训练中尚未出现的问题中
去。强化学习(RL):在强化学习中,我们为模型提供指令,但并不提供人工编写的
答案。模型需要自己生成答案。评分机制(例如人类)会读取生成的答案,并告诉
模型这些答案的质量。模型的目标是如何回答以获得高分。另一种机制是模型生成
多个答案,评分机制告诉模型哪个答案最好。模型的目标是学习生成高分的答案,
而不是低分的答案。在这两种情况下,模型通过生成答案并接收反馈来学习。(注意: