PPO 有了 Reward Model 为何还要有 Critic model?

人工智能与算法大模型算法

这个问题还挺典型的,感觉很多人学到这里都会有这个疑问。

RM 和 Critic 的功能看上去有点像,都是对「好坏」进行评估,但实际上它们各有各的用处。在你问题中(特指的 LLM 领域的 PPO 算法),你指出它们评价的「粒度」不同,但这不够本质。就像你说的,RM 也可以对单步进行奖励,Critic 也完全可以对完整 response 进行评价。

实际上,这个问题要回归到一个更通用的 RL 框架中去理解。

一、RM 其实扮演的是「环境」

我们先不带入 LLM 中的应用,而是回归到经典 RL 中 PPO 的标准用法。一个典型的 PPO 算法流程是这样的:

%% PPO算法核心流程示意图
flowchart TD
    subgraph "PPO Algorithm"
        A["Actor<br>(Policy Network)"] -->|"生成动作分布<br>π(a|s)"| B["Environment"]
        B -->|"状态 s,<br>即时奖励 r"| C["Critic<br>(Value Network)"]
        C -->|"预测状态价值<br>V(s)"| D["Advantage<br>Calculation"]
        B -->|"状态转移<br>s → s'"| A
        D -->|"优势值<br>A = r + γV(s') - V(s)"| E["Policy Optimization"]
        E -->|"更新策略<br>最大化 PPO-Clip 目标"| A
        E -->|"更新价值函数<br>最小化 MSE(V(s), target)"| C
    end

    style A fill:#f9d5e5,stroke:#c2185b
    style C fill:#e3f2fd,stroke:#1976d2
    style B fill:#e8f5e9,stroke:#388e3c
    style D fill:#fff3e0,stroke:#fb8c00
    style E fill:#fce4ec,stroke:#7b1fa2

你可能会有疑问,RM 哪里去了?其实,这里「环境」就是 RM,它负责建模智能体外部的世界,给出「奖励信号」。

而在 LLM 应用环境中,我们应用 PPO 算法,是把 LLM 当成智能体,但什么是环境呢?似乎不像下围棋、玩游戏这种传统 RL 场景中那样容易定义,奖励从何而来呢?那我们就训练一个 RM 来充当这样角色,它最主要的目标就是给 LLM 这个智能体以 「奖励信号」,这个奖励代表了 LLM 的决策(输出响应)有多符合人类的期望或偏好。

注意,这里的 RM 是 LLM 的 「外部环境」。

二、Critic 是智能体的一部分

而 Critic 是 LLM 这个智能体的「内部组件」,它的任务是估计在某个特定状态 ss 下,遵循当前策略 ππ 从该状态出发所能获得的未来累积奖励的期望值。其实就是价值函数 V(s)=E[γtrts0=s,π]V(s) = E[∑ γ^t * r_t | s_0 = s, π],其中 γγ 是折扣因子。

如果你对 Actor-Critic 这个经典的 RL 框架有所了解,那就很容易理解了,PPO 就是采用了 Actor-Critic 框架的一种算法,其中 Critic 的作用就是计算 优势函数 (Advantage Function),从而减少策略梯度估计的方差,使训练更稳定、高效。

所以,品出点端倪了没有?

RM 是 外部的奖励信号,是外部环境给与智能体的真实响应——虽然在 LLM 的这个场景里,我们没有特别准确的外部环境建模,退而求其次用另一个训练好的 RM 模型来代替了——而 Critic 是智能体内心对自己答案的评价。

打个不准确的比方,你做一套卷子,Critic 是你自己检查自己的答案,给出的自我评价;而 RM 是老师用标准答案给你打分。

三、不要 Critic 行不行?

这样看来,你可能会问,不要 Critic 是不是也行?无非就是我自己「莽」一点,自己不评估自己的答案,反正 RM(环境)会给我反馈,牵引我改进。

确实可以,其实在 Actor-Critic 框架之前,RL 算法就是这样的,不要「基线」了而已。代价就是方差比较大,训练不稳定。

既然已经聊到这里了,那就不妨再多说几句。近来 LLM 领域的 RL 后训练里,会经常使用一种叫做 GRPO 的算法,是对 PPO 的一个改良。它其实是通过另一种更简单的「估算基线」的方法,取代了 Critic:就是采样多次,用 RM 评价的平均值来充当这个「基线」。

四、总结

Critic 不是提供额外的奖励来源,而是通过学习预测未来的期望回报,提供了一个动态的基准,用来校准 RM 提供的原始奖励信号,生成更稳定、信息量更大的 Advantage 信号,从而稳定并加速 PPO 的训练。

%% PPO中RM与Critic的关系图解
flowchart TB
    subgraph "外部环境"
        E["Reward Model<br>(RM)"] -->|"提供<br>即时奖励 r"| PPO
    end

    subgraph "PPO智能体"
        A["Actor<br>(策略网络)"] -->|"生成动作<br>π(a|s)"| E
        C["Critic<br>(价值网络)"] -->|"预测<br>V(s)=E[∑γr]"| D["优势计算<br>A=r+γV(s')-V(s)"]
        D -->|"优化信号"| O["策略优化<br>(PPO-Clip)"]
        O -->|"更新"| A
        O -->|"更新"| C
    end

    style E fill:#e8f5e9,stroke:#388e3c
    style A fill:#f9d5e5,stroke:#c2185b
    style C fill:#e3f2fd,stroke:#1976d2
    style D fill:#fff3e0,stroke:#fb8c00
    style O fill:#fce4ec,stroke:#7b1fa2

    %% 关键说明
    T1["「RM」= 老师打分<br>外部奖励信号"] -.- E
    T2["「Critic」= 自我检查<br>未来收益预测器"] -.- C
    T3["核心区别:<br>• RM是环境组件<br>• Critic是智能体组件"] --- O
0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
字节跳动 XR 技术的探索与实践
火山引擎开发者社区技术大讲堂第二期邀请到了火山引擎 XR 技术负责人和火山引擎创作 CV 技术负责人,为大家分享字节跳动积累的前沿视觉技术及内外部的应用实践,揭秘现代炫酷的视觉效果背后的技术实现。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论