2025年2月28日星期五

为什么大家都在吹deepseek的GRPO?

咱们在训练大语言模型llm时,一个最大的问题是中间状态很难评估,由于语言生成是一个自回归式的序列决策过程,我们很难直接判断某个中间状态的好坏,——它是否能最终生成一个高质量答案,往往是不确定的。


这就带来了一个核心问题:PPO中使用的critic model(即计算价值函数value function 用的模型)到底有没有用?它的意义有多大?准不准?这都是很难确定的。



在PPO方法中,critic model的任务是预测从某个中间状态开始的预期回报,用来指导策略的优化。理论上,这听起来很合理,如果能准确预估每个中间状态的价值,模型就能更好地决定下一步该生成什么。然而,在实际的语言生成任务中,情况远没有这么简单。语言的复杂性在于,同一个中间状态可能发展成截然不同的最终结果,critic model很难准确预测这种预期回报。


如果critic model给的价值函数不够准,策略更新的方向就会出现偏差,最终影响训练效果。所以,PPO中critic model的意义虽然存在,但它的准确性是个大问题,限制了整体方法的可靠性。


相比之下,GRPO采取了一种截然不同的思路:它直接让llm多次sample,生成完整的响应,然后用显式的奖励来评价这些最终结果。



正因为一把梭哈,直接生成结果,完全跳过了对中间状态的评估,直接聚焦于完整输出的质量。既然中间状态这么难评估,那就干脆不评估,生成结果出来后自然可以通过设计好的奖励机制来判断好坏。这样一来,GRPO省去了预测中间状态价值的麻烦,直接依赖最终输出的奖励信号。


更重要的是,这种方式可以通过显式设计reward奖励信号,而且必然是有效的。因为奖励是针对完整响应计算的,这种清晰的反馈比PPO中模糊的价值函数预测要可靠得多。


之前PPO的critic model总是试图精细地预测每个步骤的价值,但准确性往往非常难以保证,徒增了复杂度和不确定性。但是GRPO用一种非常直白粗暴的方式解决了中间状态评估的难题。


大道至简,GRPO既不用训练reward model,更不用在训练时更新参数量同样巨大的critic model,又能获得有效reward 监督信号,不仅降低了计算复杂度,还保证了反馈的有效性。


训练llm竟然还真有这种好事,当然被吹爆了,你用你也麻。


没有评论:

发表评论