news 2026/10/17 10:13:18

SkillRL算法对比指南:GRPO、GiGPO与DAPO三种优势估计器该怎么选

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SkillRL算法对比指南:GRPO、GiGPO与DAPO三种优势估计器该怎么选

【免费下载链接】SkillRL

[NeurIPS'26] SkillRL: Evolving Agents via Recursive Skill-Augmented Reinforcement Learning

项目地址:https://gitcode.com/gh_mirrors/sk/SkillRL
点击查看免费下载

SkillRL 是 NeurIPS'26 收录的递归技能增强强化学习(Recursive Skill-Augmented RL)智能体训练框架,它通过技能库(Skill Bank)让 LLM 智能体从经验中提炼可复用策略。本文将带你完整对比 SkillRL 内置的三种优势估计器(Advantage Estimator):GRPO、GiGPO 与 DAPO,帮你在多轮智能体任务中快速做出正确选择。

什么是优势估计器?为什么它决定训练效果

在强化学习中,优势(Advantage)是告诉模型"这一步比平均水平好多少"的学习信号。SkillRL 基于 verl 训练框架,三种算法共用同一个训练入口verl.trainer.main_ppo,只需要切换一个参数algorithm.adv_estimator就能互换,算法枚举定义见 verl/trainer/ppo/ray_trainer.py,优势计算调度逻辑在 compute_advantage。

简单理解三者的差别:

  • GRPO:把同一问题的 N 条轨迹分成一组,用组内平均奖励做基线,"比组内平均好"的轨迹被强化——不需要 critic 网络;
  • GiGPO:在 GRPO 的轨迹级对比之上,增加"步骤级"对比——把不同轨迹中相同的观测状态聚成"锚定状态组",判断单步动作的优劣;
  • DAPO:沿用轨迹级优势,但改进了优化过程——上下分离的裁剪阈值 + 动态采样过滤无效组,专为长思维链和大模型设计。

三种优势估计器速览对比

维度GRPOGiGPODAPO
优势粒度轨迹(组)级轨迹级 + 步骤级双层轨迹(组)级
核心机制组内均值/标准差归一化锚定状态分组 + 步级信用分配分离裁剪(Clip-Higher)+ 动态采样过滤
典型场景单轮问答、通用 Agent RL多轮决策类 Agent 任务长思维链、难任务、追高上限
计算开销低中(额外状态分组,CPU 端完成)偏高(需补采样直到凑够有效组)
切换方式algorithm.adv_estimator=grpoalgorithm.adv_estimator=gigpogrpo+ clip/filter 配置

GRPO:默认的组相对优势估计器

GRPO 是 SkillRL 论文实验的默认算法,也是上手成本最低的选择。它的工作流程是:

  1. 每个任务采样一组 N 条轨迹(env.rollout.n,脚本默认 8);
  2. 用组内平均奖励作为基线,归一化得到优势;
  3. 通过 KL 损失(而非奖励内 KL)约束策略不偏离参考模型。

以带技能库的 ALFWorld 训练脚本为例,关键配置在 examples/grpo_trainer/run_alfworld_skills.sh:

algorithm.adv_estimator: grpo env.rollout.n: 8 # 组采样数 actor_rollout_ref.actor.use_kl_loss: true actor_rollout_ref.actor.kl_loss_type: low_var_kl

技能注入通过env.skills_only_memory系列参数开启,与具体算法无关,完整参数表可参考 README.md。更详细的原理与配置项说明见 docs/algo/grpo.md。

GiGPO:面向多轮智能体任务的步骤级优势

多轮任务(ALFWorld、WebShop)中 GRPO 有个痛点:整条轨迹只拿到一个最终奖励,模型很难知道具体是哪一步决策起了作用。GiGPO 的解法是双层优势:

  • 回合级(Episode-Level):与 GRPO 相同的组内归一化;
  • 步骤级(Step-Level):通过build_step_group把所有轨迹中相同的观测状态聚成"锚定状态组",在同一个局面下比较不同动作的回报(支持文本相似度聚类),再与回合级优势按权重step_advantage_w加权合并。

核心实现集中在 gigpo/core_gigpo.py,其中 compute_gigpo_outcome_advantage 负责双层优势合并,build_step_group 负责锚定状态分组。配置示例见 examples/gigpo_trainer/run_alfworld.sh:

algorithm.adv_estimator: gigpo algorithm.gamma: 0.95 # 步级折扣回报 algorithm.gigpo.step_advantage_w: 1.0 # 步骤级优势权重 algorithm.gigpo.mode: mean_std_norm # 或 mean_norm

DAPO:分离裁剪与动态采样

DAPO 针对"长思维链训练后期容易卡住"的问题提出两项关键改进,在 SkillRL 中同样以配置项落地(详见 docs/algo/dapo.md):

  • 分离裁剪(Clip-Higher):clip_ratio_low=0.2、clip_ratio_high=0.28,对"概率上升的动作"放宽裁剪上限,让高潜力探索走得更远;
  • 动态采样(Dynamic Sampling):开启algorithm.filter_groups.enable=True后,自动过滤掉"全对"或"全错"的无信息组,并持续补采样直到凑够有效组(上限max_num_gen_batches)。

SkillRL 的 DAPO 训练脚本 examples/dapo_trainer/run_alfworld.sh 展示了完整用法:

algorithm.adv_estimator: grpo actor_rollout_ref.actor.clip_ratio_low: 0.2 actor_rollout_ref.actor.clip_ratio_high: 0.28 algorithm.filter_groups.enable: true algorithm.filter_groups.max_num_gen_batches: 10

💡 进阶玩法:SkillRL 还提供了GiGPO + DAPO 组合脚本 examples/gigpo_dynamic_trainer/run_alfworld.sh,同时享受步骤级优势与动态采样,适合追求更高上限的多轮任务。

GRPO vs GiGPO vs DAPO:一分钟决策指南

  • 单轮短回答任务(如 Search 问答、数学推理)→ 直接选GRPO,简单稳定,开销最小;
  • 多轮 Agent 任务(ALFWorld、WebShop 购物)→ 优先GiGPO,步骤级信用分配能显著加快多步决策的收敛;
  • 计算预算充足、追求上限→ 用DAPO(或 GiGPO+DAPO 组合),注意动态采样会增加 rollout 开销,2 卡小显存机器上建议调小gen_batch_size;
  • 显存紧张→ 三种算法都不需要 critic 网络,可配合fsdp_config.param_offload=True进一步省显存,参考 run_alfworld_skills.sh。

三种算法均可与 SkillRL 的核心特色叠加:技能库注入(claude_style_skills.json)+ 训练中动态技能更新(enable_dynamic_update=True),算法与技能进化相互独立,可自由组合。

关键配置参数速查表

参数所属算法默认值说明
algorithm.adv_estimator通用gaegrpo/gigpo切换
env.rollout.n通用1每个任务的组采样数,建议 8
algorithm.gammaGiGPO1.0步级折扣因子,多轮任务建议 0.95
algorithm.gigpo.step_advantage_wGiGPO1.0步骤级优势权重
actor.clip_ratio_low / highDAPO0.2 / 0.2DAPO 建议 0.2 / 0.28
algorithm.filter_groups.enableDAPOFalse动态采样过滤开关

所有默认值定义在 verl/trainer/config/ppo_trainer.yaml。

上手方式

git clone https://gitcode.com/gh_mirrors/sk/SkillRL cd SkillRL && pip install -r requirements.txt && pip install -e .

安装完成后,按任务类型选择对应脚本即可开始训练:GRPO 技能模式在 examples/grpo_trainer/,GiGPO 在 examples/gigpo_trainer/,DAPO 在 examples/dapo_trainer/。更多算法基线数据可查阅 docs/algo/baseline.md。

【免费下载链接】SkillRL

[NeurIPS'26] SkillRL: Evolving Agents via Recursive Skill-Augmented Reinforcement Learning

项目地址:https://gitcode.com/gh_mirrors/sk/SkillRL
点击查看免费下载
上一篇:Apache APISIX server-info 插件:服务实例信息自动上报与查询实战指南
下一篇:PaddleOCR完全手册:从零开始构建智能文档处理系统

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/17 10:11:19

多环境部署实战:配置分离与环境隔离方案

1. 多环境部署到底在解决什么问题做过商城类项目的人都有一个共同体会:代码写完只是万里长征第一步,真正让人头疼的是“同一套代码,怎么在开发、测试、预发、生产这几套环境里都跑得起来,而且互不干扰”。「初学者商城」这个项目本…

作者头像 李华
网站建设 2026/10/17 10:10:05

GitHub_Trending/templa/templates自动化原理:HAR文件如何模拟用户操作

GitHub_Trending/templa/templates自动化原理:HAR文件如何模拟用户操作 templa/templates是基于开源新版QD框架站发布的公共HAR模板库,通过HAR文件记录和模拟用户操作,实现网站自动化交互。本文将深入解析HAR文件如何成为自动化操作的核心&a…

作者头像 李华
网站建设 2026/10/17 10:09:59

循环神经网络RNN从原理到实战:梯度消失与LSTM/GRU

1. 从全连接网络到循环结构的必然选择1.1 为什么常规神经网络搞不定序列数据先花一分钟思考一个非常贴近日常的场景:你正在聊天软件上输入一句话,输入法的联想功能能根据你前面打过的几个字,推测出下一个最可能出现的字词。这个场景天然是一个…

作者头像 李华
网站建设 2026/10/17 10:08:11

大语言模型提示词工程:原理、技巧与迭代方法论

1. 模型不是人:它"读"提示词的方式决定了你的写法1.1 自回归机制下,上下文就是概率分布的方向盘先抛一个可能让很多人意外的结论:大语言模型并不真的"理解"你的需求,它做的最核心的一件事,是根据已…

作者头像 李华
网站建设 2026/10/17 10:05:39

OpenSSL 1.1.1w Windows编译指南:x64与x86静态动态库构建

简介:本资源提供openssl1.1.1w的源码及在Windows平台下基于msys2环境编译完成的库文件,面向需要在Windows上进行安全网络通信开发的C/C工程师与学习者,覆盖x64与x86两种架构,可直接集成到项目中,免去自行编译的繁琐流程…

作者头像 李华