【免费下载链接】SkillRL
[NeurIPS'26] SkillRL: Evolving Agents via Recursive Skill-Augmented Reinforcement Learning
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:沿用轨迹级优势,但改进了优化过程——上下分离的裁剪阈值 + 动态采样过滤无效组,专为长思维链和大模型设计。
三种优势估计器速览对比
| 维度 | GRPO | GiGPO | DAPO |
|---|---|---|---|
| 优势粒度 | 轨迹(组)级 | 轨迹级 + 步骤级双层 | 轨迹(组)级 |
| 核心机制 | 组内均值/标准差归一化 | 锚定状态分组 + 步级信用分配 | 分离裁剪(Clip-Higher)+ 动态采样过滤 |
| 典型场景 | 单轮问答、通用 Agent RL | 多轮决策类 Agent 任务 | 长思维链、难任务、追高上限 |
| 计算开销 | 低 | 中(额外状态分组,CPU 端完成) | 偏高(需补采样直到凑够有效组) |
| 切换方式 | algorithm.adv_estimator=grpo | algorithm.adv_estimator=gigpo | grpo+ clip/filter 配置 |
GRPO:默认的组相对优势估计器
GRPO 是 SkillRL 论文实验的默认算法,也是上手成本最低的选择。它的工作流程是:
- 每个任务采样一组 N 条轨迹(
env.rollout.n,脚本默认 8); - 用组内平均奖励作为基线,归一化得到优势;
- 通过 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_normDAPO:分离裁剪与动态采样
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 | 通用 | gae | grpo/gigpo切换 |
env.rollout.n | 通用 | 1 | 每个任务的组采样数,建议 8 |
algorithm.gamma | GiGPO | 1.0 | 步级折扣因子,多轮任务建议 0.95 |
algorithm.gigpo.step_advantage_w | GiGPO | 1.0 | 步骤级优势权重 |
actor.clip_ratio_low / high | DAPO | 0.2 / 0.2 | DAPO 建议 0.2 / 0.28 |
algorithm.filter_groups.enable | DAPO | False | 动态采样过滤开关 |
所有默认值定义在 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
相关推荐
StashBase三大Agent对比指南:Claude、Codex与免费Default Agent,新手到底该怎么选?
StashBase三大Agent对比指南:Claude、Codex与免费Default Agent,新手到底该怎么选? StashBase 是一款开源、本地优先
碰撞检测算法怎么选?react-native-reanimated-dnd三大算法完整对比
碰撞检测算法怎么选?react native reanimated dnd三大算法完整对比 在 React Native 应用里做拖拽,最怕的就是"手感不对":
Patter三种语音模式怎么选:Realtime、Pipeline、Hybrid深度对比与选型指南
Patter三种语音模式怎么选:Realtime、Pipeline、Hybrid深度对比与选型指南 Patter 是一个开源 Voice AI SDK(Vapi
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考