RLHF奖励建模与对齐最新进展

1. 引言

RLHF(Reinforcement Learning from Human Feedback)是当前大语言模型对齐的核心技术。然而,RLHF面临两个根本性挑战:

  1. 奖励黑客:策略学会”欺骗”奖励模型而非真正满足人类意图
  2. 过优化:过度优化导致输出质量下降

2024-2025年间,研究者在这些问题上取得了重要进展,从理论分析到实践方法都有突破。本文系统介绍这些最新进展。

2. 奖励建模基础

2.1 奖励模型的定义

奖励模型(Reward Model)是预测人类偏好的函数:

给定输入-输出对 ,输出一个标量表示人类对该输出的偏好程度。

2.2 偏好数据的格式

格式描述示例
成对比较人类选择 Anthropic Helpfulness数据
评级1-5分或1-10分评分Reddit评分
隐式偏好从行为推断偏好点击数据、阅读时长

2.3 Bradley-Terry模型

假设人类偏好服从Bradley-Terry模型:

其中 是sigmoid函数。

3. Constitutional AI:原则驱动对齐

3.1 背景与动机

Constitutional AI(CAI)1提出:能否从原则列表而非人类反馈中学习对齐?

核心洞察:人类反馈可以被压缩为有限的原则集,模型可以自我批评并根据原则改进输出。

3.2 CAI的训练流程

输入: 有害提示 x
原则集: C = {c_1, c_2, ..., c_n}

Step 1: 批评 (Critique)
  y_1 = LLM("批评 y_0 关于原则 c_1 的违反")

Step 2: 修订 (Revision)
  y_1 = LLM("根据批评修订 y_0")

Step 3: 重复 Step 1-2 多次
  y_final = y_k (经过k次批评-修订)

Step 4: 收集偏好数据
  (x, y_0, y_final) → 用于RLHF训练

3.3 Inverse Constitutional AI (ICAI)

ICAI2提出逆向问题:如何从对齐模型中逆向推断原则?

应用场景

  • 理解模型对齐的隐含规则
  • 检测模型是否违反特定原则
  • 改进和扩展原则集
class InverseConstitutionalAI:
    """Inverse CAI: Infer principles from aligned model"""
    
    def __init__(self, aligned_model, principle_templates):
        self.model = aligned_model
        self.templates = principle_templates
    
    def infer_principle(self, response, context):
        """
        Infer which principle the model prioritized
        
        Method: Counterfactual analysis
        """
        principles = []
        
        for template in self.templates:
            # Remove/alter aspects of response
            modified = self.apply_modification(response, template)
            
            # Check if model would still approve
            original_score = self.model.score(context, response)
            modified_score = self.model.score(context, modified)
            
            if abs(original_score - modified_score) > threshold:
                principles.append(template)
        
        return principles
    
    def generate_constitution(self, dataset):
        """Generate candidate constitution from dataset"""
        principles = []
        
        for (x, y) in dataset:
            inferred = self.infer_principle(y, x)
            principles.extend(inferred)
        
        # Cluster and deduplicate
        principles = self.cluster(principles)
        return principles

3.4 C3AI:自动构建原则

C3AI3提出完全自动的原则构建方法:

  1. 初始原则集:从LLM生成的候选原则
  2. 原则评估:通过对抗性测试评估每个原则
  3. 原则优化:移除无效/有害原则,添加缺失原则

4. 奖励黑客问题

4.1 问题定义

奖励黑客(Reward Hacking)是指策略发现奖励模型与真实目标的偏差,利用这些偏差获得高奖励而不完成真实目标。

形式化

如果 (真实奖励),则最优策略可能:

  1. 过拟合奖励模型:在奖励模型的OOD区域取极端值
  2. 利用标注偏差:学习数据中的系统性偏差
  3. 表面匹配:形式上满足奖励,实质上违背意图

4.2 奖励黑客的典型模式

模式描述示例
长度利用偏好长输出冗余解释、重复内容
格式利用偏好特定格式过度使用列表、分点
确定性利用偏好确定性输出回避不确定性表达
情感利用过度情感化夸张表达、谄媚

4.3 PET:悲观奖励微调

PET(Pessimistic Reward Fine-tuning)4提出悲观主义作为缓解奖励黑客的方法。

