大模型 RLHF 技术原理与实战解析
ChatGPT 区别于其他模型的亮点以及难以复现的原因,主要在于其独特的基础模型训练范式。OpenAI 雇佣了大量人员产生了几万条打分数据,RLHF(Reinforcement Learning from Human Feedback)的本质类似于激发了基础模型的能力。基础模型本身已经具备很强的能力,而 RLHF 通过相对较少的计算量将这种能力激发出来,使其更符合人类价值观。
背景由来
OpenAI 推出的 ChatGPT 对话模型掀起了新的 AI 热潮,它面对多种多样的问题对答如流,似乎已经打破了机器和人的边界。这一工作的背后是大型语言模型(Large Language Model, LLM)生成领域的新训练范式:RLHF,即以强化学习方式依据人类反馈优化语言模型。
过去几年里各种 LLM 根据人类输入提示(prompt)生成多样化文本的能力令人印象深刻。然而,对生成结果的评估是主观和依赖上下文的。例如,我们希望模型生成一个有创意的故事、一段真实的信息性文本或可执行的代码片段。这些结果难以用现有的基于规则的文本生成指标(如 BLEU 和 ROUGE)来衡量。
除了评估指标,现有的模型通常以预测下一个单词的方式和简单的损失函数(如交叉熵)来建模,没有显式地引入人的偏好和主观意见。为了解决上述问题,如果我们用生成文本的人工反馈作为性能衡量标准,或者更进一步用该反馈作为损失来优化模型,那不是更好吗?这就是 RLHF 的思想:使用强化学习的方式直接优化带有人类反馈的语言模型。RLHF 使得在一般文本数据语料库上训练的语言模型能和复杂的人类价值观对齐。
什么是 RLHF?
1. 强化学习
在了解 RLHF 之前,我们需要先知道什么是 RL。强化学习(RL)是一种机器学习,在这种学习中,个体(Agent)通过与环境的互动来学习做决定。个体采取行动以实现一个特定的目标,根据其行动接受奖励或惩罚形式的反馈。随着时间的推移,个体学会了做出决策的最佳策略,以使其收到的累积奖励最大化。
2. 基于人类反馈的强化学习
RLHF 是一个将强化学习与人类反馈相结合的框架,以提高个体在学习复杂任务中的表现。在 RLHF 中,人类通过提供反馈参与学习过程,帮助个体更好地理解任务,更有效地学习最优策略。将人类反馈纳入强化学习可以帮助克服与传统 RL 技术相关的一些挑战。人的反馈可以用来提供指导,纠正错误,并提供关于环境和任务的额外信息,而这些信息可能是个体自己难以学习的。
一些可以纳入 RL 的人类反馈的方式包括:
- 提供专家示范:人类专家可以示范正确的行为,个体可以通过模仿或利用示范与强化学习技术相结合来学习。
- 塑造奖励功能:人类的反馈可以用来修改奖励功能,使其更有信息量,并与期望的行为更好地保持一致。
- 提供纠正性反馈:人类可以在训练期间向个体提供纠正性反馈,使其从错误中学习并改善其表现。
3. RLHF 框架结构
RLHF 框架主要包括以下几个关键组成部分:
- 环境 (Environment):环境是个体所处的外部世界,它定义了任务的规则,以及个体可以执行的动作。环境对个体的行为做出反应,并提供状态信息和奖励。
- 个体 (Agent):个体是与环境互动并学习的主体。它通过观察环境状态,采取行动,并根据环境的反馈来调整其策略。
- 人类反馈 (Human Feedback):人类反馈是 RLHF 的核心组成部分。不同于传统强化学习只依赖预设的奖励函数,RLHF 中的个体能够直接从人类的反馈中学习。这种反馈可以是示范、指导、纠正甚至是奖励函数的直接调整。
- 学习算法 (Learning Algorithm):学习算法负责处理环境提供的数据和人类反馈,更新个体的决策策略。这可能包括模仿学习算法、策略优化算法等。
原理介绍
RLHF 的训练过程可以分解为三个核心步骤:
- 多种策略产生样本并收集人类反馈
- 训练奖励模型
- 训练强化学习策略,微调 LM
Step 1:预训练语言模型 + 有标签数据微调(可选)
首先需要一个预训练语言模型,通过大量的语料去训练出基础模型,对于 ChatGPT 来说就是 GPT-3。还有一个可选的 Human Augmented Text,又叫 Fine-tune。这里说直白点就是招人给问题(prompt)写示范回答(demonstration),然后让 GPT-3 去学习。Fine-tune 又叫有标签数据微调,概念比较简单,就是给到标准答案让模型去学习。实际想要用人工去撰写答案的方式来训练模型,成本是不可想象的,所以需要引入强化学习。


