ChatGPT RLHF学习笔记
RLHF是ChatGPT采用的一种重要训练方法,它通过人类反馈来指导模型的强化学习过程。整个RLHF训练可以分为以下四个主要步骤:
1. 预训练大语言模型(Step 0)
这是RLHF的基础步骤,通过海量互联网文本语料训练一个基础的大语言模型。这个阶段的模型主要完成"文字接龙"任务,但并不能很好地理解和执行人类指令。
2. 监督微调模型(Step 1)
这一步通过人工标注的问答数据集来微调预训练模型,使其学会回答问题而不是简单接话。主要特点:
- 构造prompt和对应的人工标注答案
- 数据量较小,成本高
- 采用监督学习方式微调
- 得到SFT(Supervised Finetune Training)模型
3. 训练Reward模型(Step 2)
这是RLHF的核心步骤,目标是构建一个可以评价模型输出质量的reward函数。主要方法:
- 对同一prompt收集多个回答
- 人工对回答进行相对优劣排序
- 不使用绝对分数,只比较两个答案的相对优劣
- 训练reward模型预测答案的质量分数
- 数据量在几十万条级别
4. PPO策略优化(Step 3)
这是最后的强化学习阶段,结合SFT模型和Reward模型进行迭代训练:
- 模型根据prompt生成回答
- Reward模型评估回答质量
- 使用PPO算法更新模型参数
- 目标函数包含三部分:
- Reward值最大化
- 与SFT模型输出分布相近(KL散度)
- 保持语言模型的基本能力
PPO算法的核心是:
- 限制每次参数更新的步长(clip)
- 保持新旧策略的相似性
- 确保训练过程的稳定性
RLHF的本质理解
RLHF本质上是通过Reward模型来模拟现实世界,为语言模型提供一个可以量化评估的环境。这类似于:
- Reward模型像是一个"虚拟世界"
- 语言模型在这个世界中不断尝试和学习
- 通过人类反馈来指导模型向着更好的方向演化
主要优势
- 可以持续优化模型表现
- 更符合人类偏好
- 训练过程更加稳定
- 效果优于单纯的监督学习
RLHF的创新之处在于它巧妙地解决了NLP领域强化学习的核心难题 - 如何构建有效的reward函数。通过人类反馈训练reward模型,为后续的强化学习提供了可靠的评价标准。这种方法既保持了强化学习的优势,又克服了传统方法的局限性。