GRPO的问题:不准确的优势归因 要理解Chunk-GRPO做了什么,得先搞清楚现有方法的问题出在哪。 步骤级GRPO的数学形式 在流匹配的标准GRPO中,策略(T2I模型,记为θ)通过最大化目标J(θ)来更新。 Chunk-GRPO在这方面表现不错,研究团队把它和基础FLUX.1模型以及标准步骤级Dance-GRPO做了对比。 使用清晰的标签,如"基础模型(FLUX.1)"、"标准RL(Dance-GRPO)"和"Chunk-GRPO"。突出显示Chunk-GRPO的获胜分数。 FLUX、DanceGRPO、不带时间动态的Chunk-GRPO、带时间动态的Chunk-GRPO和带加权采样的Chunk-GRPO之间的额外可视化比较。 论文也展示了失败案例。
本文深入探讨了 DeepSeek 提出的组相对策略优化(GRPO)算法。 (三)GRPO 的诞生 为应对上述问题,DeepSeek 提出了 GRPO 算法。 六、GRPO 的局限性与挑战 (一)奖励函数设计 尽管 GRPO 在算法机制上取得了诸多突破,但奖励函数的设计仍然是一个关键挑战。 七、GRPO 的实际应用场景 (一)数学推理 DeepSeek-R1 在数学推理任务上取得了令人瞩目的成果,充分展现了 GRPO 算法的强大威力。 (二)代码生成 在代码生成领域,GRPO 同样发挥着重要作用。通过 GRPO 的训练,模型能够生成更高质量、更符合规范和需求的代码。
围绕“解决训练不稳定性、提升样本效率”这一核心目标,从GRPO到GSPO再到SAPO的算法进行了持续探索。 】 1,GRPO训练瓶颈 • 异策略训练的必要性 在RL训练中为了最大化硬件利用率,提升样本效率,需要采用较大的批次规模。 以上揭示了GRPO设计的核心症结:优化目标的单位与奖励的单位不匹配。由于奖励是基于整个序列授予的,在token级别进行异策略校正显然存在根本性缺陷。 2,GSPO 目标函数序列级优化 2.1,对齐奖励与序列级设计 与GRPO的token级设计不同,GSPO的核心思路是:让优化单位匹配奖励单位。 总结: 从GRPO到GSPO再到SAPO的演进,本质上是对“异策略学习中稳定性与样本效率平衡”这一核心问题的逐步优化: 优化粒度升级: GRPO(token级)→ GSPO(序列级)→ SAPO(序列级
GRPO 是促使 DeepSeek-R1 成功的基础技术之一。最近一两年,GRPO 及其变体因其高效性和简洁性,已成为业内广泛采用的强化学习算法。 结果显示,在所有设置中,GDPO 都稳定地优于 GRPO,验证了其在多奖励强化学习优化中的有效性和良好泛化能力。 GRPO 有什么问题? 作者首先重新审视了这种将 GRPO 直接应用于多奖励强化学习优化的常见做法,并发现了一个此前被忽视的问题:GRPO 本质上会压缩奖励信号,导致优势估计中的信息损失。 近期,Dr.GRPO 和 DeepSeek-v3.2 采用了 GRPO 的一个变体,移除了标准差归一化项,使得优势直接等于原始奖励减去均值。 作者通过在两种实验设置下比较 GDPO、GRPO 和「无标准差 GRPO」产生的不同优势组数量,进一步量化了 GDPO 的有效性,如图 3 所示。
论文方案 GRPO的解决方案就是直接去掉了Critic网络。GRPO的核心创新思路很简单:直接剔除Critic,启用群体相对优势。PPO中Critic存在主要就是为了计算优势函数,而什么是优势呢? 但是,论文指出在长链推理任务中,使用 GRPO 会遭遇一些问题,比如样本级别的 loss 计算方式、KL 散度限制(在推理时可能不必要)。 论文指出GRPO这种方法训练不稳定问题的根本在于:GRPO 使用 token-level的重要性比率(注意不是token-level的loss和DAPO不要搞混了),但是reward的单位通常是整条 sequence 论文指出 GRPO 在这类模型上极不稳定。 相比 GRPO 的 token-level 可能引入高方差,GSPO 更稳定,尤其在训练大模型例如 MoE 时减少崩塌风险。
本文围绕GRPO 主要介绍: 1)经典PPO中四个模型作用以及存在的问题。 2)GRPO的主要改进点,公式推导和训练流程。 3)GRPO中优势函数的两种计算方式,结果监督和过程监督。 2,GRPO 分组相对策略优化 2.1,GRPO核心创新和训练流程 GRPO 两大核心创新,“分组采样“ 和 “相对奖励基线”: • 用 “分组相对奖励” 替代价值函数:对于每个问题,从旧策略中采样一组输出 2.2,GRPO 公式推导 GRPO 的策略优化目标函数继承了 PPO 的剪辑机制,避免策略更新幅度过大导致的训练不稳定。 GRPO 直接将 KL 散度作为损失项的一部分,并采用无偏估计器计算 KL 散度,避免了对优势值计算的干扰。公式如下: GRPO 优势函数 的计算,无需价值函数,仅依赖分组内的相对奖励。 GRPO 的优势函数计算逻辑清晰,能有效引导策略更新。
在介绍 GFPO 之前,有必要先看看 DeepSeek 提出的组相对策略优化(GRPO)。 写成公式的话,如果令 θ 表示模型参数,q 表示问题,o 表示从旧策略 π_θ_old 采样的响应,则 GRPO 目标可以写成: 需要注意的是,尽管这里展示了标准的 GRPO 损失归一化公式,但包括 verl GRPO 的一个关键限制在于它依赖于单一的标量奖励信号,这使得它难以联合优化多个期望得到的响应属性,例如简洁性和准确度。结果就是,GRPO 确实能提高准确度,但也会让响应长度大幅增加。 因此,GFPO 的主要干预措施是在优势估计层面,使其可与任何 GRPO 变体兼容,例如 DAPO、Dr. GRPO 或带有 Dual-Clip PPO 损失的 GRPO。 发现 9:在最长的响应四分位数中,GFPO 的准确度优于 GRPO。
最近,DeepSeek-R1的发布为国产大模型争光了(太强了),不过 GRPO 算法源自 DeepSeekMath 7B 模型,该模型在 MATH 基准测试中取得了优异成绩,论文发表于2024年2月份: 其次,我们引入了群体相对策略优化(GRPO),这是一种近端策略优化(PPO)的变体,旨在增强数学推理能力,同时优化PPO的内存使用。 对比数据 1、什么是GRPO GRPO 是一种在线学习算法,核心思想是通过组内相对奖励来估计基线,从而避免使用额外的价值函数模型。 通过在训练期间使用受训模型自身生成的数据来迭代改进,GRPO 旨在最大化生成补全的优势,同时确保模型保持接近参考策略,下图是论文中的算法流程图: GRPO GRPO 是 PPO (Proximal Policy model GRPO 奖励计算,改成了一个 q 生成多个 r,然后 reward 打分 GRPO算法流程: 采样一组输出并计算每个输出的奖励 对组内奖励进行归一化处理 使用归一化后的奖励计算优势函数
为此,Deepseek 团队提出了Group Relative Policy Optimization (GRPO),使用多个采样输出的平均奖励。 除此之外,在目标损失中,GRPO还修改了KL散度的计算,通过只计算一个采样到的 token就能估计 KL。传统的KL散度计算需要通过计算所有的token,增加优势计算复杂度。 GRPO 代码实现policy_model:当前要更新的 LLM(Decoder-only),带 forward 和 generate_with_logprobsref_model:冻结的 SFT 模型 # [B, L] seq_logprob = token_logprobs.sum(dim=-1) # [B] return seq_logprob2️⃣ 单步 GRPO 单步 GRPO 更新 loss, info = grpo_step( policy_model=policy_model, old_policy_model
它对数据的质量要求极高,偏好数据的优劣直接决定了模型对齐的效果 GRPO : Group Relative Policy Optimization,群组相对策略优化 GRPO是DeepSeek团队提出的一种更高效的强化学习算法 GRPO的创新之处在于,它直接抛弃了Critic模型。 训练方式:对于同一个问题,GRPO让当前策略模型生成多个不同的回答,构成一个“小组”。 GRPO:在群体比较中自我提升 GRPO,即群组相对策略优化,是一种更新、更高效的强化学习算法。DeepSeek-R1模型就是应用此技术的代表。 核心含义:对于同一个问题,GRPO让当前模型生成多个不同的回答,形成一个“小组”。 然后,再使用 DPO 或 GRPO 进行第二步的对齐训练,让它的回答更符合人类偏好。
-8a75007491ba GRPO动机 什么是 GRPO? GRPO 的本质思路:通过在同一个问题上生成多条回答,把它们彼此之间做“相对比较”,来代替传统 PPO 中的“价值模型” 为什么选择 GRPO? GRPO 如何应对这些挑战: 无价值模型优化:GRPO 通过比较组内的响应消除了对评论模型的需求,从而显著减少了计算开销。 GRPO实现 来源:GRPO Trainer,https://huggingface.co/docs/trl/main/en/grpo_trainer 为了方便后人使用GRPO进行开发,DeepSeek 图片来源:https://huggingface.co/docs/trl/main/en/grpo_trainer 为什么 GRPO 有效 无需批评:GRPO 依靠群体比较避免了对单独评估者的需求,
,比如《DeepSeek 用的 GRPO 占用大量内存? 既然 GRPO 如此有效,那么,你知道如何从头开始实现 GRPO 吗? 接下来我们就来看看这份 GRPO 从头实现教程吧。 Part 6:从头开始实现 DataParallel GRPO 这一节,我们将从头实现 GRPO 算法的所有构建模块。首先,这里假设运行代码的机器至少有 2 台 GPU。 强化学习微调:为从头开始实现 GRPO 的训练函数 train_with_grpo 配置适当的训练参数和奖励函数。然后,在剩余的训练数据上执行强化学习训练。
本文为那些 GPU 资源有限时使用 GRPO 训练的开发者提供了宝贵的指导。 自 DeepSeek-R1 发布以来,群组相对策略优化(GRPO)因其有效性和易于训练而成为大型语言模型强化学习的热门话题。 原文链接:https://www.oxen.ai/blog/grpo-vram-requirements-for-the-gpu-poor 作者表示,他发现 trl 库中已经有一个易于使用的 GRPO 为什么 GRPO 对内存需求较高 这要从 GRPO 的原理说起,这是它的流程图。 GRPO 对内存需求较高的原因在于,其内部涉及多个模型,并且在训练数据中每个查询会产生多个输出。 batch_size=1,由于 GRPO 为每个查询生成多个响应,batch size 会迅速失控。
)的约 2-3 倍,而 token 效率是 GRPO 的 1.5 倍、是基础模型的 5 倍。 GRPO 是 DeepSeek-R1 的关键强化学习算法。 对于第二种设置,研究者对 Llama 3.1 进行微调以实现回溯,结果表明,MRT 相较于 STaR 和 GRPO 均实现了 1.6-1.7 倍的 token 效率提升。 然而,与基于结果奖励的 RL 方法(如 GRPO)相比,使用 MRT 的相对性能提升约为 2-3 倍。 图 8(右)显示,与结果奖励 GRPO 相比,MRT(RL)通过减少 1.6 倍的 token 来提升线性化效率。 © THE END 转载请联系本公众号获得授权
RL 调整中不断增加的输出长度可能是由于 GRPO 中的 BIAS 造成的? GRPO(GRPO Done Right)(图 1 中显示)。 为了理解 R1-Zero 上的训练方式,研究人员仔细观察了两个核心部分:基础模型和强化学习,随后重点介绍了其发现。 为了优化 GRPO 算法并解决其存在的偏差问题,研究针对 GRPO 两处修改:一是删除了长度归一化项 ∣oi∣,二是移除了标准差(std)标准化项。 GRPO,并通过实验验证了其在实际应用中的有效性。 如图 5 所展示的多项实验对比结果,证明 Dr. GRPO 能够有效缓解优化偏差并显著减少了错误回答的长度。 作者还使用 Llama 基础模型重新审视了 GRPO 的优化偏差。图 7 的右图比较了使用 GRPO 和 Dr.
第二章数学内核:GRPO目标函数的深度解剖理解了GRPO的历史定位后,我们需要深入其数学内核。 GRPO的组采样在同一分辨率下进行,避免比较基准不一致。第五章前沿演进与未来展望:GRPO之后是什么?尽管GRPO在2026年占据主导地位,但技术演进从未停止。 本章探讨当前最前沿的研究方向,以及GRPO可能的演化路径。5.1GRPO的理论局限与改进方向组大小敏感性:GRPO的性能对GroupSize的选择高度敏感,且最优G随训练阶段变化。 GRPO与TTCS的结合产生了两种新模式:GRPO训练的SearchPolicy:用GRPO训练一个专门的搜索策略网络,指导推理时的BeamSearch或TreeSearch。 偏好GRPO:将DPO的偏好对思想融入GRPO框架。组内样本不再按绝对奖励排序,而是按成对偏好排序。这结合了DPO的数据效率和GRPO的在线探索能力,是2026年下半年最受关注的研究方向之一。
2.强化学习(RL)阶段GRPO算法应用:基于SFT后的模型,引入GRPO进行强化学习优化。 此外,GRPO在多轮RL迭代中表现出更强的收敛性,例如在纯RL训练的R1-Zero阶段(未使用SFT),模型仍能通过GRPO自我进化推理能力。 3.优化策略GRPO算法通过以下优化策略进一步提升性能:(1)减少对价值网络的依赖与PPO等传统方法不同,GRPO不需要依赖价值网络来评估策略的好坏。 GRPO算法:GRPO算法通过组内相对奖励优化策略模型,避免了对价值网络的依赖,从而显著降低了计算和存储需求。这使得GRPO在大规模模型训练中更加高效。 GRPO算法:GRPO在数学推理和代码生成任务中表现出色,显著提升了模型的通过率和代码可运行性。此外,其训练效率也得到了显著提升。
并且他在这个过程中用到了 DeepSeek 开发的 GRPO 算法,最终他「成功在一个小型数独数据集上实现了高奖励和解答」。 下面我们就来具体看看他的博客文章,了解一番他的开发思路。 加上我的资源有限:如果使用 unsloth grpo 训练,24GB RTX 4090 大约最多只能放入 3000 上下文长度。 实验方法 我决定探索强化学习(尤其是 GRPO)能否让语言模型变成数独求解器。 4、强化学习可以教授结构化思维 尽管困难重重,GRPO 还是成功地教会了 7B 模型保持正确的格式并开始解题,这些技能并不是语言模型所固有的。 进行更长时间和更大批次的训练 探索模型架构:测试 7B 模型的 LoRA rank 32,看更高的 rank 是否能提高性能 蒸馏法:从 DeepSeek R1 等大型模型中提炼出冷启动数据集,然后在此基础上应用 GRPO
,还分享了如何用 GRPO 训练推理模型的技巧。 本文涵盖了你需要了解的关于 GRPO、强化学习 (RL) 和奖励函数的所有内容 —— 从初学者到高级,还有基于 Unsloth 使用 GRPO 的基础知识。 /tutorial-train-your-own-reasoning-model-with-grpo GRPO 是如何训练模型的? 使用 GRPO 训练的次数越多越好。GRPO 最大的优点是你甚至不需要那么多数据。你只需要一个优秀的奖励函数 / 验证器,并且训练时间越长,你的模型就会越好。 常规微调(不使用 GRPO)仅最大化下一词的预测概率,而不会针对奖励进行优化。GRPO 针对奖励函数进行优化,而不仅仅是预测下一词。 你可以在多个 epoch 中重复使用数据。
会用一点篇幅讲历史,更多篇幅留给 PPO、DPO、GRPO 和 MARL——它们是什么、各自适合什么场景、实际中会在哪里坏掉,以及今天的开源技术栈大概长什么样。 这个局限,正是 GRPO 要填的那个空。 GRPO:把 critic 也一起删掉 到 2024 年,大家讨论的已经从“让模型更礼貌”转向“让模型 思考 ”。 GRPO 以及另外几个,都是 GRPO 的小幅改进。核心思想没变:用一组 rollout 作为基线。 发展历程:从“人喜欢什么”到“什么是可校验地正确” PPO、DPO、GRPO 摆算法显然不,。 ORM + GRPO 为什么就够了? GRPO 对同一个 prompt 采样一组 G 个 rollout并在组内对奖励做归一化。 GRPO 删除了 critic。 结果奖励删除了按步标注的需求(在单智能体场景下)。