生成、过滤、控制、重放:大语言模型强化学习 rollout 策略综述 Generate, Filter, Control, Replay: A Comprehensive Survey of Rollout Strategies for LLM Reinforcement Learning
首篇系统梳理 LLM 强化学习 rollout 设计的综述,提出 GFCR 四阶段框架。
前置知识
Rollout(轨迹采样)
在 LLM 强化学习中,rollout 指由当前策略 $\pi_\theta$ 从提示词采样得到一条完整轨迹 $\tau = (x, u_{1:T}, o_{1:T})$,纯文本场景下 $o_{1:T}=\emptyset$。它是 RL 后训练数据的唯一来源。
本文核心论点:rollout 设计被严重低估,却直接决定训练成本和学习信号质量。
GRPO 与分组相对优势
GRPO 对每个提示词采样 $K$ 条独立轨迹,用组内奖励均值和方差归一化得到优势 $\hat{A}_i = (r_i - \mu_G)/\sigma_G$,无需 value network。DeepSeek-R1 证明其能激发涌现推理行为,是当前主流 LLM RL 算法。
GRPO 的成败高度依赖 rollout:组内方差为零时优势消失,$K$ 决定开销,tree/group 拓扑影响 credit assignment。
RLVR(可验证奖励的强化学习)
RL with Verifiable Rewards 指用确定性校验器(数学题答案匹配、代码单元测试、SQL 执行结果)代替学习得到的 reward model 来给出 pass/fail 信号。优势是信号客观、便宜、不易被 reward hacking;局限是仅适用于有明确可验证终点的任务。
Filter 模块中"硬语义门"的核心就是 RLVR,论文大半案例(math/code/SQL)都基于这种接口定义 rollout 边界。
过程奖励模型(PRM)与结果奖励模型(ORM)
ORM 只对最终答案打分,反馈稀疏;PRM 对中间每一步推理或节点打分,反馈稠密但训练昂贵且易出现 reward hacking。ProcessBench 等基准通过"找出最早错误步骤"评估 PRM 的真实价值,而非只看最终任务分数。
Filter 模块中"过程质量打分"小节直接对比 PRM 和 ORM,指出 PRM 应作为 rollout 内部的剪枝器而非最终 reranker,这是设计上的重要转折。
Replay Buffer 与 Off-Policy 学习
传统 GRPO 是 on-policy 的,旧轨迹被丢弃;replay buffer 把过去策略 $\pi_{\theta^-}$ 生成的轨迹 $\tau$、Filter 信号 $\phi$、训练信号 $S$ 存起来再调用,能省算力但引入 off-policy 偏差,需用重要性比修正。
Replay 是 GFCR 四阶段中最活跃的模块,涉及 1-shot RLVR、RePO、RoRecomp、自演化课程等多个方向。
研究动机
现有 LLM 强化学习研究绝大多数聚焦于优化器本身(PPO/GRPO/DPO 等)和奖励建模,但 rollout 阶段——即从提示词到终止状态采样完整轨迹的过程——却被普遍当作工程细节,相关配置在论文中常被省略或一笔带过。论文作者指出,这种"重优化器、轻数据生成"的倾向带来三大问题:第一,推理任务解空间稀疏,早期一步错就废整条推理,rollout 拓扑直接决定能否采到正确轨迹;第二,不同方法间 rollout 配置差异巨大(group size、温度、top-p、是否用 tree 搜索、是否做过程评分、是否复用 buffer),复现时若不严格控制 rollout 设置,论文报告的提升难以归因到优化器还是数据生成;第三,在算力预算固定时,如何把有限的 rollout 预算分给"难而可解"的提示词、剪掉低价值长尾响应,是真正决定训练性价比的关键,而这些设计在文献中几乎没有统一术语可参照。
本文的目标是本文的核心目标有四:(1)提出一个优化器无关的 rollout pipeline 框架,把所有相关设计统一到 Generate–Filter–Control–Replay(GFCR)四个模块中;(2)配套提出一个"可靠性 / 覆盖与信息量 / 成本敏感度"的准则分类(criterion taxonomy),让不同方法之间可以横向比较;(3)把近两年涌现的 GRPO 变体、tree/graph rollout、PRM、self-evolving curriculum、speculative decoding 等方法全部按 GFCR 模块归位,形成系统性的方法地图;(4)给出 practitioner 用的故障诊断表(Table 8)和开放问题清单,降低读者搭建和调试 rollout 系统的成本。
与已有工作不同的是,在 GFCR 出现之前,与 rollout 相关的讨论散落在不同子领域:RLHF 综述只讲 feedback 收集,RL 算法综述只讲 PPO/GRPO loss,reasoning/agent 综述只讲多步 deliberation 与 search,没有一篇把"轨迹如何被提出、过滤、调度、重用"作为一等公民来组织。本文抓住了这个盲点:rollout 是 RL 后训练数据的唯一生产者,其设计本身就是数据生成策略,应当被独立研究和比较,而 GFCR 把这种"独立研究"所需的术语、符号、模块边界一次性提供出来。
核心方法
GFCR 把 rollout pipeline 拆成四个功能独立但经常交错执行的模块。直觉上可以把它想象成工厂流水线:Generate 是"投料车间",决定每条候选轨迹怎么产生(线性的、分组的、树/图的,还是带工具的多轮);Filter 是"质检车间",对每条轨迹做结构性门控、硬语义验证、过程质量、相对评判、学习价值诊断,并把分数映射成训练信号;Control 是"调度车间",根据质检结果和算力预算决定继续生成、剪枝、改配置还是早停;Replay 是"仓库",把通过质检的轨迹、片段甚至自生成的新任务存起来,下次再喂回 Generate。论文同时定义全局准则分类(reliability / coverage & informativeness / cost sensitivity)作为评判标尺,并给出统一记号 $T \sim q_{\theta,\text{GFCR}}(\cdot | x, B)$。
GFCR 相对于已有综述的本质区别不在算法,而在视角:它把 rollout 视为一个独立、可分解、可组合的数据生成对象。已有工作要么盯着优化器(PPO/GRPO/DPO 等)讲,要么盯着奖励建模讲,把 rollout 隐藏成"对当前策略做几次采样"。GFCR 明确指出 rollout 设计会反作用于优化信号——例如 tree rollout 通过共享 prefix 把计算预算从独立完整轨迹换成结构化复用,分组归一化优势的方差消失问题本质上是 Generate-Filter-Control 三个模块耦合产生的,self-evolving curriculum 让 Replay 反过来驱动 Generate——这就把 rollout 从"实现细节"提升成和优化器并列的一等研究对象。
方法步骤详情
第 3 节建立记号:rollout τ=(x,u_{1:T},o_{1:T}) 是从提示词到终止的完整轨迹,分组 T(x)={τ⁽ⁱ⁾}ₖ 是同提示词的 K 条候选,Filter 信号 ϕᵢ=F(τ⁽ⁱ⁾;T(x))、训练信号 S(τ⁽ⁱ⁾;T(x))=Score(ϕᵢ),整体目标在算力约束 E[c(τ)]≤B 下最大化期望训练信号。第 4–7 节按 GFCR 模块逐个展开。Generate 沿三轴:拓扑(linear/group/tree/multi-turn tool)、引导(ICL、plan-then-act、reflection、adaptive guidance、tool augmentation)、采样(temperature/top-p、partial rollout resume、uncertainty-aware K、Power Sampling)。Filter 拆为 Gate→Eval→Map:先做结构/可执行性门控,再评估(unit test、PRM、LLM judge),最后映射为权重/奖励/优势/偏好四元组。Control 覆盖 prompt 选优、预算调度、长度与温度配置、早停与部分 rollout、分支剪枝、on/off-policy 混合、系统吞吐优化八个决策面。Replay 按 response-level retention(DAPO/AR3PO/RePO)、segment-level recomposition(RoRecomp/TreePO)、self-evolving curriculum(Agent0/LANCE/SPARK)三粒度组织。
技术新颖性
技术新颖性体现在三方面:(1)第一次给出 rollout 分布的统一定义 $q_{\theta,\text{GFCR}}(T|x, B)$,明确表达其对 replay state 的依赖,让"replay 不是简单数据增广"这一点有形式化基础;(2)把原本散落在不同子领域的几十种方法按 GFCR 网格归位,形成可对比、可复用的设计图;(3)配套的"诊断索引 Table 8"把常见 rollout 病态(如优势消失、coverage collapse、reward hacking、replay drift、unsafe self-evolution)映射到具体模块和章节指针,这是工程落地导向的原创贡献。论文还指出 Power Sampling 这种"不改权重只改采样"的推理增强应被视作 rollout 原语,扩展了 GFCR 的边界。
实验结果
作为综述,本文把近百篇工作按 GFCR 系统归类。Generate 层:分组 rollout 是主流,DAPO 对 zero-variance prompt 做 dynamic sampling 可避免零梯度;tree/graph rollout 通过共享 prefix 在固定 token 预算内换取更密集的探索;APRIL 用 over-provisioning+resume 把长尾响应变成可调度资源。Filter 层:ProcessBench 与 PRMBench 揭示 PRM 在"找最早错误步骤"任务上仍弱于理想,提示其应作 rollout 内部剪枝器而非终极 reranker;xVerify 与 Math-Verify 这类解析归一化工具比 PRM 更直接降低 false negative 率。Control 层:ShorterBetter 的 SOL(最短正确长度)可显著抑制 overthinking;VCRL/VADE/SEED-GRPO 用 reward variance、Thompson sampling、semantic entropy 分别做 curriculum;ReSpec/DAS/Seer 证明 speculative decoding 与 load balancing 在长尾 rollout 下能带来 lossless 加速。Replay 层:1-shot RLVR 用单样本配合 replay 即可匹配 1.2k-example DeepScaleR 子集性能;Agent0 展示两同源 agent 不依赖外部数据形成自我强化难度曲线。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| Math reasoning (RLVR) | Pass@1 / Accuracy | DeepSeek-R1 / TreeRL / TreeRPO / SEED-GRPO 报告在 MATH500、AIME/AMC、OlympiadBench 上显著超越 base 模型 | 原始 base model + SFT | GRPO 类方法在 AIME 上常报告 +10 至 +20 个百分点的提升;具体数字因模型/设置而异 |
| Code/SQL execution-based RL | Pass@k / Execution success | CodeRL、RLTF 用 unit test 作为奖励;Arctic-Text2SQL-R1、ExeSQL 用 SQL 执行结果做 GRPO 训练 | 无执行反馈的 SFT / 标量模仿学习 | execution-grounded 反馈在 LiveCodeBench、BIRD 等基准上带来稳定提升,且对编译/解析错误更鲁棒 |
| Multimodal reasoning (R1-style) | Rule-based accuracy | Vision-R1 / VLM-R1 / SpaceR 用可验证奖励训练,SynthRL / GRACE 提供可验证合成数据 | 无 verifiable reward 的 SFT | 可验证结构化奖励在视觉推理与视频空间推理上比 LLM-judge 训练更稳定 |
| Agentic software engineering (SWE) | Patch pass rate on SWE-Bench | SWE-Gym、Agent-RLVR、VerlTool、Search-R1 用 executable repo/test 作为 rollout 终点 | 静态 SFT / zero-shot agent | execution-grounded agentic RL 在 SWE-Bench 系列上报告明显提升,但成本远高于纯文本任务 |
| Process supervision quality | Earliest-error localization accuracy | ProcessBench / PRMBench 提供专门基准;Yan et al. 2025 对 reference-based PRM 做鲁棒性压力测试 | ORM-only 训练 | ProcessBench 显示即便是强 PRM 在难题上仍有显著 gap,提示 PRM 应作 rollout 内部剪枝器而非终极 reranker |
| Replay data efficiency (1-shot RLVR) | Training samples needed | 1-shot RLVR 用单一样本 + replay 即可训练 | DeepScaleR 1.2k-example math subset | 样本量减少约 1200 倍,性能仍可与全量训练相当 |
局限与改进
作者明确指出的局限包括:(1)GFCR 框架本身是描述性的而非预测性,没有给出在给定任务和算力下"最优 GFCR 配置"的封闭解;(2)准则分类(reliability / coverage / cost)目前只能定性判断,缺乏统一的量化指标;(3)rollout 的真实成本除了 tokens 还包含工具调用、verifier runtime、branch/prune 开销、replay 刷新等,但多数论文只报 token 成本,导致方法间比较失真;(4)verifier/judge 的校准问题在 Filter 模块被反复提到但仍无标准评测协议;(5)self-evolution 路径(Agent0、LANCE、SPARK)虽然展示了可能性,但 provenance tracking 与分布偏移防护仍是开放问题。读者在使用本框架时需要意识到,GFCR 提供的是术语和模块边界,不替代具体算法的设计抉择。
独立分析的弱点
三个较突出的弱点。第一,"模块交错"是 GFCR 的特性,但任何对单一模块的微调都会通过 Filter-Control-Replay 反馈回路传播到 Generate,导致 ablation 极困难——若想剥离 ICL seeding 的贡献,几乎无法保持其他模块不变,建议作者未来提供"模块冻结 ablation"协议。第二,replay drift 风险被点名但未给出可量化失效阈值,论文建议"用 recency 与 versioning 跟踪"却没指明什么样的 recency 算可接受,建议补充对重要性比 $\pi_\theta(u_t|s_t)/\pi_{\theta^-}(u_t|s_t)$ 的方差或 KL 阈值的具体建议。第三,rollout cost 报告仍碎片化,论文虽呼吁统一算力记账但没给出具体 schema,建议推动一份"rollout cost report"标准卡(涵盖 token、tool calls、verifier runtime、branch count、replay refresh)。
未来方向
作者明确指出的开放方向有四:(1)建立跨域 verifier/judge 校准协议;(2)原则化的 compute accounting,把 tool calls、verifier runtime、branch/prune 纳入统一预算报告;(3)safe self-evolution,研究 provenance tracking、contamination 检测与 self-generated 数据注入比例上限;(4)改进复现性,呼吁统一报告 verifier 配置、budget policy、branch/prune overhead、replay refresh rule。可延伸方向:把 diffusion/flow 多步 rollout 直接纳入 RL 训练、把 GFCR 与 curriculum learning 显式耦合形成"自适应 rollout curriculum"、把 agentic skill interface(SkillRL、MemSkill 等)作为独立第五类 rollout 边界纳入框架、研究 Power Sampling 类"零训练推理增强"方法与 GFCR 联动。
复现评估
本综述本身不涉及训练代码或单一新实验,"复现"指的是读者能否基于论文在自家 pipeline 中复用 GFCR 框架。论文附录图(Figure 1-7)与表格(Table 1-8)给出了完整的模块图、notation 表、troubleshooting index,复制门槛极低;论文主体中所有具体方法(GRPO、TreeRL、ReSpec、Agent0 等)都标注了原始 arXiv 引用,读者需自行去原论文获取实现细节。整篇综述涉及 100+ 篇参考文献,覆盖 paper、code repository 与 benchmark,整体工程负担属于"读懂快、动手需要再追原始论文"的典型综述模式。对实践者的关键提醒:GFCR 框架本身可零成本复用,但具体模块的算法选择(tree policy、PRM、speculative decoding 配置等)必须回溯到原方法论文才能正确实现。
论文图表