本页比较 V1 sync、colocate_async 与 separate_async,重点分析异步执行如何改变 trajectory 的 policy version、训练等待和 off-policy correction,而不只比较吞吐数字。
本页问题
- 三种 trainer mode 的 GPU placement 和执行时间线有何不同?
- partial rollout 为什么可能让一条 trajectory 跨越多个 model versions?
- ReplayBufferAsync 如何处理 pending、running、finished、failed 和 stale groups?
drop、wait、refill 与 checkpoint recovery 各自保持什么不变量?- decoupled PPO 中 rollout policy、old policy 和 current policy 如何分离?
Source Anchors
- sync trainer
- colocate async trainer
- separate async trainer
- ReplayBufferAsync
- rollout correction
- V1 async guide
Metrics to Track
timing_s/gen
timing_s/update_actor
timing_s/update_weights
trajectory version span
trajectory staleness
rollout/actor log-prob mismatch
sample drop / refill reason
trainer idle timeCompletion Criteria
- 为三种 mode 画出资源图和时间线;
- 定义 trajectory-level 与 token-level off-policy 来源;
- 解释 old log-prob recomputation、bypass mode 和 rollout correction 的关系;
- 给出性能收益与训练分布风险并列的评估框架。