DeepSeek核心强化学习算法:GRPO介绍

GRPO介绍

GRPO 是一种在线学习算法,这意味着它通过使用训练模型本身在训练期间生成的数据进行迭代改进。GRPO 目标背后的直觉是最大限度地利用生成的完成,同时确保模型始终接近参考策略。

GRPO 的发明者是 DeepSeek,最早是被用于微调 DeepSeek 的 R1 和 R1-Zero 模型 —— 它们可通过学习生成思维链(CoT)来更好地解决数学和逻辑问题。
在这里插入图片描述

原理

https://github.com/huggingface/trl/blob/main/docs/source/grpo_trainer.md
要了解 GRPO 的工作原理,可以分为四个主要步骤:生成补全计算优势估计 KL 散度计算损失

  1. 生成补全(Generating completions)
    在每一个训练步骤中,我们从提示(prompts)中采样一个批次(batch),并为每个提示生成一组 G个补全(completions)(记为oᵢ)。

  2. 计算优势(Computing the advantage)
    对于每一个G序列,使用奖励模型(reward model)计算其奖励(reward)。为了与奖励模型的比较性质保持一致(通常在同一问题的输出比较数据集上进行训练),计算优势以反映这些相对比较。其归一化公式如下:
    在这里插入图片描述

    这种方法为该方法命名:组(群体)相关策略优化 (GRPO)。

    群相对策略优化(GRPO)是一种强化学习(RL)算法,专门用于增强大型语言模型(LLM)的推理能力。与传统的RL方法不同,RL方法严重依赖外部评估者(批评者)来指导学习,GRPO通过相互评估响应组来优化模型。这种方法可以实现更有效的培训,使GRPO成为需要复杂解决问题和长思维链的推理任务的理想选择。

  3. 估计KL散度(Estimating the KL divergence)
    KL 散度是使用 Schulman et al. (2020)引入的近似器估计的。近似器定义如下

03-08
### GRPO的概念及其工作原理 GRPO(Generate Rank Pick Optimize)是一种用于优化生成模型的方法,在实际操作中,会在一个batch中包含若干个问题$q$,对每个问题生成$GRPO$个答案。这意味着batch大小等于$B$,每次前向推理要生成$B * GRPO$条候选答案[^1]。 对于每一个生成的候选答案,都会通过奖励模型$\mathrm{RM}$来获取评分$r_i$。这种方法虽然增加了推理过程中的计算成本,特别是当$GRPO$较大时,但是它消除了对价值网络的需求,从而简化了整体架构并提高了效率[^2]。 基于这些相对优势,GRPO机制能够动态调整策略模型参数,使高质量的回答更可能被选中,而低质量的回答则受到抑制。这不仅节省了计算资源,还提升了系统的推理能力和响应的质量[^3]。 ```python def grpo_inference(batch_size, num_candidates_per_question): candidates = [] for _ in range(batch_size): # 对于批次中的每个问题生成多个候选答案 generated_answers = generate_multiple_answers(num_candidates_per_question) scores = reward_model.score(generated_answers) # 获取每个候选的答案得分 best_answer_index = max(range(len(scores)), key=lambda i: scores[i]) selected_candidate = generated_answers[best_answer_index] candidates.append(selected_candidate) return candidates ``` #### 相关问题§§ 1. 如何衡量GRPO方法的有效性和性能? 2. 在不同应用场景下,如何设置合适的批处理大小和每问生成候选项数量? 3. 奖励模型的设计原则是什么样的? 4. 是否存在其他替代方案可以减少计算开销而不影响最终效果? 5. GRPO技术能否应用于除自然语言处理之外的任务?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kuokay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值