Note
经典 RLHF 流程的三个阶段分别是什么?
按输入、输出和目标梳理监督微调、奖励模型训练与策略优化。
请详细阐述经典RLHF流程的三个核心阶段。在每个阶段,输入是什么,输出是什么,以及该阶段的关键目标是什么?
经典的RLHF流程(由OpenAI的InstructGPT论文提出)包含三个核心阶段:
阶段一:监督微调(Supervised Fine-Tuning, SFT)
- 输入: 一个高质量的、由人工编写或筛选的指令跟随数据集。数据格式通常是(指令 Prompt, 理想回答 Response)。
- 输出: 一个经过微调的基础语言模型,我们称之为SFT模型。
- 关键目标: 让预训练好的LLM初步具备理解和遵循人类指令的能力。这是为后续阶段提供一个良好初始策略(policy)的基础,让模型先学会“说什么话”,而不是“胡言乱语”。
阶段二:训练奖励模型(Reward Model, RM)
- 输入: 一个人类偏好比较数据集。生成这个数据集的流程是:
- 从指令数据集中采样一个Prompt。
- 用第一阶段的SFT模型对该Prompt生成多个(通常是2到4个)不同的回答。
- 由人类标注者对这些回答进行排序,选出最好的和最差的。数据格式通常是(Prompt, 胜出回答
y_w, 落败回答y_l)。
- 输出: 一个奖励模型(RM)。这个模型能够输入任何(Prompt, Response)对,并输出一个标量分数,这个分数代表了人类对该回答的偏好程度。
- 关键目标: 学习一个能够模仿和泛化人类偏好的函数。这个RM将作为下一阶段强化学习的“环境”或“裁判”,为LLM的探索提供指导信号。
阶段三:近端策略优化(Proximal Policy Optimization, PPO)
- 输入:
- 第一阶段的SFT模型(作为初始策略)。
- 第二阶段训练好的RM(作为奖励函数)。
- 一个新的、用于策略探索的指令数据集。
- 输出: 经过RLHF对齐的最终语言模型。
- 关键目标: 使用强化学习来进一步微调SFT模型。在这个阶段,模型(作为Agent)会针对一个Prompt生成一个回答(Action),奖励模型(作为Environment)会给这个回答打分(Reward),然后通过PPO算法更新模型参数,使其生成的回答能在获得高奖励的同时,又不过于偏离原始SFT模型的风格和内容,从而实现“对齐”。