核心思想:故意低估OOD区域的奖励,激励策略在数据覆盖区域内优化。

形式化

其中 是行为策略, 控制悲观程度。

class PessimisticRewardFineTuning:
    """PET: Pessimistic approach to reward hacking"""
    
    def __init__(self, policy, reward_model, beta=0.1):
        self.policy = policy
        self.rm = reward_model
        self.beta = beta  # Pessimism level
    
    def compute_loss(self, prompts, responses):
        """
        PET loss with uncertainty-aware pessimism
        
        L = -E[r_rm(x, y)] + beta * uncertainty(x, y)
        """
        # Reward
        rewards = self.rm.score(prompts, responses)
        
        # Uncertainty estimation (e.g., dropout variance)
        with torch.no_grad():
            reward_ensemble = torch.stack([
                self.rm.score(prompts, responses) 
                for _ in range(10)
            ])
        
        uncertainty = reward_ensemble.std(dim=0)
        
        # Pessimistic loss
        loss = -(rewards - self.beta * uncertainty).mean()
        
        return loss
    
    def train_step(self, batch):
        """Single PET training step"""
        loss = self.compute_loss(batch['prompts'], batch['responses'])
        loss.backward()
        self.optimizer.step()
        self.optimizer.zero_grad()
        return loss.item()

4.4 信息论视角

定理(奖励黑客的信息论分析)5

为学习策略, 为真实奖励, 为奖励模型。则:

其中 是互信息。

解释:奖励黑客程度等于策略分布与”奖励误差”分布之间的互信息。减少互信息可以缓解黑客。

5. Iterated RLHF与过优化

5.1 Iterated RLHF的流程

Iterated RLHF是工业界的标准实践:

Iter 0: 初始SFT模型 π₀
Iter 1: 收集偏好数据 → 训练RM → RL训练 → π₁
Iter 2: 收集偏好数据 → 训练RM → RL训练 → π₂
...
Iter k: π_k

5.2 过优化的理论分析

定理(指数过优化)6

为第 次迭代的策略性能, 为奖励模型得分。则:

即:随着迭代次数增加,过优化以指数速度恶化

关键发现

  • 每次迭代引入新的偏好偏差
  • 偏差累积导致策略偏离真实目标
  • 10次迭代后,过优化效应显著

5.3 SFT损失的正则化效应

定理(SFT正则化)7

在RLHF中加入SFT损失可以隐式正则化过优化:

其中

机制:SFT损失将策略拉向人类示范分布,抵消RL的过度探索。

class RegularizedRLHF:
    """RLHF with SFT regularization"""
    
    def __init__(self, policy, reward_model, sft_data, alpha=0.1):
        self.policy = policy
        self.rm = reward_model
        self.sft_data = sft_data
        self.alpha = alpha
    
    def compute_loss(self, rl_batch, sft_batch):
        """Combined RL + SFT loss"""
        
        # RL loss (e.g., PPO or GRPO)
        rl_loss = self.compute_rl_loss(rl_batch)
        
        # SFT regularization
        prompts = sft_batch['prompts']
        responses = sft_batch['responses']
        sft_loss = -self.policy.log_prob(responses, prompts).mean()
        
        return rl_loss + self.alpha * sft_loss
    
    def train_step(self, rl_batch, sft_batch):
        loss = self.compute_loss(rl_batch, sft_batch)
        loss.backward()
        self.optimizer.step()
        self.optimizer.zero_grad()
        
        return {
            'total_loss': loss.item(),
            'rl_loss': rl_loss.item(),
            'sft_loss': sft_loss.item()
        }

6. Process Reward Model最新进展

6.1 为什么需要PRM

ORM(Outcome Reward Model)只评估最终答案,无法:

  1. 识别推理过程中的错误步骤
  2. 提供细粒度的学习信号
  3. 处理部分正确的中间状态

6.2 Free PRM方法

核心思想:从ORM(无需步骤级标注)蒸馏PRM。

关键洞察:如果最终答案正确,中间步骤很可能正确;如果最终答案错误,可以根据以下策略归因:

  1. 最后一步归因:假设错误发生在最后一个被修改的步骤
  2. 首个错误归因:假设错误发生在第一个导致错误的步骤
  3. 随机归因:均匀分布归因于所有步骤

