Group Relative Policy Optimization (GRPO)
组相对策略优化(GRPO)是一种无需评论家模型的 RL 方法,它通过将每个回答与同组回答进行评分来提升 LLM 的推理能力。本文将其与 PPO 进行比较。
组相对策略优化(GRPO)是一种节省内存的强化学习算法,旨在提升大型语言模型(LLMs)及更广泛的人工智能(AI)系统的推理能力。GRPO 首次发表于 2024 年的 DeepSeekMath 论文,它通过省去单独的价值网络(评论家模型),改进了传统优化方法。相反,它会对同一提示生成的一组回答所获得的奖励进行归一化。通过比较组内回答之间的相对表现,GRPO 大幅降低了计算开销,同时提升了现代深度学习(DL)架构在复杂推理任务上的性能。
GRPO 与 PPO 的区别#
GRPO 与近端策略优化(PPO)有相似之处;PPO 是一种标准的优化算法,常用于人类反馈强化学习(RLHF),但两者的架构有显著区别。PPO 需要一个与主策略网络并行运行的辅助“评论家”模型,用于估计给定状态的价值。这几乎会使训练阶段所需的内存增加一倍。
相比之下,GRPO 是一种无需评论家模型的算法。对于单个提示采样多个输出,并使用基于规则的奖励系统或验证器为它们评分后,GRPO 会通过对特定组内的分数进行归一化来计算优势。这种相对比较充当基线,节省了价值网络原本会占用的大量内存,并加快整体模型训练。一次 GRPO 更新包含以下步骤:
GRPO 的现实应用#
GRPO 推动了近期生成式 AI和自然语言处理领域的多项突破。两个值得关注的应用包括:
- 数学推理模型: 在广受关注的 DeepSeek-R1 发布和 DeepSeekMath 中,GRPO 用于激励模型进行长篇思维链推理和自我验证,达到 OpenAI 的 o1等专有模型的性能。通过奖励正确的最终答案和格式,算法让模型无需大量使用人工标注数据进行微调,也能自主发现先进的问题解决策略。
- 代码生成与智能体逻辑:对于编写代码或驱动自主智能体工作流的模型,评估绝对正确性颇具挑战。GRPO 让模型通过执行不同的代码变体进行学习,并根据编译是否成功或通过的测试用例数量进行相对评分,从而加快高可靠性 AI 编码助手的部署。
在 PyTorch 中实现 GRPO 概念#
GRPO 的核心是通过对回答的奖励进行归一化来计算相对优势。下面是一个基础的 PyTorch实现,演示了如何使用标准张量运算进行归一化:
def compute_grpo_advantages(rewards):
# 'rewards' 是一个形状为 (batch_size, group_size) 的张量
group_mean = rewards.mean(dim=1, keepdim=True)
group_std = rewards.std(dim=1, keepdim=True)
# 在组内对奖励进行归一化,以计算相对优势
advantages = (rewards - group_mean) / (group_std + 1e-8)
return advantages通过智能优化推动 AI 发展#
正如 GRPO 重新定义了文本生成的效率,先进的机器学习(ML)技术也在持续重塑视觉感知。优化架构和损失函数,能让开发者在各个领域构建更轻量、更快速的模型。
对于先进的计算机视觉任务,探索端到端优化同样至关重要。例如,Ultralytics YOLO26支持原生端到端、无 NMS 推理,采用一对一检测头(nms=False),并使用受 LLM 研究启发的混合优化器进行训练,从而简化边缘部署。希望利用高效计算机视觉工作流的开发者,可以使用 Ultralytics Platform轻松构建、训练和部署模型。这款云工具简化了复杂的数据集管理和超参数调优,助力构建可靠的实时视觉应用。










