GRPO(Group Relative Policy Optimization)是一种基于强化学习的算法,通常用于多智能体环境中的优化任务。在这种设置下,多个智能体协同工作来优化某一目标函数。在这种背景下,GRPO强调通过分组策略的方式,优化不同组内的智能体策略,并在此基础上提升整体的表现。比如:组间对比:若组A的平均奖励高于组B,GRPO会激励组A的策略,同时推动组B向组A学习。均衡优化:避免单个智能体过优化,提升群体协作或跨任务泛化能力。参考论文:https://arxiv.org/pdf/2402.03300DeepSeekMath:Pushing the Limits of Mathematical Reasoning in Open Language Models[heading1]GRPO的计算步骤[content]1.Actor(LLM)左上角的蓝色框表示一个Actor,即大型语言模型(LLM),它根据输入生成策略。输入标记为q,表示当前状态或上下文。2.PolicyActor生成一个策略分布πθ(at∣q,a<t),表示在给定状态q和历史动作a<t下选择下一个动作at的概率分布。3.分组和动作选择策略被分成多个组(Group i=1到Group i=G),每个组对应一组动作选择。每个组内的动作选择通过策略分布进行采样,得到一系列动作a1,a2,…,aG。4.奖励评估每个动作ai对应一个奖励ri,表示该动作的效果或质量。5.相对优势计算计算每个动作的相对优势,公式:$$\hat{A}_i=\frac{r_i-\text{mean}(r)}{\text{std}(r)}$$ri是第i个动作的奖励;mean(r)表示所有动作奖励的平均值;std(r)表示所有动作奖励的标准差。
1.相对优势计算自适应性强:GRPO通过计算每个策略的相对优势,能够自适应地调整策略的选择概率,从而在不断变化的环境中保持较高的灵活性。局部优化与全局平衡:它不仅关注单个策略的表现,还考虑了组内所有策略的相对表现,有助于找到全局最优解。2.KL散度约束平稳过渡:使用KL散度约束确保新旧策略分布之间的差异不会过大,避免了剧烈的变化导致的不稳定性。防止过拟合:通过限制分布的变化幅度,有助于防止模型过度依赖某些特定策略而导致过拟合问题。3.群体智能利用群体智慧:通过分组比较和相对优势计算,GRPO能够充分利用群体中的多样化信息,找到更优的解决方案。[heading3]劣势[content]1.计算复杂度高计算成本:相对于一些简单的优化算法(如梯度下降),GRPO需要多次迭代和复杂的计算步骤(如相对优势计算、KL散度约束等),这增加了计算开销。2.收敛速度较慢收敛:由于需要反复评估和调整策略权重,GRPO可能比一些直接优化方法(如基于梯度的方法)收敛得更慢。3.初始化敏感依赖初始策略:GRPO的性能很大程度上取决于初始策略的选择。如果初始策略设置不当,可能会导致较长的探索期或陷入局部最优解。
调整策略的概率分布:已知ABC策略初始概率分布为[1/3,1/3,1/3]。根据相对优势调整后的权重可以通过指数函数来转换,以确保权重为正数且总和为1。计算未归一化的权重:A:$$e^1≈2.178$$B:$$e^0=1$$C:$$e^-1≈0.368$$归一化权重:总和=2.718+1+0.368=4.086新权重:A:$$\frac{2.718}{4.086}≈0.665$$B:$$\frac{1}{4.086}≈0.245$$C:$$\frac{0.368}{4.086}≈0.09$$结论通过上面的步骤可以看到:策略A的总体优势最高,因此其权重增加到约0.665。策略B表现中等,权重基本保持不变,约为0.245。策略C表现较差,权重减少到约0.090。在不同场景(不同组)的计算,每个策略的权重会相应调整以获得更高的分数。在文本生成阶段,可以用来评估和调整不同生成策略(比如贪婪搜索,随机采样,束搜索)的有效性,从而提高生成文本(尤其是复杂文本)的连贯性和多样性。(DeepSeek在2024年4月推出的DeepSeekMath模型中首次采用了GPRO算法。该模型专门针对数学推理与计算问题设计,通过结合7B参数和GPRO算法,其数学能力宣称超越需要千亿参数的GPT-4。之后的V3和R1也应用了GPRO提升模型的推理能力,所以爆火还是有扎实基础的)