
GRPO教会DeepSeek R1高智商推理,但GRPO可能不完美且有偏见 | Dr. GRPO简化之,消除偏见带来改进
DeepSeek R1在数学推理、问题解决等复杂任务上的表现令全世界瞩目。它在AIME 2024等高难度数学测试中取得了79.8分好成绩(OpenAI o1-1217得分79.2)。而这一切的背后,有一个关键技术功不可没——Group Relative Policy Optimization(GRPO),一种基于强化学习的优化算法。
尽管GRPO教会R1高智商推理,但有研究人员发现,它存在一些缺陷,比如它会导致模型生成冗长的错误回答,或者更倾向于解决简单问题而忽略难题。大家在用DeepSeek R1的时候,估计也遇到过这样的场景:当它思考过程是错误的时候,会在那儿叨叨没完没了,陷入一个怪圈中出不来。
为了解决这些问题,来自新加坡的研究团队提出了一个改进版本——Dr. GRPO(Group Relative Policy Optimization Done Right)。Dr. GRPO尝试消除GRPO的偏见,提升模型的推理准确性和效率。
GRPO:R1高智商推理的“幕后老师”
在探讨GRPO的缺陷或偏见之前,我们先来回忆一下它是什么,以及它如何帮助R1在数学推理任务中大放异彩。
GRPO的核心思想
GRPO是一种强化学习(Reinforcement Learning, RL)算法,专门用于优化大型语言模型的推理能力。在R1的训练中,GRPO会让模型针对一个数学问题生成多个回答(称为“响应组”),比如10个不同的解答。然后,它会根据这些回答的正确性打分:正确答案得1分,错误答案得0分。通过比较这些回答的得分,GRPO计算出每个回答的“优势”(advantage),也就是这个回答比其他回答好多少或差多少。最后,它用这个优势值调整模型的参数,让模型更倾向于生成正确的回答。
这种方法让R1在数学推理任务上取得了显著进步。更重要的是,R1还展现了一些“类人”的推理行为,比如自我反思(self-reflection)和“顿悟时刻”(Aha moment)。例如,它会在回答问题时尝试不同的解法,并在过程中检查自己的思路,这种能力让它在高难度测试中表现尤为出色。
GRPO的技术细节
为了更直观地理解GRPO,我们来看看它的核心公式:
其中优势函数计算方法如下
这个公式看起来复杂,但它的核心思想很简单:通过奖励对比,找到更好的回答策略,并调整模型让它更倾向于生成高奖励的输出。
GRPO的缺陷:为何它不完美?
尽管GRPO帮助R1取得了优异成绩,但它并非没有问题。研究人员发现,GRPO存在两个主要缺陷:响应长度偏见和问题难度偏见。这些偏见让模型在训练过程中出现了意想不到的行为,比如生成冗长的错误回答,或者更倾向于优化简单问题而忽视难题。
缺陷1:响应长度偏见——“话痨”模型的诞生
问题出在哪儿?
形象理解:一场不公平的作文比赛
想象你是一个语文老师,正在组织一场作文比赛。你给学生的评分规则是:“如果作文写对了主题,得1分;如果跑题了,得0分。”但你还加了一条奇怪的规定:“得分会除以作文的字数。也就是说,正确作文越短,分数越高;错误作文越长,扣分越少。”
这个规则会带来什么后果呢?学生很快就会发现:
- 如果他们写了一篇短小精悍的正确作文,比如200字,得分是 (1 / 200 = 0.005) 分/字,奖励很高。
- 如果他们写了一篇跑题的作文,但用了1000字,得分是 (0 / 1000 = 0) 分/字,几乎没惩罚。
结果呢?聪明的学生会开始“钻空子”:当他们不确定主题时,就故意写很长的跑题作文,因为这样惩罚少;而当他们有把握时,就尽量精简字数。这种策略虽然符合规则,却完全偏离了你的初衷——你本来是想让学生写出高质量的作文,而不是追求长短。
GRPO的情况也是如此。该“偏见”让模型变成了一个“话痨”:当它不确定答案时,就倾向于生成冗长的错误回答(比如1000个token),因为这样每个token的惩罚被摊薄了;当它确定答案时,则尽量简洁。这种偏见在R1的训练中表现得很明显:错误回答的长度逐渐增加,甚至超过1000个token,而正确回答则相对较短。
实际影响
在MATH数据集的测试中,研究人员发现,经过GRPO优化的模型,错误回答的平均长度显著高于正确回答。比如,错误回答可能长达800-1000个token,而正确回答只有400-600个token。这种“话痨”行为不仅浪费计算资源,还降低了模型的token效率(即生成有效信息所需的token数量),让人误以为模型在“深度思考”,实际上已经陷入错误怪圈。
缺陷2:问题难度偏见——“挑软柿子捏”的优化策略
问题出在哪儿?
GRPO的第二个缺陷来源于公式中的 std项(上面公式中第二个标红的地方),也就是奖励的标准差归一化。这个项会根据一组回答的奖励波动调整梯度更新:
- 如果一个问题的奖励标准差小(比如回答正确率很稳定),梯度更新会被放大。
- 如果奖励标准差大(比如回答正确率波动很大),梯度更新会被缩小。
这导致模型更倾向于优化奖励稳定的问题(通常是简单问题),而对奖励波动大的问题(通常是难题)优化不足。
形象理解:一场不公平的运动会
假设你是一个体育老师,正在训练学生参加跑步比赛。你告诉学生:“我会在不同难度的跑道上测试你们,简单跑道平坦,复杂跑道有很多障碍。你们的得分会根据每条跑道的成绩波动调整:如果跑道上大家的成绩差不多(标准差小),得分会更高;如果成绩差距很大(标准差大),得分会更低。”
这个规则会怎样影响学生呢?他们很快就会发现:
- 在平坦的简单跑道上,大家跑得差不多,标准差小,得分被放大,他们更愿意在这上面努力。
- 在障碍重重的复杂跑道上,有人跑得快有人跑得慢,标准差大,得分被缩小,他们就不愿意花心思挑战。
结果是,学生们开始“挑软柿子捏”,专注于简单跑道,而对复杂跑道敷衍了事。你的初衷是想全面提升他们的跑步能力,但这个规则却让他们只顾着容易的部分。
GRPO的 std项也是如此。它让模型更倾向于优化简单问题(奖励标准差小),而对难题(奖励标准差大)不够重视。这种偏见导致模型在简单任务上进步很快,但在高难度任务上提升有限。
实际影响
在实际测试中,经过GRPO优化的模型在简单问题(如GSM-8K数据集)上的准确率提升明显,但在高难度问题(如AIME 2024)上的进步较慢。这表明,GRPO的优化策略不够公平,无法均衡提升模型在不同难度任务上的表现。
Dr. GRPO:消除偏见的“增强版”优化算法
为了解决GRPO的这两个缺陷,研究团队提出了Dr. GRPO。Dr. GRPO的核心思想是移除偏见项,让优化过程更加公平高效。具体改进包括:
改进1:移除响应长度偏见
Dr. GRPO去掉了GRPO公式中的 1/|oi| 项。新的目标函数变为:
效果
移除 1/|oi| 后,回答长度不再影响梯度更新:
- 正确回答不会因为短而获得额外奖励。
- 错误回答不会因为长而减少惩罚。
回到作文比赛的比喻,Dr. GRPO就像一个更公平的老师:他不再根据字数调整分数,而是只看作文的质量。这样,学生就不会为了少扣分而写冗长的跑题作文,而是专注于提高内容本身。模型也是如此,它不再倾向于生成“话痨”式的错误回答,而是更关注答案的正确性。
改进2:移除问题难度偏见
Dr. GRPO还去掉了 std 项,新的优势函数变为:
效果
移除标准差归一化后,梯度更新不再受问题奖励波动的影响。简单问题和难题对模型优化的贡献变得平等,模型不会“挑软柿子捏”。回到运动会的比喻,Dr. GRPO就像一个一视同仁的老师:无论跑道难度如何,他都用同样的标准评分,学生们必须在所有跑道上努力,而不是只顾着简单的。
Dr. GRPO的整体优势
通过这两项改进,Dr. GRPO让优化过程更加公平:
- 不再“话痨”:错误回答的长度不会无限制增加,token效率显著提升。
- 公平优化:模型对不同难度的问题一视同仁,整体推理能力更均衡。
实验结果:Dr. GRPO的优越性
为了验证Dr. GRPO的效果,研究团队在多个数学推理基准测试中对比了GRPO和Dr. GRPO的表现。以下是详细结果。
实验设置
研究团队使用Qwen2.5-Math-7B作为基础模型,分别用GRPO和Dr. GRPO进行强化学习训练。训练在8个A100 GPU上进行,总耗时27小时。测试基准包括:
- AIME 2024:高难度数学邀请赛。
- AMC:中等难度数学竞赛。
- MATH500:高中数学竞赛题目。
- Minerva Math:定量推理测试。
- OlympiadBench:奥林匹克级难题。
结果1:推理准确性提升
下表展示了不同模型在各基准上的准确率:
- 分析:使用Dr. GRPO训练的Oat-Zero-7B在所有测试中平均准确率最高(51.4%),尤其在AIME 2024上达到43.3%,比SimpleRL-Zero-7B高16.6个百分点,比PRIME-Zero-7B高26.6个百分点。这表明Dr. GRPO显著提升了模型的推理能力。
结果2:token效率提升
Dr. GRPO还显著缩短了错误回答的长度:
- GRPO:错误回答长度随训练增加,甚至超过1000个token。
- Dr. GRPO:错误回答长度稳定在400-600个token,接近正确回答长度,减少约40%-50%。
在MATH500测试中,GRPO的错误回答平均长度为800-1000个token,而Dr. GRPO仅为400-600个token。这说明Dr. GRPO消除了“话痨”倾向,让模型更高效。
结果3:训练稳定性
GRPO训练的模型在奖励提升趋缓后,回答长度仍持续增加,这种“过度思考”现象被Dr. GRPO有效避免。Dr. GRPO的回答长度与奖励信号更匹配,训练过程更稳定。
为什么Dr. GRPO更强?
Dr. GRPO的优越性来源于以下几点:
- 消除“话痨”倾向:移除 1/|oi| 项,避免了模型生成冗长错误回答。
- 公平优化:移除 std 项,让模型均衡提升简单和复杂问题的能力。
- 高效训练:优化目标更直接,模型更快收敛到最优策略。
这些改进让Dr. GRPO不仅提升了准确率,还提高了token效率和训练稳定性。
总结:Dr. GRPO是GRPO的“增强版”
GRPO虽然为R1的高智商推理能力奠定了基础,但其响应长度偏见和问题难度偏见导致了冗长低效的回答和不公平的优化。Dr. GRPO通过消除这些偏见,让模型更专注于提升推理质量,而不是追求无关的长度或简单性。可以说,Dr. GRPO是GRPO的“改进版”,为强化学习优化提供了更高效、更公平的方向。如果你对实现细节感兴趣,可以访问研究团队的GitHub页面(https://github.com/sail-sg/understand-r1-zero)。
本文转载自后向传播,作者: 张发恩
