Skip to content

PPO算法在大模型RLHF中的应用

内容整理自学习笔记,仅供面试备考参考;不构成录用、培训或考试承诺。

1. RLHF 中 PPO 的主要步骤

大语言模型 RLHF 中的 PPO 分为三个核心步骤:

步骤名称说明
1采样模型根据提示(prompt)生成回答(response)
2反馈使用奖励模型对生成结果计算奖励
3学习根据奖励信号更新模型参数

伪代码实现

python
policy_model = load_model()
for k in range(20000):
    # 步骤1:采样(生成答案)
    prompts = sample_prompt()
    data = respond(policy_model, prompts)

    # 步骤2:反馈(计算奖励)
    rewards = reward_func(reward_model, data)

    # 步骤3:学习(更新参数)
    for epoch in range(4):
        policy_model = train(policy_model, prompts, data, rewards)

2. 大语言模型 RLHF 的形象比喻

RLHF 实际上是模型先试错再学习的过程,可以用"老师与学生"的角色来类比:

角色对应职责
老师人类/奖励模型提出有趣的问题,对回答进行打分
学生大模型不断尝试给出答案,根据反馈改进

模型会根据给出的问题写出它觉得正确的答案,但答案不一定是对的,需要结合正确答案进行打分。表现好给予高声赞扬,表现不佳则给予耐心指导和反馈,帮助模型不断改进,直到达到令人满意的水平。

3. PPO 中的采样过程

3.1 什么是采样过程?

采样过程即学生回答问题的过程:模型根据提示(prompt)输出回答(response)的过程,也可以理解为模型自行生产训练数据的过程

输入: prompt(提示)

  [Policy Model]

输出: response(回答)

3.2 PPO 中的采样策略

PPO 中的采样通过一种策略(policy)完成,policy 由两个模型组成:

模型角色功能输入 → 输出
Actor(演员)决策即要训练的大模型,训练前是 RLHF 第一步的 SFT model上下文 → 下一个 token 的概率分布
Critic(评论家)总结得失强化学习的辅助模型上下文 → 下一个 token 的"收益"

Actor 和 Critic 就像学生大脑中的两种意识:一个负责决策,一个负责总结得失

3.3 如何评估"收益"?

收益是指从下一个 token 开始,模型能够获得的总奖励(浮点数标量)。

奖励的组成部分包括:

奖励来源说明
Reward Model对完整回答给出的奖励分数
KL 惩罚限制模型不要偏离初始模型太远

收益 = 从当前 token 开始的未来累计奖励,这一概念与强化学习中的值函数一致。

4. PPO 训练流程总结

┌──────────────────────────────────────────────────┐
│              PPO 训练循环                        │
│                                                  │
│  ┌─────────┐     ┌──────────┐     ┌───────────┐ │
│  │  采样    │────→│  反馈    │────→│   学习    │ │
│  │ Actor+  │     │ Reward   │     │ 更新 Actor│ │
│  │ Critic  │     │ Model    │     │ & Critic  │ │
│  └─────────┘     └──────────┘     └───────────┘ │
│       ↑                                    │     │
│       └────────────────────────────────────┘     │
│                  迭代更新                         │
└──────────────────────────────────────────────────┘

四个模型的角色

PPO 训练同时涉及 4 个模型(2 训练 + 2 推理):

模型类型是否训练说明
Actor(Policy Model)训练从 SFT 模型初始化,学习生成更好的回答
Critic(Value Model)训练评估状态价值,辅助 Actor 学习
Reward Model推理提供奖励信号
Reference Model推理冻结的初始模型,用于计算 KL 惩罚

这也是 PPO 对计算资源要求较高的原因——同时需要 4 个模型在显存中。