简介

本文深入解析GRPO算法在大模型训练中的应用原理,详细阐述了DAPO对GRPO的四大优化:提高clip上界释放低概率token上涨空间、动态采样保障有效梯度、Token-Level Gradient Loss平衡长回答梯度权重、软惩罚机制约束回答长度。这些改进解决了GRPO训练中信号浪费、梯度稀释等问题,显著提升了大模型训练效率与稳定性。

在这里插入图片描述

GRPO 回顾

GRPO的损失函数为:

GRPO优势值:

重要性采样:

GRPO 与 PPO 的目标函数可写为:

其中 为优势(advantage),clip 操作用于限制更新幅度,防止策略偏离旧策略过远:

  • 衡量当前动作比平均状态好/差:正向为鼓励,负向为惩罚。
  • 衡量新策略 vs 旧策略的概率比: 更偏向新策略, 更偏向旧策略。

在理解了重要性采样的基本原理后,我们可以进一步探讨它在 PPO/GRPO 中的实际影响:优势函数 与比值 的符号如何共同决定策略更新的方向与力度。

A 与 r 的符号如何影响训练

假设 clip 参数,,目标函数为:

当 时,即动作比期望好,希望增加该动作的概率:

  • 若 ,更倾向新策略:min 和 clip 会将 限制在 1.2(即增幅被限制)
  • 若 ,更倾向旧策略:min 操作不会触发 clipping,因为 本身更小,min 会保留原值取0.8

因此,正优势动作的增幅被限制

当 ,即动作比期望差,希望减小该动作的概率:

  • 若 ,更倾向旧策略:min 会将 限制在0.8,即减幅被限制,避免过度惩罚
  • 若 ,更倾向新策略:min 操作不会限制 。因为 本身更负,min 会保留原值,相当于允许更大的惩罚

因此,负优势动作的减幅被限制

所以在 和 的四种符号组合中,仅同号的两种情况是期望的修正方向:

即使 与 方向一致,PPO/GRPO 的 clip 通过限制 的范围 ,决定了哪些 token 的梯度会真正参与策略更新,从而避免策略更新幅度过大,保证训练稳定性。

实际中 clip 操作是将梯度直接置为0

实际中 clip 操作是将梯度直接置为0 当 且 时,clip 操作会将梯度置为 0,相当于抹去该 token 对训练的贡献;同样当 且 时,clip 也会使其梯度为 0。
一个常见的误区是认为 clip 在反向传播时,会将截断后的值的梯度传回截断前的值进行更新。但实际 clip 机制是被截断前的梯度会被直接清零,不进行更新。

DAPO目标函数

在回顾完GRPO后,我们看DAPO如何对GRPO进行优化,DAPO的的出发点其实非常直接:在实际训练中,GRPO 往往因 clip 范围设置不合理、采样冗余以及长序列梯度被稀释等问题,导致大量训练信号被浪费,所以针对这些问题,DAPO 逐一提出改进,以下为DAPO的损失函数:

改进一:提高clip的上界

GRPO 中 clip 上界较小,会导致低概率但优势为正的关键 token 被抑制。比如 old policy 难得采到一个关键 token且概率极低,而当前模型对此 token 的概率很高,那么的比率就会很大,但却会因为 clip 限制过紧被裁剪,那么低概率关键 token 就几乎没有被很好的训练。

所以 DAPO 引入 Clip-Higher 提高上界,释放低概率关键 token 的上涨空间,解决低概率关键 token 涨幅受限问题。

改进二:动态采样(Dynamic Sampling)

GRPO 训练中,若同一 query 被多次采样,并采样结果的得分相同,就会导致这些样本的优势为 0,进而梯度为 0,无法贡献有效的奖励训练信号。那么实际有效的梯度就会少于采样的次数,导致最后梯度汇集时信息不足以及训练资源的浪费。而且这种效果可能随着训练的进行越来越明显,因为越到后边模型效果越好,给出高分回答的几率就越大,相对优势就越小,而且会出现很多满分的情况。所以DAPO添加了限制,就是如果采样出来的回答全是 0 或者 1 就继续采样,保证采样具有得分上的多样性:

改进三:Token-Level Gradient Loss

GRPO 训练长回答时 梯度计算分两步:

  • 先对 单个 sample 内的 token 求平均
  • 再对 batch 内的 sample 求平均

举例:若采样 2 次,回答 1 有 200 个 token,回答 2 有 10 个 token,则:

  • 回答 1 的 token 权重为
  • 回答 2 的 token 权重为

长回答的 token 因第一步sample 内平均,导致长回答的 token 梯度权重被稀释,短回答 token 权重更高。那么在训练过程中,长文本高质量回答的有用梯度就无法有效传递,影响训练效率。

原 GRPO 公式(sample-level 聚合):

DAPO 公式(token-level 聚合):

DAPO 采用Token-Level Gradient Loss,将损失聚合方式从sample 级两层平均改为全局 token 级单层平均,按所有采样的总 token 数归一化,让长、短回答的 token 权重公平。

改进四: 软惩罚机制(Soft Punishment)

DAPO 的第四项改进围绕奖励机制设计,引入软惩罚策略治理回答过长问题,该机制通过双阈值分级约束实现精准调控:

  • 线性惩罚阶段:当回答长度超过第一个预设阈值时,惩罚随 token 数量线性增长
  • 完全抵消阶段:若长度突破第二个阈值,则取消奖励,这个回答就会被视为无效

两个阶段的惩罚均以逐 token 的方式作用于奖励上,从梯度层面约束长回答的生成倾向。

综上,DAPO 以 Clip-Higher(突破低概率 token 涨幅限制)、动态采样(保障有效梯度)、Token-Level Gradient Loss(平衡长回答梯度权重)、软惩罚(约束回答长度) 四大优化,精细化改造 GRPO,提升训练效率与稳定性。

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

😝 一直在更新,更多的大模型学习和面试资料已经上传带到CSDN的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇

在这里插入图片描述

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝 一直在更新,更多的大模型学习和面试资料已经上传带到CSDN的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇
在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