Loading [MathJax]/jax/output/CommonHTML/jax.js

logo

RLHF

Reinforcement Learning from Human Feedback

wangzf / 2025-07-05


目录

RLHF 介绍

引言

基于人类反馈的强化学习(RLHF)是一种将人类信息融入人工智能系统的技术。 RLHF 主要作为一种解决难以明确指定问题的方法而出现。

RLHF 的基本流程包括三个步骤:

早期 RLHF 方法的总结如图 1 所示:

img

在现代语言模型训练中,RLHF 是 Post-Training 的一个组成部分。 Post-Training 是一套更完整的技术和最佳实践,旨在使语言模型更适合下游任务。 Post-Training 可以总结为使用三种优化方法:

  1. 指令微调(Instruction Finetuning, IFT)/监督微调(Supervised Finetuning, SFT), 我们通过这种方法教授格式化和指令遵循能力。这主要涉及学习语言中的特征。
    • Instruction Finetuning
      • In-Context Learning
      • Indexing
      • Prompt-tuning
    • Supervised Finetuning
      • Feature-based
  2. 偏好微调(Preference Finetuning, PreFT),我们将其与人类偏好对齐(同时获得更小的能力提升)。 这主要涉及语言风格和难以量化的微妙人类偏好。
    • DPO(Direct Preference Optimization):Preference-tuning
  3. 强化微调(Reinforcement Finetuning, RFT)。这是最新的一种 Post-Training 微调方法, 可提升在可验证领域的性能。

RLHF 是做什么的?

现代研究已将 RLHF 确立为一种通用方法,用于将细微的样式和相关行为特征整合到模型中。 与其他 Post-Training 技术(如指令微调)相比, RLHF 在跨领域泛化方面表现远好——这有助于创建有效的通用模型。

直观上,这可以从优化技术的应用方式中看出。 指令微调是训练模型在文本前缀接近其已见过的示例时预测下一个特定标记。 它是在优化模型以更规律地在文本中输出特定特征。这是一种 按标记(per-token)的更新

而 RLHF 是在响应级别上调整响应,而不是特别关注下一个标记。 此外,它是在告诉模型什么样的响应更好,而不是它应该学习的特定响应。 RLHF 还向模型展示它应该避免的响应类型,即负面反馈。 实现这一目标的训练通常称为 对比损失函数(contrastive loss function)

虽然这种灵活性是 RLHF 的主要优势,但也带来了实施挑战。 这些挑战主要集中在对优化过程如何进行控制上。 正如本书将涵盖的内容,实施 RLHF 通常需要训练一个奖励模型, 而最佳实践尚未完全建立,且取决于应用领域。因此,优化过程本身容易导致过度优化, 因为我们的奖励信号最多只是一个代理目标,需要正则化。 考虑到这些局限性,有效的 RLHF 需要一个良好的起点, 因此 RLHF 不能单独解决所有问题,而需要在更广泛的 Post-Training 处理视角下进行考虑。

由于这种复杂性,实现 RLHF 的成本远高于简单的指令微调,并可能带来长度偏差(length bias)等意外挑战。 对于性能至关重要的项目,RLHF 被认为是实现强大微调模型的关键,但在计算成本、数据成本和时间上更为昂贵。

Post-Training

将对 Post-Training 潜力的直观理解, 称为 Post-Training 过程的 启发式解释(elicitation interpretation), 我们所做的只是提取和放大基模型中的有价值行为。

以一级方程式(F1)为例,大多数车队在年初就配备了新的底盘和发动机。 然后,他们全年都在研究空气动力学和系统改进(当然,这是一种轻微的过度简化), 从而显著提升车辆性能。最好的 F1 车队在一个赛季中的改进程度远超过底盘之间的改进。

Post-Training 的改进也是如此。最好的 Post-Training 改进团队在极短的时间内提取了大量性能。 这一系列技术包括大多数预训练结束后的所有技术, 例如:“训练中(mid-training)” 的退火/高质量预训练网络数据、指令微调、RLVR、偏好微调等。

