LLM 后训练
LLM后训练是将强化学习应用于大语言模型对齐的前沿领域。预训练阶段的LLM本质上是一个 "next-token predictor",它学会了在海量文本上预测下一个token的概率分布,但这并不意味着它会按照人类的期望行事。后训练的目标就是通过各种强化学习方法,让模型从 "会说话" 变成 "说人话"。
本笔记从RL的视角出发,深入讲解从RLHF到GRPO、从DPO到RLVR的各种后训练方法,重点放在数学推导和算法原理上。
为什么需要后训练
Pretraining的局限
预训练的目标函数是标准的语言建模损失:
这个目标让模型学会了 "给定前文,什么token最可能出现"。但 "最可能出现的token" 和 "人类期望看到的token" 之间存在根本性的差距:
- 互联网文本中充斥着有害、虚假、带有偏见的内容,模型忠实地学会了这些分布
- 语言模型没有 "拒绝" 的概念 -- 它只会继续补全文本
- 多个合理回答中,模型无法判断哪个更符合人类偏好
SFT的必要性与不足
SFT(Supervised Fine-Tuning)是后训练的第一步,在高质量的 (instruction, response) 数据对上做监督学习:
SFT教会了模型 "回答问题" 的基本格式和行为模式,但它有本质局限:
- 监督信号的稀缺性: 高质量的标注数据极其昂贵,尤其是需要领域专家撰写的回答
- 泛化能力有限: SFT只能模仿训练数据中出现的回答模式,无法泛化到新的场景
- 无法区分好坏: SFT把所有训练数据同等对待,无法学习 "哪种回答更好"
- Exposure Bias: 训练时看到的都是正确的前缀,但推理时可能生成错误的前缀,导致错误累积
后训练的RL视角
将LLM后训练建模为强化学习问题,是一个极其自然的框架:
| RL概念 | LLM后训练中的对应 |
|---|---|
| Agent(智能体) | LLM |
| Policy(策略) \(\pi_\theta\) | LLM的参数化条件分布 \(P_\theta(y \mid x)\) |
| State(状态) \(s_t\) | Prompt \(x\) + 已生成的tokens \(y_{<t}\) |
| Action(动作) \(a_t\) | 下一个token \(y_t\) |
| Trajectory(轨迹) \(\tau\) | 完整的生成序列 \(y = (y_1, y_2, \ldots, y_T)\) |
| Reward(奖励) \(r\) | 人类偏好分数 / Reward Model输出 / 可验证奖励 |
| Environment(环境) | 对话上下文 + 评估机制 |
注意这个RL问题的几个特殊性:
- 巨大的动作空间: 词表大小通常在 \(32{,}000 \sim 150{,}000\),远超一般RL问题
- Sparse Reward: 奖励通常只在生成结束时给出,中间步骤没有奖励信号
- 确定性环境: 给定状态和动作,下一个状态是确定的(自回归拼接)
- 策略即是生成过程: 策略的随机性完全来自token的采样
RLHF (Reinforcement Learning from Human Feedback)
RLHF是InstructGPT(Ouyang et al., 2022)系统化提出的对齐方法,也是ChatGPT背后的核心训练技术。它的核心思想是:用人类的偏好反馈来构造奖励信号,再用RL算法优化LLM的策略。
RLHF的完整流程分为三个阶段。前两个阶段(SFT和Reward Model训练)为第三阶段的RL优化做准备。
Stage 1: SFT (Supervised Fine-Tuning)
在预训练模型上,用高质量的 (instruction, response) 数据对做标准的监督微调,得到初始策略 \(\pi_{\text{SFT}}\)。这一步的目的是给模型一个合理的起点,让它至少学会 "回答问题" 的基本格式。
Stage 2: Reward Model Training
这是RLHF中最关键的一步:训练一个Reward Model来模拟人类的偏好判断。
数据收集
给定一个prompt \(x\),让SFT模型生成多个回答,然后请人类标注者进行偏好排序。最常见的形式是成对比较:给定两个回答 \(y_w\)(preferred/winner)和 \(y_l\)(dispreferred/loser),标注 \(y_w \succ y_l\)。
Bradley-Terry模型
为了将离散的偏好标注转化为连续的奖励函数,RLHF采用了经典的Bradley-Terry偏好模型。该模型假设人类选择 \(y_w\) 优于 \(y_l\) 的概率与两者奖励之差的sigmoid成正比:
其中 \(r_\phi(x, y) \in \mathbb{R}\) 是Reward Model对 (prompt, response) 对的标量评分。
直觉理解: Bradley-Terry模型说的是:如果回答A比回答B好很多(\(r(A) \gg r(B)\)),那么人类选择A的概率接近1;如果两者差不多(\(r(A) \approx r(B)\)),那么选择概率接近0.5。这完美地捕捉了人类偏好的概率性质 -- 即使两个回答质量差距很大,标注者偶尔也会 "犯错"。
Reward Model的训练目标
最大化标注数据的似然,等价于最小化负对数似然:
Reward Model的架构: 通常直接在预训练LLM(或SFT模型)的基础上,将最后一层的language model head替换为一个线性层,输出一个标量分数。即:
其中 \(\mathbf{h}_{\text{last}}\) 是最后一个token位置的隐藏状态。这样Reward Model继承了预训练LLM的语言理解能力,只需要学习从语义理解到偏好分数的映射。
从排序到成对
实际标注中,人类标注者可能对 \(K\) 个回答进行完整排序 \(y_{\sigma(1)} \succ y_{\sigma(2)} \succ \cdots \succ y_{\sigma(K)}\)。这可以分解为 \(\binom{K}{2}\) 个成对比较来训练。InstructGPT的做法是 \(K=4\) 到 \(K=9\),每个排序产生6到36个训练样本。
Stage 3: PPO优化
这是整个RLHF中最核心、也最复杂的部分。我们需要用PPO算法来优化LLM的策略,使其在Reward Model的评分下获得高分,同时不偏离SFT模型太远。
优化目标
这个目标函数有两项:
- 奖励最大化: 让模型生成获得高Reward Model分数的回答
- KL惩罚: 防止策略偏离SFT模型太远
KL散度的具体计算:
对于自回归模型,整个序列的对数概率可以分解为token级别的求和:
因此KL散度可以在token级别逐步累积计算。
KL惩罚的重要性
\(\beta\) 是一个关键的超参数,控制着 exploitation(利用Reward Model获取高分) 和 exploration(保持与SFT模型的一致性) 之间的平衡。
没有KL约束会发生什么?模型会迅速找到Reward Model的漏洞(Reward Hacking):
- 生成异常冗长的回答(Reward Model可能对长回答给高分)
- 重复使用某些 "讨好" Reward Model的短语
- 生成语法正确但内容空洞的回答
- 在某些极端情况下,模型甚至会生成乱码但获得高分
KL惩罚确保模型不会为了 "讨好" Reward Model而丧失基本的语言能力。在实际实现中,\(\beta\) 通常通过adaptive KL controller来动态调整:如果KL散度超过目标值就增大 \(\beta\),反之减小。
PPO在LLM中的具体实现
将PPO应用于LLM训练需要维护四个模型(或模型的拷贝):
四模型架构:
1. Actor (π_θ) -- 正在训练的LLM策略,参数不断更新
2. Critic (V_ψ) -- 价值函数,估计状态价值,辅助计算Advantage
3. Reference (π_SFT) -- SFT模型的冻结拷贝,用于计算KL惩罚
4. Reward Model (r_φ) -- 冻结的Reward Model,提供奖励信号
这意味着训练一个LLM需要同时在GPU上加载四个(接近)等规模的大模型,这是RLHF计算成本极高的主要原因之一。
PPO的单步更新过程:
Step 1 -- 数据收集(Rollout): 从数据集中采样一批prompt \(x\),用当前策略 \(\pi_\theta\) 生成回答 \(y\)。
Step 2 -- 计算奖励: 对每个 \((x, y)\) 对,用Reward Model计算奖励 \(r_\phi(x, y)\)。这个奖励只在最后一个token处给出(sparse reward),中间token的奖励为0。但KL惩罚可以逐token计算:
即在每一步都施加per-token的KL惩罚,在最后一步额外加上Reward Model的分数。
Step 3 -- 计算Advantage: 使用GAE(Generalized Advantage Estimation)来计算每个token位置的Advantage值:
其中TD residual为:
\(\gamma\) 是折扣因子(通常设为1.0),\(\lambda\) 是GAE的权衡参数(通常设为0.95)。
Step 4 -- PPO Clipping更新: 对每个token位置,计算重要性比率和clipped目标:
其中 \(\epsilon\) 通常取 \(0.2\)。同时更新Critic的价值函数:
其中 \(\hat{R}_t = \hat{A}_t + V_{\psi_{\text{old}}}(s_t)\) 是GAE估计的回报。
Step 5 -- 多轮mini-batch更新: 在同一批rollout数据上进行多个epoch的mini-batch更新(通常2-4个epoch),提高数据利用效率。这正是PPO相对于原始策略梯度的核心优势。
RLHF的局限性
尽管RLHF取得了巨大成功(ChatGPT、Claude等),但它存在多个根本性的问题,这些问题催生了后续的各种替代方法:
- 人类标注成本高昂: 需要大量高质量的人类偏好标注数据,尤其是专业领域(医学、法律等)的标注极其昂贵
- Reward Model是瓶颈: Reward Model本身是有限容量的神经网络,它对人类偏好的建模是不完美的。策略优化到极致后,与其说是在优化人类偏好,不如说是在exploit Reward Model的缺陷
- PPO训练不稳定: PPO需要精细的超参数调节(\(\beta\), \(\epsilon\), learning rate, batch size等),四个模型的内存占用巨大,训练过程中容易出现各种不稳定现象
- Mode Collapse: 模型可能收敛到一种单调的、"安全" 但无趣的回答风格
- 工程复杂度高: 需要同时管理四个大模型的前向传播、反向传播和通信,分布式训练的实现极其复杂
RLAIF (RL from AI Feedback)
核心思想
Anthropic提出的Constitutional AI(CAI, Bai et al., 2022)是RLAIF的代表方法。核心思想极其简洁:用AI自身来替代人类标注者,根据一套明确的 "宪法" 规则来评判和改进模型的输出。
方法流程
Constitutional AI的流程分为两个阶段:
阶段一 -- 自我批评与修订(Critique-Revision):
- 让模型对可能有害的prompt生成初始回答
- 让模型根据宪法规则自我批评("这个回答是否违反了规则X?")
- 让模型根据批评修改回答
- 用修改前后的 (原始回答, 修改后回答) 对作为偏好数据
阶段二 -- RLAIF训练:
- 用AI生成的偏好数据训练Reward Model
- 用RL(PPO)优化LLM
可扩展监督 (Scalable Oversight)
RLAIF的深层意义在于 可扩展监督 的概念:随着AI能力的增长,人类将越来越难以直接评估AI的输出质量(尤其是在复杂推理、代码生成等领域)。用更强的AI来监督较弱的AI,形成一个递归的监督链条,是实现超级智能对齐的重要思路。
DPO (Direct Preference Optimization)
DPO由Rafailov et al. (2023) 提出,是近年来对RLHF最重要的简化。它的核心发现是:我们根本不需要显式地训练Reward Model和运行PPO -- 偏好优化可以直接在策略上完成。
从RLHF到DPO的完整推导
这是DPO最精彩的部分。我们从RLHF的优化目标出发,一步步推导出DPO的损失函数。
Step 1: RLHF的优化目标
回顾RLHF Stage 3的目标(加上KL惩罚后的):
这里 \(\pi_{\text{ref}}\) 是reference model(通常就是SFT模型)。展开KL散度:
Step 2: 求最优策略的闭式解
这是一个带KL约束的优化问题。对于固定的 \(x\),我们要对分布 \(\pi_\theta(\cdot|x)\) 最大化:
这是一个经典的变分问题。对 \(\pi(y|x)\) 取变分导数并令其为零(加上归一化约束 \(\sum_y \pi(y|x) = 1\)),可以得到最优策略的闭式解:
其中配分函数(partition function)为:
直觉理解: 最优策略是reference model的一个 "加权版本"。对于reward高的回答,概率被指数级地放大;对于reward低的回答,概率被指数级地压缩。\(\beta\) 控制着这个放大/压缩的程度 -- \(\beta\) 越小,最优策略越集中在高reward的回答上;\(\beta\) 越大,最优策略越接近reference model。
Step 3: 从最优策略反推Reward
从上面的闭式解,我们可以反解出reward:
两边取对数:
重新整理,得到 reward的闭式表达:
这是DPO推导中最关键的一步。它告诉我们:reward可以完全用最优策略和reference策略的对数概率比来表示。 配分函数 \(Z(x)\) 只依赖于prompt \(x\),与回答 \(y\) 无关。
Step 4: 代入Bradley-Terry模型
将reward的表达式代入偏好模型:
关键:\(Z(x)\) 在做差时被完美地消去了! 这意味着我们不需要计算这个难以处理的配分函数。
Step 5: DPO损失函数
现在,我们用可训练的策略 \(\pi_\theta\) 来参数化最优策略 \(\pi^*\),最大化偏好数据的似然:
定义 隐式奖励(Implicit Reward):
那么DPO的损失函数可以简洁地写为:
形式上和Reward Model的训练目标完全一致!只不过reward不再是一个单独的网络输出,而是策略本身的对数概率比。
DPO的梯度分析
DPO损失对参数 \(\theta\) 的梯度为:
直觉理解: 梯度的方向是增大preferred回答的概率、减小dispreferred回答的概率。而梯度的幅度由 \(\sigma(-\hat{r}_\theta(x, y_w) + \hat{r}_\theta(x, y_l))\) 控制 -- 当模型已经正确地给preferred回答更高的隐式奖励时,这个权重接近0,梯度很小;当模型 "犯错" 时,权重接近1,梯度很大。这是一种自然的自适应学习率机制。
DPO vs RLHF
| 维度 | RLHF (PPO) | DPO |
|---|---|---|
| 训练阶段 | 三阶段(SFT + RM + RL) | 两阶段(SFT + DPO) |
| 是否需要Reward Model | 是(需要单独训练) | 否(隐式reward) |
| 是否需要在线采样 | 是(PPO需要rollout) | 否(直接用离线偏好数据) |
| GPU内存 | 极高(4个模型同时加载) | 较低(2个模型:\(\pi_\theta\) + \(\pi_{\text{ref}}\)) |
| 训练稳定性 | 较差,需要精细调参 | 好,类似标准监督学习 |
| 理论等价性 | 近似最优 | 与RLHF的闭式最优解等价 |
| 实际效果 | 通常更强(因为在线探索) | 接近RLHF,某些场景持平或更好 |
| 工程复杂度 | 极高 | 低 |
DPO的局限性
- Reference Model依赖: DPO需要一个冻结的reference model来计算概率比。这增加了内存开销,并且reference model的质量直接影响DPO的效果
- 离线数据质量敏感: DPO完全依赖于离线的偏好数据,如果数据分布与当前策略差距太大,学习效果会下降
- Length Bias: DPO倾向于生成较长的回答,因为较长的回答在对数概率空间中的差异更大
- 缺乏在线探索: 与PPO不同,DPO不进行在线采样和探索,可能错过偏好数据覆盖范围之外的好回答
- 过拟合风险: 在小规模偏好数据上,DPO容易过拟合,导致泛化能力下降
GRPO (Group Relative Policy Optimization)
GRPO由DeepSeek团队提出(Shao et al., 2024),是DeepSeek-R1背后的核心训练算法。GRPO的设计哲学是:彻底消除Reward Model和Value函数,用组内相对排名来估计Advantage。
动机
PPO在LLM训练中的主要痛点:
- Value函数难以训练: LLM的状态空间极其复杂(prompt + 已生成tokens),训练一个准确的Value函数本身就是一个巨大的挑战。而且Value函数的参数规模通常与LLM相当,进一步增加了内存开销
- Reward Model的局限性: 训练一个好的Reward Model需要大量高质量的偏好数据,且Reward Model容易被exploit
GRPO的核心思想:既然单个回答的 "绝对好坏" 难以判断,不如让多个回答在组内 "相互竞争",用相对排名来决定优化方向。
算法流程
对于每个prompt \(x\),GRPO进行以下步骤:
Step 1 -- 组采样(Group Sampling): 用当前策略 \(\pi_{\theta_{\text{old}}}\) 对同一个prompt生成一组 \(G\) 个回答:
典型的 \(G\) 取值为 \(8 \sim 64\)。
Step 2 -- 计算奖励: 用奖励函数(可以是Reward Model,也可以是可验证奖励)为每个回答评分:
Step 3 -- 组内归一化Advantage: 这是GRPO的核心创新。将奖励在组内进行z-score标准化,得到Advantage估计:
即:
直觉理解: 在一组回答中,好于平均水平的回答获得正Advantage(被鼓励),差于平均水平的获得负Advantage(被抑制)。标准化确保了Advantage的尺度在不同prompt之间是一致的,不会因为某些prompt的reward绝对值更大而主导训练。
这种方法本质上是REINFORCE with baseline的一种实例,其中baseline \(b(x) = \bar{r}\) 是组内平均奖励。与传统的learned baseline(即Value函数)相比,这个baseline虽然方差略大,但完全不需要额外训练。
Step 4 -- 策略优化: 使用类似PPO-clip的目标函数,但在序列级别(而非token级别)操作:
其中 \(r_{i,t}(\theta)\) 是第 \(i\) 个回答的第 \(t\) 个token的重要性比率:
注意 \(\hat{A}_i\) 是序列级别的Advantage(整个回答共享同一个Advantage值),而clipping是在token级别进行的。
KL正则化: GRPO同样需要KL惩罚来防止策略偏离过远。GRPO使用了一种近似的KL散度估计:
这是KL散度的一种无偏估计(基于 \(f\)-divergence 的性质),当两个分布接近时近似为标准KL散度。
GRPO与REINFORCE的联系
从理论上看,GRPO可以视为REINFORCE with baseline的一个变体。REINFORCE的梯度估计为:
GRPO的关键改进在于:
- 组内均值作为baseline: \(b = \bar{r}\),不需要学习Value函数
- 标准化: 除以组内标准差 \(\sigma_r\),自适应地调整梯度尺度
- PPO-clip稳定训练: 使用clipping而非原始的策略梯度,防止大步更新
GRPO的优势总结
- 不需要Reward Model(可以用,但不必须 -- 可以直接用rule-based reward或verifiable reward)
- 不需要Value函数(彻底消除Critic网络)
- 内存高效:只需加载 Actor + Reference 两个模型
- 实现简单:代码量远小于PPO-based RLHF
- 在DeepSeek-R1中展示了强大的推理能力提升
其他偏好优化方法
IPO (Identity Preference Optimization)
Azar et al. (2023) 提出的IPO旨在解决DPO的一个理论缺陷:DPO假设偏好数据完美地服从Bradley-Terry模型,但实际的人类偏好数据充满噪声。
DPO在训练过程中可能过度自信地拟合偏好数据,导致隐式reward的幅度趋向无穷大。IPO通过修改损失函数来正则化这种行为:
直觉理解: IPO用MSE loss替代了DPO的log-sigmoid loss。MSE loss会将隐式reward的差值 "拉向" 目标值 \(\frac{1}{2\beta}\),而不是像DPO那样无限制地增大差值。这相当于给隐式reward加了一个隐式的正则化。
KTO (Kahneman-Tversky Optimization)
Ethayarajh et al. (2024) 提出的KTO解决了一个非常实际的问题:在很多场景下,获取成对偏好标注(\(y_w\) vs \(y_l\))很困难,但获取单独的好/坏标注(thumbs up / thumbs down)相对容易。
KTO的名称来源于Kahneman和Tversky的前景理论(Prospect Theory),该理论指出人类对损失的敏感度高于对收益的敏感度。
KTO的损失函数分别处理 "好" 和 "坏" 的样本:
其中:
这里 \(z_{\text{ref}}\) 是一个baseline,用数据集中KL散度的期望来估计。\(w(y)\) 是一个权重项,对undesirable样本赋予更高的权重(体现前景理论的 "损失厌恶")。
KTO的核心优势: 数据需求更低 -- 只需要二元标签(好/坏),不需要成对比较。这使得数据收集成本大幅降低。
ORPO (Odds Ratio Preference Optimization)
Hong et al. (2024) 提出的ORPO更进一步:将SFT和偏好优化合并为单一训练阶段,且不需要reference model。
ORPO的损失函数:
其中Odds Ratio项为:
核心思想: 用odds ratio(优势比)替代DPO中的log-probability ratio,这样就不需要reference model了。SFT项同时提供了正则化效果,防止策略偏离过远。
SimPO (Simple Preference Optimization)
Meng et al. (2024) 提出的SimPO进一步简化了DPO,核心改进是:
- 用长度归一化的对数概率替代概率比: \(\hat{r}_\theta(x, y) = \frac{\beta}{|y|} \log \pi_\theta(y|x)\),不再需要reference model
- 引入margin项: 在preferred和dispreferred的奖励之间加入一个固定的margin \(\gamma\)
长度归一化优雅地解决了DPO的length bias问题。
RLVR (Reinforcement Learning with Verifiable Rewards)
RLVR是DeepSeek-R1(DeepSeek, 2025)成功的关键技术之一,也是连接RL与推理能力的核心方法。
核心思想
在数学、编程、逻辑推理等领域,回答的正确性是 可验证的(verifiable):
- 数学题可以验证最终答案是否正确
- 代码可以通过测试用例验证
- 逻辑题可以验证结论是否成立
这意味着我们可以完全跳过 "人类标注" 和 "Reward Model训练",直接用正确性作为RL的奖励信号。
Outcome-Based Reward (ORM)
最简单的形式:只关心最终答案是否正确。
也可以设计更细致的奖励,例如对格式规范性的要求:
其中 \(r_{\text{format}}\) 检查模型是否遵循了指定的思维链格式(如将推理过程放在 <think> 标签中)。
Process-Based Reward (PRM)
更精细的奖励方式:对推理过程中的每一步进行评价。
设推理过程由 \(K\) 个步骤组成:\(y = (s_1, s_2, \ldots, s_K)\),PRM为每一步给出一个分数:
或者取最小值(最弱环节决定整体质量):
PRM的优势在于提供了更密集的奖励信号(dense reward),有助于缓解sparse reward问题。但PRM的训练本身需要步骤级别的标注数据,成本更高。
DeepSeek-R1的训练方法
DeepSeek-R1展示了一条令人振奋的技术路径:不使用任何人类标注的思维链数据,仅靠GRPO + 可验证奖励,就能让LLM "涌现" 出复杂的推理能力。
训练流程:
DeepSeek-R1 训练流程:
Stage 1: 冷启动 (Cold Start)
- 收集少量长思维链数据做SFT
- 让模型学会基本的 "思考后回答" 格式
Stage 2: 推理RL (Reasoning RL)
- 用GRPO + 可验证奖励在数学/代码任务上训练
- 奖励信号:答案正确性 + 格式规范性
- 模型自发涌现出:反思、验证、回溯、自我纠错等能力
Stage 3: 拒绝采样 + SFT
- 用Stage 2的模型生成大量推理数据
- 只保留正确的、高质量的推理轨迹
- 混合通用SFT数据做进一步微调
Stage 4: 第二轮RL
- 综合使用推理奖励 + 有用性/安全性奖励
- 最终对齐
DeepSeek-R1的一个惊人发现是:在Stage 2中,模型在纯RL训练过程中自发地涌现出了以下推理行为,而这些行为从未在训练数据中被显式教授:
- 反思(Reflection): "让我重新检查一下这个步骤..."
- 回溯(Backtracking): "上面的方法行不通,换一种思路..."
- 自我验证(Self-verification): "代入原方程验算..."
- 分解问题(Decomposition): "先解决子问题A,再..."
这种 通过RL涌现推理能力 的范式,与OpenAI的o1/o3系列模型的技术路线高度一致,代表了LLM后训练的一个重要方向。
方法对比总结
| 方法 | Reward Model | Value函数 | Reference Model | 数据需求 | 训练复杂度 | 代表模型 | 核心优势 |
|---|---|---|---|---|---|---|---|
| RLHF (PPO) | 需要 | 需要 | 需要 | 成对偏好 | 极高 | ChatGPT, Claude | 效果强大,理论成熟 |
| DPO | 不需要 | 不需要 | 需要 | 成对偏好 | 低 | Zephyr, many open-source | 简单高效,理论等价于RLHF |
| GRPO | 可选 | 不需要 | 需要 | 可验证奖励 | 中 | DeepSeek-R1 | 无需Value函数,适合推理任务 |
| KTO | 不需要 | 不需要 | 需要 | 二元标签 | 低 | - | 数据需求最低 |
| IPO | 不需要 | 不需要 | 需要 | 成对偏好 | 低 | - | 对噪声偏好数据鲁棒 |
| ORPO | 不需要 | 不需要 | 不需要 | 成对偏好 | 低 | - | 无需reference model,SFT一体化 |
| SimPO | 不需要 | 不需要 | 不需要 | 成对偏好 | 低 | - | 解决length bias |
| RLVR | 不需要 | 不需要 | 需要 | 可验证标签 | 中 | DeepSeek-R1, o1 | 无需人类标注,适合推理 |
一个清晰的演化趋势是:从复杂走向简单,从依赖人工走向自动化。
前沿方向
Online DPO / Iterative DPO
标准DPO使用离线偏好数据,但这意味着偏好数据的分布与当前策略的分布可能不匹配(distribution shift)。Online DPO的思路是:
- 用当前策略 \(\pi_\theta\) 生成新的回答
- 用Reward Model(或AI/人类)对新回答进行偏好标注
- 用新的偏好数据做DPO更新
- 重复
这本质上是将DPO从 off-policy 转为 on-policy,弥合了DPO与RLHF之间的理论差距。实验表明Online DPO的效果通常优于标准的offline DPO,在某些基准上接近甚至超过PPO-based RLHF。
Self-Play (SPIN)
SPIN(Self-Play fIne-tuNing, Chen et al., 2024)的核心思想是让模型与自己的旧版本进行对弈:
- 将上一轮模型的输出视为 "dispreferred" 回答
- 将ground truth视为 "preferred" 回答
- 用DPO-style的损失函数训练
其中 \(y_{\text{gt}}\) 是ground truth回答,\(y_{\text{old}} \sim \pi_{\theta_{\text{old}}}\) 是旧模型生成的回答。
SPIN的优势在于不需要任何偏好标注数据,只需要ground truth回答即可。但随着训练的进行,模型输出越来越接近ground truth,学习信号会逐渐减弱直至收敛。
RL for Reasoning (o1-style)
OpenAI的o1/o3系列和DeepSeek-R1标志着一个新范式的出现:用RL来训练LLM的推理能力,而非仅仅用于对齐。
在这个范式中,RL的角色发生了根本性的转变:
- 传统RLHF: RL用于对齐 -- 让模型的输出符合人类偏好
- RL for Reasoning: RL用于能力提升 -- 让模型学会更深层的推理
关键技术要素:
- 长思维链(Long CoT): 允许模型在回答前进行长时间的内部推理
- 可验证奖励: 数学/代码的正确性提供了天然的RL奖励信号
- Test-time Compute Scaling: 通过在推理时投入更多计算来提升效果
这带来了一个深刻的洞察:scaling不只有训练时的参数规模和数据规模,推理时的计算量也可以用来换取更好的性能。 这就是所谓的 "test-time compute scaling"。
Multi-Turn RLHF
传统RLHF只考虑单轮对话 \((x, y)\),但实际应用中LLM需要在多轮对话中保持一致性。Multi-Turn RLHF将RL的状态扩展为完整的对话历史:
挑战在于:
- 多轮对话中的credit assignment问题(好的最终结果归功于哪一轮回答?)
- 对话状态空间急剧膨胀
- 人类偏好标注更加困难(需要评价整个对话的质量)
Constitutional AI at Scale
将Constitutional AI的理念推向极致:用一套完整的价值体系来指导AI的行为,而非依赖有限的人类偏好标注。这涉及到更深层的哲学问题:什么是 "好" 的AI行为?如何在不同文化、不同价值观之间找到平衡?
参考文献
- Ouyang et al., "Training language models to follow instructions with human feedback" (InstructGPT, 2022)
- Bai et al., "Constitutional AI: Harmlessness from AI Feedback" (Anthropic, 2022)
- Rafailov et al., "Direct Preference Optimization: Your Language Model is Secretly a Reward Model" (DPO, 2023)
- Azar et al., "A General Theoretical Paradigm to Understand Learning from Human Feedback" (IPO, 2023)
- Ethayarajh et al., "KTO: Model Alignment as Prospect Theoretic Optimization" (2024)
- Hong et al., "ORPO: Monolithic Preference Optimization without Reference Model" (2024)
- Meng et al., "SimPO: Simple Preference Optimization with a Reference-Free Reward" (2024)
- Chen et al., "Self-Play Fine-Tuning Converts Weak Language Models to Strong Language Models" (SPIN, 2024)
- Shao et al., "DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models" (GRPO, 2024)
- DeepSeek-AI, "DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning" (2025)
- Schulman et al., "Proximal Policy Optimization Algorithms" (PPO, 2017)