大模型强化学习GRPO-1
GRPO 训练的核心思想,就是让模型通过「组内竞争」来自我提升,而不是依赖外部裁判打分。这就像老师让学生们互相批改作业,通过对比找出谁的解法更好,从而集体进步。以下是具体拆解:
一、核心机制:组内对比代替外部裁判
不依赖裁判模型。传统方法(如 PPO)需要单独训练一个「奖励模型」来给答案打分,这会消耗大量计算资源。GRPO 直接让模型对同一问题生成多个答案(比如数学题的多种解法),然后通过组内对比来判断优劣。
相对奖励计算。例如,模型生成 64 个答案后,计算每个答案的准确性和格式分。然后:
- 归一化处理:用「(单个答案得分 - 组内平均分)/ 组内标准差」得到相对优势值。正数表示优于平均,负数表示低于平均。
- 优势值分配:将这个相对优势值分配给答案中的每个 token(如每个汉字),作为模型调整策略的依据。
避免过度偏离。在损失函数中加入 KL 散度约束,防止模型偏离初始状态(比如监督微调后的基础模型)。就像老师提醒学生:“可以创新解法,但别完全抛弃课本知识”。
二、训练流程:从生成到优化的闭环
步骤 1:生成候选答案对每个问题(如 “123×456 等于多少?”),模型生成多个答案(如 “56088”“56088”“5608”“560880”)。
步骤 2:计算奖励与相对优势
- 准确性奖励:用正则表达式匹配答案格式,正确得 1 分,错误得 0 分。
- 格式奖励:检查推理过程是否按要求用标签包裹(如 “[思考]...[/ 思考]”),符合得 0.5 分,否则扣分。
- 组内对比:计算每个答案的相对优势值,例如某个答案得 1 分,组内平均分 0.6,标准差 0.2,则其优势值为(1-0.6)/0.2=2,表示显著优于平均。
步骤 3:更新策略模型
- 目标函数:最大化相对优势值与新旧策略概率比的乘积,同时通过剪切操作(如限制概率比在 0.8-1.2 之间)防止更新幅度过大。
- 并行优化:将生成答案和模型训练分配到不同 GPU 组,例如 4 卡负责生成 64 个答案,4 卡负责计算梯度并更新参数,显著提升效率。
三、核心优势:省资源、稳训练、强推理
计算效率翻倍
- 显存占用减少 50%:无需维护与策略模型同等规模的奖励模型(如 PPO 需要同时运行 4 个大模型,GRPO 仅需 2 个)。
- 单卡训练大模型:结合 LoRA 技术,在 16GB 显存的消费级 GPU 上即可微调 1B 参数模型,成本降低 90% 以上。
训练稳定性提升
- 动态正则化:通过梯度监测器自动调整 KL 散度权重,将训练崩溃率从 17% 降至 2.3%。
- 误差平滑效应:组内对比自然抵消随机波动,例如某个答案因运气好得分高,但组内平均后优势值可能回归合理水平。
推理能力显著增强
- 数学竞赛突破:DeepSeek-R1-Zero 在 AIME 2024 中 Pass@1 分数从 15.6% 提升至 71.0%,接近人类专家水平。
- 代码生成优化:在 LeetCode 任务中,GRPO 训练的模型生成代码的通过率比 PPO 高 12%,且格式错误减少 60%。
四、应用场景与扩展
数学推理
- 生成多步解题过程,通过组内对比优化每一步的推导逻辑。例如,在 MATH 数据集的多步证明题中,GRPO 模型的正确推导步骤平均增加 3.2 步。
代码生成
- 结合编译器反馈(如执行测试用例)作为准确性奖励,同时通过格式奖励约束代码缩进和语法规范。
跨模态任务
- 视觉问答:例如输入图片和问题 “图中食物的蛋白质含量是多少?”,模型生成多个答案,通过组内对比优化对图片内容和营养知识的结合能力,准确率从 45% 提升至 78%。
- 音频推理:在 MMAU 音频理解评测中,GRPO 使 Qwen2-Audio-7B 模型的准确率从 51.8% 跃升至 64.5%,超越 GPT-4o。
五、与 PPO 的核心差异
| 维度 | PPO | GRPO |
|---|---|---|
| 奖励机制 | 依赖独立奖励模型打分 | 组内相对奖励(无需奖励模型) |
| 显存占用 | 需同时运行策略 + 奖励模型(显存翻倍) | 仅需策略模型(显存减少 50%) |
| 优势估计 | 通过价值模型计算,易产生误差 | 组内归一化奖励直接作为优势值 |
| 训练速度 | 较慢(需等待奖励模型推理) | 快 30%(并行生成答案与更新参数) |
| 适用场景 | 通用任务 | 数学推理、代码生成、跨模态复杂任务 |
总结
GRPO 就像一场 “组内竞赛”,让模型通过自我比较和迭代,在节省一半计算资源的同时大幅提升推理能力。其核心在于用群体智慧替代外部裁判,既避免了奖励模型带来的高成本,又通过动态约束确保训练稳定性。这种创新不仅让大模型训练门槛大幅降低,更推动了数学推理、代码生成等领域的突破,为通用人工智能的发展开辟了新路径。
