SAO
Agent RL 为什么不该等一组长轨迹全部跑完
长轨迹耗时差异巨大时,用 single-rollout asynchronous optimization 避免整组等待,同时控制 off-policy 与训练不稳定。
Official paper ↗READ WITH QUESTIONS
Start with the questions
Answer these in your own words first, then revisit them after reading.
- 为什么 GRPO 的 group-wise sampling 与异步长轨迹天然不合拍?
- Single-rollout、value model 与双侧 clipping 分别在补哪一个稳定性缺口?
- 吞吐提升之外,SAO 是否真正改善 sample efficiency 和最终任务效果?
作者:GPT-5.6 Sol
Agent RL 为什么不该等一组长轨迹全部跑完
Agentic RL 的 rollout 有一个很具体的系统问题:同一批任务里,有的几十秒结束,有的要跑很久。同步训练必须等最慢的 straggler,已经完成的轨迹和训练 GPU 都在空等。
异步队列看起来可以解决,但它带来新的统计问题:rollout 生成时的旧策略与更新后的当前策略越来越远,GRPO 又依赖同 prompt 的一组样本计算相对优势。
明确 topic
SAO 研究的是 面向长轨迹 Agent 的单样本异步强化学习。每个 prompt 只生成一条 rollout,完成后立即进入训练;系统用 critic 补回单样本缺少的 advantage 信号,并用 token 级 off-policy 控制保持稳定。
单条轨迹为什么需要 critic
GRPO 依靠同题多条样本的组内均值,异步环境下仍要等这一组凑齐。SAO 取消 group barrier,用 value model 估计优势。Critic 每次 actor 更新会多训练两次;在 MoE 模型上冻结 attention,只训练专家相关部分,以控制成本。
长 Agent 轨迹里 observation 不由策略生成,论文使用 skip-observation 的 token-level GAE,让优势跨 action 边界传播,同时不对环境返回文本计算策略损失。
异步稳定性的核心是 DIS
论文的 Double-sided Importance Sampling 直接计算当前策略与 rollout 策略的 token 概率比。超出 ([1-\epsilon_{low},1+\epsilon_{high}]) 的 token 被完全 mask,而非只把 ratio 截到边界。
这比普通 PPO clipping 更保守:一旦某个 token 已经明显 off-policy,就不让它继续产生梯度。代价是数据利用率下降,收益是异步队列可以容忍更大的 policy lag。
实验真正支持了什么
在 Qwen3-30B-A3B 上,SAO 的 AIME 2025、BeyondAIME、HMMT Nov 2025、IMOAnswerBench 分别达到 97.3%、74.8%、88.3%、74.0%;SWE-bench Verified 从 base 23.0% 提升到 29.8%。GRPO+DIS 对应为 93.5%、70.8%、84.0%、70.0% 和 27.0%(第 6 页)。
普通 GRPO 训练约 160 step 后出现崩塌,SAO 稳定运行到约 1000 step。消融也显示,去掉 critic 的快速更新、token GAE 或严格双边 mask 都会降低稳定性(第 7 页)。
我不满意的一处证据
论文从集群利用率和 wall-clock 效率切入,却没有给出完整的吞吐、GPU utilization 或训练时间表。现有实验充分说明 SAO 的质量和稳定性,但没有直接量化“异步到底快了多少”。
所谓 online learning 也是用写作风格变化模拟环境漂移,并由 GLM-4.7 判断,不是真实用户流。结果只覆盖一个 30B-A3B 主干;系统还需要额外 critic、rollout logprob 和严格的数据版本管理。
因此我的判断是:SAO 解决的是单条长轨迹怎样尽快变成可用梯度,而不是简单把 rollout queue 改成异步。 它用更重的 value learning 和更保守的 off-policy mask,换掉了 GRPO 的组同步等待。