DeepSeek如何魔改奖励模型?
摘要(太长不看版)
DeepSeek推出新版奖励模型SPCT,RM流程从“直接给分”变成“定原则 -> 写点评 -> 提分数”的间接评估。
效果:更准、更稳、更通用、更透明
(0)GRPO
还记得DeepSeek R1的训练过程吧?
GRPO vs PPO
GRPO 与 PPO 主要区别:
GRPO 省略了 value function model. GRPO 奖励计算,改成了一个 q 生成多个r, 然后 reward 打分。 PPO 优势函数计算时,KL 包含在GAE内部。 GRPO 直接挪到了外面,同时修改了计算方法。
GRPO方法巧妙的用规则避开了“又臭又长”的RLHF过程。
没看错,就是大家看不上、嫌low的规则,DeepSeek把它发挥到极致。
这次,DeepSeek再接再厉,把规则引入到了奖励模型。
(1)为什么要加 RLHF
LLM虽能打,但不听话,容易跑偏。
必须跟人类一样,知道什么是对的,什么是好的,即“对齐”(Alignment),简而言之,3H(Helpful 有用, Honest 一致, Harmless 无害)
而 RL 就是实现对齐的关键方法。
Instruct GPT-3.5中的RLHF(基于人类反馈的强化学习)就是典型,其中奖励模型 (Reward Model, RM) 最重要,扮演裁判,专门给 LLM 生成内容打分,告诉 RL 哪个好、哪个不好,这样 LLM 才能学好。
(2)RM有什么要求
RM 要求
啥都能评 (通用) :不管写代码、写小说还是回答安全问题,都得能评,但不同任务的标准差远了,一个固定逻辑很难都评得准。 评得准 (准确) :基本要求,但众口难调,标准又多变,保证准确性很难。 输入灵活 (灵活) :有时候评1个答案,有时候比较2个,有时候给一堆答案排序,传统 RM 可能只擅长一种。 能“进化” (可扩展) : 很多 RM 裁判,给再多时间(计算资源)思考,打分还是那样,没法通过“多想想”变得更准。 像人一样,多花点时间琢磨,判断就能更靠谱,这就是“推理时可扩展性”。
(3)RM如何当裁判
几种 RM 裁判范式
A. 标量裁判 (Scalar RM) 原理:给定 问题 (Query) 和多个回答 (Response),直接吐出分数(标量)。简单粗暴。 缺点: 黑箱操作:为啥给这个分?不知道,猜不透里面的逻辑。 死脑筋:给同样的输入,基本就出同样的分数,多算几次提高准确度?难!缺乏“推理时可扩展性”。 B. 半标量裁判 (Semi-Scalar RM) 原理:结合两边优点,既给分数,也给文字点评 (Critique)。 比如 CLoud 模型。 缺点:点评看起来更透明,但仍然难以实现推理时性能扩展,因为分数变化不大。 C. 生成式裁判 (Generative RM, GRM) 原理:主要靠写“点评” (Critique) 来工作,分数从点评文字里提取出来。 Pointwise GRM:论文和 SPCT 用的基础款。给每个回答独立写点评、打分(而不是非要两两比较),所以处理单个、一对、多个回答都很灵活。 潜力股:写东西(生成文本)这事儿,天生就有点随机性。多写几次点评,结果可能不一样。这就为通过采样投票来提升性能(推理时扩展)埋下了伏笔。
死脑筋,缺乏推理时可扩展 | ||||
SPCT 登场:让裁判先定规则再打分
【2025-4-4】DeepSeek 新论文《Inference-Time Scaling for Generalist Reward Modeling》提出新训练方法:Self-Principled Critique Tuning ( SPCT
) , “自定原则、自我点评”。
SPCT 用生成式奖励模型 (Generative Reward Models, GRM) 。
GRM 裁判不直接给分,而是先写一段“点评”(Critique),说明为啥好、为啥不好,最后再从点评里提炼出分数。
SPCT 更进一步:
要求 GRM 在写点评之前,先自己想想这次评估应该看重哪些“原则” (Principles) ,比如“代码要简洁”、“回答要诚实”等等 然后再根据这些刚定好的原则去写点评、打分。
(5)SPCT原理
SPCT 核心是把 RM 工作流程从“直接给分”变成了“定原则 -> 写点评 -> 提分数”的间接评估。
为啥间接评估更好?
“想明白”比“凭感觉”靠谱:直接打分的标量 RM 像个黑箱,逻辑不清晰。SPCT 要求模型先明确“原则”(这次重点看啥),再基于原则写“点评”(分析过程),相当于强制把思路理清楚。这样做不仅打分更准、更稳(好原则能提高准确率),而且也能看懂为啥这么评,可解释性大大增强。 “想法多”才能“集思广益” :标量模型输出固定。但 GRM 生成原则和点评时,引入一些随机性(比如调整 temperature 参数)。对同一个问题多问几次,可能会从不同角度(原则侧重不同)给出不同的分析和分数。这种输出的“多样性”,正是后面用投票等方法提升性能的基础。没多样性,投一百次票结果也一样。 “规则自适应”才能“通吃” :评估任务千变万化,标准也各不相同。SPCT 让模型自己根据当前的问题和回答,动态生成最合适的“原则”。能自适应地调整评估重点,这对于打造能胜任多种任务的通用 RM 裁判至关重要。
SPCT 裁判工作流程
经过 SPCT 训练的 GRM 裁判,评估:
自定原则 (Self-Generated Principles) :拿到问题 Q 和回答 Ri,先生成一套评估原则 pj,可能还带权重。 生成点评 (Critique Generation) :然后,根据自己刚定的原则 pj,给每个回答 Ri 写详细的分析报告,也就是点评 C。 提取分数 (Score Extraction) :最后,用一个解析工具,从点评 C 里把每个回答 Ri 的分数 Si 扒出来
直接打分 vs. SPCT 间接打分
SPCT 多了中间“定原则”和“写点评”两步,让整个评估过程更结构化、更透明了。
两阶段训练法
SPCT 目标
训练出一个既能生成高质量原则和点评,又能导出准确分数,还具备良好扩展性的 GRM。
训练分为两个阶段:
阶段一:拒绝式微调 (RFT - 先热个身)
目的:让预训练好的 GRM 先熟悉一下生成原则、点评、分数的套路,并能处理不同数量的输入(单个、多个回答)。
过程:
试着评:拿 RM 数据集里的问题和回答 (Q,Ri),让 GRM 多试几次(N_RFT 次),每次都生成原则、点评和分数 Si 挑三拣四(拒绝策略) :比较 GRM 给的分数 Si 和数据集里的标准答案(偏好 ri) 如果评错了(比如把差的说成好的),这次尝试就不要(标记 "Incorrect")。 如果对某个问题,试了 N_RFT 次全都评对了,说明太简单了,也不要(标记 "Too Easy")。 用好的练:把那些评对了、但又有点难度的尝试(被接受的样本)收集起来,组成 RFT 数据集,用标准的监督学习方法微调 GRM。
阶段二:基于规则的在线强化学习 (Rule-Based Online RL - 实战提升)
目的:
进一步打磨 GRM,让它更倾向于生成那些能导出正确评估结果的原则和点评。特别是要提升它通过多次尝试(采样)来提高判断准确度的能力(即可扩展性)。
过程:
再评一次 (Rollout) :模型拿到 (Q,Ri),走一遍流程:生成原则 -> 生成点评 -> 提取分数 Si 给奖惩 (奖励信号计算) :比较模型预测的分数/排序 Si 和标准答案 ri,根据一个简单规则(论文公式 5)给个奖励 r。 更新模型:用在线强化学习算法(比如 GRPO),根据这个 +1 或 -1 的奖励信号来更新 GRM 的参数,鼓励它多生成能拿 +1 分的原则和点评。
经过 SPCT 训练出来的 DeepSeek-GRM 模型,确实有几把刷子:
更准、更稳 强制模型先想原则再点评,减少了瞎猜和偏见,评估结果自然更准确、更可靠。 能“越算越准” (推理时扩展性) SPCT 的核心亮点:训练好的 GRM,使用时多花点计算资源来提升性能: 更透明、灵活 生成的原则和点评能看懂模型为啥这么打分,不再是黑箱。 同时,Pointwise GRM 形式处理单回答、双回答、多回答排序等各种情况都得心应手。 更通用 模型能根据输入自适应地调整评估原则,不同领域、不同类型的任务上表现更好,通用性更强。
DeepSeek-GRM-27B拔得头筹,其中GPT-4o(greedy)优于Voting版
DeepSeek-GRM-27B(MetaRM)总分最高 72.8,其次是DeepSeek-GRM-27B
计算资源分配
多问几次 (采样机制) :对同一个问题和回答 (Q,Ri),让模型独立地、带点随机性地(比如 temperature > 0)思考 k 次。因为想法(生成过程)有多样性,每次可能会得到不同的原则、点评和分数。 汇总意见 (聚合机制) : 简单投票 (Voting) :最直接的方法,把 k 次采样得到的每个回答的分数加起来或取平均,得到最终总分。谁总分高就选谁。比如图 3 里的例子,4 次采样 R1/R2 得分分别是 [1, 5], [5, 6], [4, 8], [7, 6],投票结果 R1=17, R2=25,最终选 R2。 精英投票 (Meta RM 引导 - 可选) :更高级的玩法,可以再训练一个“裁判的裁判” (Meta RM),专门评估每次采样生成的 (原则, 点评) 的质量。投票时,只选那些 Meta RM 评分最高的 k_meta 次采样的结果来汇总,把质量差的意见过滤掉。如图 3,Meta RM 可能筛掉一些低分采样再投票。
随着采样次数 k 增加,不管是简单投票还是精英投票,DeepSeek-GRM 性能都蹭蹭往上涨,证明确实能“越算越准”。
附录
参考资料:
DeepSeek原论文:https://arxiv.org/pdf/2504.02495
论文解读:https://zhuanlan.zhihu.com/p/1892195842665981470