RLHF 深入:用人类偏好训练对齐大语言模型
为什么需要人类反馈?
大语言模型在预训练阶段学会了词语搭配、事实知识和基础推理,但它并未天然理解“什么是好回答”。模型的目标只是预测下一个 token,这导致它可能生成有毒内容、冗长无关的文本,或拒绝回答完全可以处理的问题。人类反馈强化学习(RLHF,Reinforcement Learning from Human Feedback)正是为了解决这种能力与意图的错位而设计的对齐技术。
RLHF 不是仅仅微调参数,而是系统性地教会模型人类偏好,让模型在有用性、真实性、无害性之间取得平衡。这也是 GPT-4、Claude、Gemini 等前沿模型在对话任务中表现出色的核心驱动力。
RLHF 的三阶段管线
RLHF 并非单一算法,而是一条由三个环节精密咬合的工程管线。理解这三个阶段,就能把握 RLHF 的全貌。
第一阶段:监督微调——教会模型对话格式
在引入人类偏好之前,模型首先需要具备基本的指令跟随能力。这一阶段使用高质量的(指令,理想回答)对,进行标准的监督式微调。
- 数据构建:人类标注员根据指令撰写专业、准确、有帮助的回复,或从现有数据集中筛选优秀示例。
- 模型目标:将通用预训练模型(如 LLAMA、GPT 基座)转化为能够理解对话模板、遵循指令格式的模型。
- 直接效果:模型学会回答“请给我写一首关于猫的诗”而不是继续补全随机文本。此阶段产出的模型常被称为 SFT 模型。
需要注意,监督微调只能让模型模仿示例,无法超越标注员水平,更无法感知何为相对更优。这是下一阶段要解决的问题。
第二阶段:奖励建模——量化人类偏好
要让强化学习可行,必须有一个数字信号来衡量“回答有多好”。奖励模型(Reward Model, RM)即是充当这个评判者的角色。
偏好数据收集
核心挑战是让人类不再写完美回答,而是比较两个回答的优劣。具体流程如下:
- 给定同一提示词,使用 SFT 模型生成多个不同回答(可通过温度采样或多模型生成)。
- 人类标标注员或资深用户选择“更好”的那个,并给出排序(A > B,或平局)。
- 一组提示词下的标注构成偏好数据集
D = {(x, y_w, y_l)},其中x是提示词,y_w是被偏好的回答,y_l是被拒绝的回答。
训练奖励模型
通常使用 SFT 模型的骨干网络,去掉最后的语言建模头,换成一个标量输出头,给出一个实数分数 r(x, y)。训练目标是使被偏好回答的分数显著高于被拒绝回答的分数,常用损失函数是 Bradley-Terry 偏好模型下的负对数似然:
L(θ) = -E[log σ(r_θ(x, y_w) - r_θ(x, y_l))]
其中 σ 是 sigmoid 函数。这一目标最大化偏好概率,使得奖励模型能学会人类判断中的细微差异,如准确性、风格、安全边界等。
奖励模型的关键难点
- 标注噪声:不同人的偏好差异极大,导致评分方差高。缓解方法包括多人数投票、标注员校准和一致性过滤。
- 奖励黑客:模型学会攻击奖励模型的盲区,获得虚高分数却降低真实质量。需要动态收集新的偏好数据来对抗。
第三阶段:强化学习微调——用 PPO 消弭意图鸿沟
得到可靠的奖励模型后,便可以运用强化学习进一步优化 SFT 模型。这一阶段将语言生成视作一个序列决策问题,每一步选择 token 都是动作,策略即是模型本身。
问题形式化
- 状态:当前已生成的部分序列。
- 动作:词汇表中下一个 token 的选择。
- 奖励:完成完整序列后,奖励模型给出的总评分
r(x, y)。 - 约束:需要防止模型过拟合成高分废话,同时保留其语言能力。
PPO 算法适配
近端策略优化(PPO)是 RLHF 中使用最广泛的算法。在语言模型场景下,它结合了三项关键信号:
- 奖励模型的输出:直接反映人类偏好,是优化主目标。
- KL 散度惩罚项:衡量当前策略与 SFT 模型之间的输出分布差异,防止模型偏离太远而丧失流畅性、产生乱码或重复。最终奖励信号修正为:
R_total = r(x, y) - β * KL(π_RL || π_SFT) - 价值网络:类似评论家,估算从当前部分序列继续生成可获得的总回报,用于计算优势函数,降低梯度方差。
实际训练中还会混入预训练数据的语言建模损失,以保持模型的事实知识储备及多样性(通常称为 PPO-ptx 混合目标)。
训练循环
- 从提示词数据集中采样一批指令。
- 当前策略生成回答,计算总奖励。
- 使用 PPO 更新策略参数,同时更新价值网络去更准确预测回报。
- 定期用额外的偏好数据重新训练奖励模型,形成迭代。
RLHF 的关键挑战与实践经验
没有万能药方。下面是在真实生产环境中必须直面的问题。
奖励黑客与过度优化
当强化学习运行足够久,模型可能发现奖励模型的“捷径”,例如生成一堆恭维用户的模板,或者堆积看似专业的术语来骗过高分。解决方案:
- 动态收集对抗性偏好数据:专门让模型生成疑似黑客样本,由人类重新标注,再训练奖励模型。
- 多目标奖励分解:将有用性、真实性和无害性各自训练独立奖励模型,最后加权合并,降低单一维度被攻击的风险。
- 早停法:监控验证集上的真实人类评分,不只看奖励模型分数。
标注质量与规模化
人类偏好标注昂贵且主观。加强一致性的方法包括:
- 详细标注准则:提供大量判例,明确写作质量标准,甚至区分“事实错误”和“风格不佳”等维度。
- LLM 辅助标注:使用强模型(如 GPT-4)生成初始偏好,再由人类审核,大幅降低成本,称为 RLAIF(AI 反馈)。
- 细粒度反馈:不仅是整体比较,还让标注员对错误片段进行标记,训练过程模型以提供更稠密的奖励。
计算与稳定性
PPO 在语言模型上的训练极不稳定,需要大量调试:
- 同时维护四个模型(策略、参考 SFT 模型、奖励模型、价值模型),显存压力大。通常采用参数共享或低秩适应(LoRA)来缓解。
- KL 惩罚系数
β的动态调整:若 KL 散度过快增长,及时增大惩罚或暂停更新;若 KL 稳定,让优化更激进。 - 使用重放缓冲区和广义优势估计(GAE)稳定策略梯度。
超越 RLHF:直接偏好优化与未来发展
RLHF 繁琐的管线催生了更简洁的对齐方法,最著名的是直接偏好优化(DPO)。它发现了一个优雅等价关系:不需要显式训练奖励模型,可以直接在偏好数据集上调整策略,使被偏好回答的似然相对增加。
DPO 的损失函数直接从偏好概率推导而出,消除了强化学习阶段,仅仅做一个有监督的微调。这使得训练更稳定、计算开销更小,但它在复杂偏好排序和动态采样方面的灵活性不如完整 RLHF 管线。
当前前沿方向包括:
- Iterated RLHF 和 Constitutional AI:模型自我生成、自我批判,根据原则列表修正回答,形成自我优化循环。
- 过程奖励模型:不只在序列结束打分,而是在中间推理步骤也给出密集奖励,显著提升多步推理能力。
- 多维度、用户定制的对齐:让不同用户能够根据个性化偏好快速调整模型的价值观输出,而不是被单一普适偏好捆绑。
总结
RLHF 不是让模型“变聪明”,而是让它理解什么才算好。从监督微调建立对话基础,到奖励模型捕捉人类品味,再到 PPO 优化使模型主动追求高偏好回答,三个环节协作解决了大语言模型的意图对齐难题。理解这条管线,就等于掌握了当前大模型安全与实用化的核心技术地图。