然后,当你看到像 GPT-4.5 这样的模型时,你可以将其视为 OpenAI 构建更动态和令人兴奋的基础。 我们还知道,更大的基础模型可以吸收比它们更小的模型多样化的变化。 这意味着扩展(scaling)也使得 Post-Training 的优化过程能更快进行。 当然,要做到这一点,你需要有训练模型的基础设施。这就是为什么所有最大的公司仍在建造庞大的集群。 这一理论符合现实情况,即用户目前看到的大部分收益都来自 Post-Training 的优化, 因为这意味着互联网上预训练的模型中存在更多潜在的潜力, 而不仅仅是通过在早期训练类型(即仅指令微调)中反复传递某些狭窄样本来教给模型。

如果我们改变数据,对模型性能和行为的影响可能会更大,但这远非“表面问题(superficial)”。 如今的基座语言模型(未经后训练)可以通过强化学习训练解决一些数学问题, 学会输出完整的思维推理链,然后在一系列推理评估中(如 BigBenchHard、Zebra Logic、AIME 等)获得更高的分数。

表面一致性假设是错误的,原因与那些认为 RLHF 和后训练只是氛围的人仍然错误相同。 这是我们 2023 年必须克服的领域性教训(许多人工智能观察者仍然根深蒂固于这一点)。 后训练已经远远超越了这一点,我们开始认识到模型所依赖的行为风格——例如现在流行的长链思维。

定义与背景

LM

Language Modeling

大多数现代语言模型被训练以 自回归(autoregressive) 方式学习 词元(token)序列(单词、子词或字符)联合概率分布。 自回归简单来说是指每个下一个预测依赖于序列中的先前实体。给定一个词元序列 x=(x1,x2,,xT), 模型将整个序列的概率分解为条件分布的乘积:

Pθ(x)=Tt=1Pθ(xt|x1,,xt1).

为了拟合一个能够准确预测这一点的模型,目标通常是最大化当前模型对训练数据的预测似然。 为此,我们可以最小化负对数似然(NLL)损失:

LLM(θ)=ExD[Tt=1logPθ(xtx<t)].

在实践中,人们使用 交叉熵损失(cross-entropy) 来评估每个下一个词的预测, 通过将序列中的真实词与模型预测的词进行比较来计算。

实现语言模型可以有多种形式。现代语言模型,包括 ChatGPT、Claude、Gemini 等, 通常使用 仅解码器的 TransfoReward Modeler(decoder-only TransfoReward Modeler)。 TransfoReward Modeler 的核心创新是大量利用 自注意力机制(self-attention), 使模型能够直接关注上下文中的概念并学习复杂的映射。 LM 头是一个最终的线性投影层,它将模型内部的嵌入空间映射到分词器空间(即词汇表(vocabulary))。 可以使用不同的注意力头来重用模型的内部结构,并微调它以输出不同形状的量。

ML

Kullback-Leibler(KL) divergenceDKL(P||Q)),也称为 KL 散度, 是衡量两个概率分布之间差异的度量。对于定义在相同概率空间 X 上的离散概率分布 PQ, 从 QP 的 KL 距离定义为:

DKL(P||Q)=xXP(x)log(P(x)Q(x))

NLP

RL

maxθEsρπ,aπθ[t=0γtrt]

其中 ρπ 是策略 π 下的状态分布,γ 是折扣因子。

RLHF

扩展词汇表

Training

问题定义

RLHF 的优化建立在标准的强化学习设置上。在强化学习中,智能体根据环境状态 s, 从策略 π 中采样动作 a,以最大化奖励 r,下面是标准的强化学习循环。

img

一般,环境通过转换(transition)或动态函数(dynamics function) p(st+1|st,at) 进行演变。 因此,在有限回合中,强化学习智能体的目标是解决以下优化问题:

J(π)=Eτπ[t=0γtr(st,at)],

其中 γ 是一个从 01 的折扣因子,用于平衡近期和未来奖励的期望值。

标准强化学习配置

从标准的 RL 设置到 RLHF 存在多个核心变化:

微调于正则化

优化工具

下面是标准的强化学习循环:

img

标准训练

参考