谁在滥用 GRPO?

152 阅读5分钟

过去一年,一种名叫 GRPO 的强化学习算法迅速走红。它的出圈,离不开 DeepSeek 等大模型厂商的推动,也引发了不少技术团队的模仿与竞赛。然而,模仿背后是对技术原理的模糊理解,以及对资源成本的盲目投入。

什么是 GRPO?它为什么会流行?

在训练大模型时,最难的问题之一是:如何告诉模型什么样的输出是「好的」?传统监督学习需要给模型喂标准答案,但对于自然语言这类没有唯一正确答案的任务,这种方式显得力不从心。

在传统的 PPO 机制下,模型做出一个行为(比如输出一段文字),系统会给它一个「奖励分」,类似于领导打分:「你做得不错,给你 10 万年终奖。」这个评分是基于固定标准来的,模型自己并不知道别人得了多少,也不太清楚自己做得好不好,只知道自己拿了这个数。

而 GRPO 就不一样了,它并不直接告诉模型「你做得对不对」,而是告诉它「你比别人做得好不好」。你可以把它想成一种带有社交压力的年终奖:它会把所有模型输出的「员工」拉进一个群,告诉大家彼此的年终奖。你以为你拿了 10 万就不错了,结果看到别人拿了 15 万,顿时明白自己还有差距。

这种机制的核心不在于「打分」,而在于「参照」。GRPO 不只是奖励模型本身的表现,更通过对比一批输出之间的好坏,引导模型向表现更好的方向靠近。它不仅关注结果是否优秀,还会考虑模型相对旧版本的变化,通常通过 KL 散度衡量「有没有学偏」——学得太不像原来的自己,就会被拉回来。

相比之下,PPO 更像是闭卷考试,只盯着你自己;而 GRPO 是开放式比拼,谁得分高、谁进步多,大家心里都清楚。所以,GRPO 更灵活、泛化能力更强,也更适配复杂模型。

image.png

问题是:它真的适合所有任务吗?

许多团队在没有搞清楚 GRPO 原理的情况下,急于跟风使用,把它强行套在了并不适合的任务上,尤其是那些高度开放、缺乏标准答案的自然语言生成任务。

为什么说不适合?因为强化学习需要准确反馈。比如你让模型打一份报告,如果你都无法量化好与不好的标准,那怎么给它反馈? 告诉模型「这段话不错,给你打7.5分」听起来简单,实则主观性极强。

自然语言任务本身就充满不确定性:一段回答是否清晰,往往因人而异;逻辑、风格、语气等因素交织,很难建立统一的评分标准。

像数学、计算机编程语言这种人工语言,诞生之初就是为了消除我们说话时的不确定性。现在却要用它来衡量本身就充满模糊性和歧义的自然语言,这几乎不可能。

在样本量不足、反馈机制粗糙的前提下,GRPO 的学习效果就会变得摇摆不定,甚至学偏了。

它更适用于那些目标明确、确定性强的任务,比如将文本转换为结构化配置(如 JSON)、生成特定格式的代码,或判断某个操作是否合规。在这些场景中,结果对错清晰可判,模型可以自动比对输出与预期,快速获得稳定的反馈,从而实现有效优化。而不是把 GRPO 应用在开放问答、自由写作这样的主观领域。

盲目追风,资源消耗巨大

由于对 GRPO 认识不足,不少团队为了追上「强化学习的风」,开始大规模部署资源。

某工程部门曾表示,有些训练任务理论上仅需不到百张卡即可完成,但实际某部门申请却高达千张,仅为早点完成训练,资源使用效率堪忧。

image.png

这不仅造成了 GPU 资源挤兑,还影响了其他基础任务的正常排期。而最终,这些训练任务的结果并没有达到预期,模型性能并未提升,反而让整个团队投入越多、效果越差。

更关键的是,很多项目负责人并不在意最终效果,他们只需要一个「我们用了 GRPO」的技术标签来向上交差。

微调就不香了吗?

一些人之所以迷恋 GRPO,是因为它听起来更高级。相比之下,传统微调(fine-tuning)似乎显得「土」,没有技术标签的光环。

但真相是——如果目标足够明确、数据质量够高,微调完全可以实现良好效果。很多应用场景,根本不需要强化学习那套复杂流程,用了反而更糟。

技术最终是为业务服务,不是为了展示汇报服务。一个能完成任务的微调模型,胜过一堆堆着 GPU 卡跑出来却没效果的「强化作品」。

训好模型最后还是要回归理性、审慎。

本文首发言辞之间,同步稀土掘金。