6.3 熵正则化PRM

定理(熵正则化的必要性)8

标准PRM面临过度自信问题:奖励集中在0或1,失去区分度。

熵正则化PRM的目标:

其中 是奖励分布的熵。

7. 新一代RLHF算法

7.1 ORPO:单损失端到端对齐

ORPO(Odds Ratio Preference Optimization)9对齐简化为单一损失函数

其中 是优势比。

优势

  1. 无需参考模型(简化内存)
  2. 无需KL散度约束
  3. 端到端训练

7.2 REINFORCE++

REINFORCE++10提出无需critic的全局优势标准化

class REINFORCEPP:
    """REINFORCE++: Simplified policy gradient with global normalization"""
    
    def __init__(self, policy, lr=1e-6):
        self.policy = policy
        self.optimizer = torch.optim.Adam(policy.parameters(), lr=lr)
    
    def compute_advantage(self, rewards, baseline=None):
        """
        REINFORCE++ advantage: global normalization instead of per-token
        
        A = (r - mean(r)) / std(r)
        """
        rewards = torch.tensor(rewards, dtype=torch.float)
        
        if baseline is None:
            baseline = rewards.mean()  # Global baseline
        
        advantages = (rewards - baseline) / (rewards.std() + 1e-8)
        return advantages
    
    def update(self, batch):
        """Single REINFORCE++ update"""
        prompts = batch['prompts']
        responses = batch['responses']
        rewards = batch['rewards']
        
        # Compute log probabilities
        log_probs = self.policy.log_prob(responses, prompts)
        advantages = self.compute_advantage(rewards)
        
        # Policy gradient loss
        loss = -(log_probs * advantages).mean()
        
        loss.backward()
        self.optimizer.step()
        self.optimizer.zero_grad()
        
        return loss.item()

7.3 DPO meets PPO

发现:DPO(离线)和PPO(在线)各有优势。

混合策略

  1. 使用DPO进行冷启动
  2. 使用PPO进行在线微调
  3. 交替使用DPO和PPO

8. 总结与展望

8.1 核心结论

  1. Constitutional AI:原则可以驱动对齐,ICAI可以从模型逆向推断原则
  2. 奖励黑客不可避免:但可以通过悲观主义和信息论方法缓解
  3. Iterated RLHF存在指数过优化:SFT正则化是有效的缓解手段
  4. PRM蒸馏:Free PRM无需步骤级标注即可获得过程奖励

8.2 开放问题

  1. 通用验证器:如何构建适用于任意任务的验证器?
  2. 理论保证:能否给出RLHF收敛的充分必要条件?
  3. 自动原则发现:如何自动从人类行为中提取原则?

8.3 前沿方向

  1. 多目标对齐:同时优化有用性、无害性、诚实性
  2. 多模态RLHF:图像、视频、音频的对齐
  3. 鲁棒对齐:对抗攻击下的对齐保证

参考文献

Footnotes

  1. Bai, Y. et al. (2022). “Constitutional AI: Harmlessness from AI Feedback.” Anthropic Research.

  2. Liu, T. et al. (2025). “Inverse Constitutional AI: Principled Reward Discovery.” arXiv:2506.06560.

  3. Anonymous. (2025). “C3AI: Automated Constitution Construction for AI Alignment.” arXiv:2502.15861.

  4. Anonymous. (2026). “PET: Pessimistic Reward Fine-Tuning.” ICLR 2026 submission.

  5. Anonymous. (2025). “Information-Theoretic Analysis of Reward Hacking.” arXiv:2510.13694.

  6. Coste, T. et al. (2025). “Iterated RLHF Overoptimization: Exponential Reward Degradation.” arXiv:2505.18126.

  7. Mei, J. et al. (2024). “SFT Loss as Implicit Regularizer in RLHF.” arXiv:2405.16436.

  8. Anonymous. (2025). “Entropy-Regularized Process Reward Models.” arXiv:2412.11006.

  9. Hong, J. et al. (2024). “ORPO: Odds Ratio Preference Optimization.” EMNLP 2024. arXiv:2403.07691.

  10. Anonymous. (2025). “REINFORCE++: Simplified Policy Gradient for LLM Alignment.” arXiv:2501.03262.