并行思考的冷启动不是数据量问题:同一个提示,在 GSM8K 上能生成 83.7% 格式合格的并行轨迹,在 DAPO 上是 0.0%。 论文用三段课程先把格式教会,再用 RL 把并行从「逢题就写」压成「该用才用」——平均分 48.9,GRPO 基线 45.1。 代价是它只在数学这类可验证奖励的领域里被验证过。
并行思考是:主链推理走到一个关键步时暂停,同时展开多条独立路径,再用 <Summary> 把各路口径汇总回主链。
难点不在「多写几条」,而在冷启动:模型预训练里从没见过 <Parallel>、<Path> 这些标签,RL 的探索分布里根本不会出现这个行为,奖励也就无从附着。
论文的课程分三段:GSM8K 冷启动 SFT 只教格式 → 同分布 GSM8K 上用 R⟨Parallel⟩ × Racc 做 35 步 RL 稳住触发 → DAPO 上只用准确率做 300 步 RL 学泛化。
最终 Parallel-R1-Seen 四基准平均 48.9,GRPO 基线 45.1;AIME25 mean@16 为 19.2,基线 14.8。
行为会自己变:SFT 后并行比例高达 95.6%,最终模型只有 27.3%;<Parallel> 块的平均位置从推理早期移到末尾——早期用来探索,后期用来验证。
这是最终答案主导的奖励把模型推向更保守的策略,不是模型突然「更懂并行」。
最值得拿走的不是并行本身,而是中期探索脚手架:前 200 步用交替奖励强制高频并行,之后切回纯准确率,AIME25 峰值 25.6%,论文报告相对基线提升 42.9%。 脚手架拆了,模型已经站在更好的策略区域。
先把冷启动讲清楚:RL 只能强化已经出现过的行为,而并行标签在预训练里从未出现。
串行 CoT 的风险是「一步错,步步错」:中间某个假设一旦选错,后面的推理都会沿着错误前提展开。并行思考试图在关键步制造分歧——同时探索多条路径,比较后再收敛,避免过早锁定到一条可能错误的解法上。
论文把这种行为形式化成两个阶段:Exploration(检测到关键步,暂停主链,展开 N 条独立轨迹)和 Summary(汇总各路结果、消解冲突,带着结论恢复主链)。实现上只用三个控制标签:
<Parallel> 标记并行块,<Path> 隔离每条路径,<Summary> 汇总。
模型可以在一次推理里重复这个流程。
预训练和常规 SFT 的语料里没有 <Parallel> 这种结构。模型在 RL 探索时不会自发写出来,rollout 里没有合法的并行单元,奖励信号就没有东西可以强化。
论文指出,这正是此前 RL 教并行思考的工作大多停留在 CountDown 这类合成任务上的原因——真实难题的高质量并行轨迹既稀少又难合成。
论文用一组很直接的统计说明「借简单题做冷启动」为什么必要:
| 数据 | 样本数 | 并行格式合格率 |
|---|---|---|
| GSM8K | 7,472 | 83.7% |
| DAPO | 17,916 | 0.0% |
Table 1:同一个零样本提示 + 教师模型,在简单数学上能稳定生成并行格式,在难题上一条合格轨迹都没有。
这就把问题拆成了两个:怎么给模型一个可优化的起点,以及怎么设计奖励不让它走偏。第二个问题同样棘手——论文在结构化变体上做了奖励消融,两个极端都不行:
准确率单独作奖励时,并行比例只有 13.6%。模型能找到正确答案,但几乎不采用并行结构——它学会了更省事的串行捷径。
并行比例被拉到 80.3%,但 AMC23 掉到 59.4、MATH 掉到 81.7。结构形式盖过了逻辑正确性。
所以真正的问题不是「要不要并行」,而是:怎么在模型还不会并行的时候给它一个可学习的起点,又怎么在它会了之后不让它滥用。
测试时方法把并行放在模型外面,SFT 把并行放进数据里;前者贵,后者学不深。
Tree of Thoughts、self-consistency、MCTS、多智能体辩论等方法,在推理时通过外部程序强行分叉、搜索、投票或合并。
强项:不需要改模型,现成模型就能用。
盲区:分支点和合并点通常由预定义日程或手写启发式决定,不随中间推理进展自适应;而且一次问题要多次调用模型,推理开销显著高于标准生成。
用合成数据做监督微调,让模型模仿预先生成的并行轨迹。数据往往要经过复杂的多阶段管线,成本高。
强项:能把已知的并行模式稳定地写进模型。
盲区:本质是 behavioral cloning,上限受数据质量约束;模型复现的是见过的模式,不是可泛化的策略。更致命的是,难题上的并行数据根本生成不出来——Table 1 里 DAPO 的格式合格率是 0.0%。
与 SFT 的「lossless transformation」思路不同,RL 允许模型在探索中发现数据里没有的推理模式。论文的主张是:并行思考不只是把一条长 CoT 改写成并行形式,而是可以通过奖励学出一种新的策略。
但这条路有两个前提:第一,模型得先能偶尔写出合法结构(冷启动);第二,奖励得同时约束「用并行」和「答对」,否则模型会滑向上面两个极端。Parallel-R1 的三段课程就是为这两个前提设计的。
每一段只解决一个问题;把三个问题混在一起,RL 优化不动。
论文的核心不是某个新算子,而是把「学会并行思考」拆成三个可分别优化的阶段。同一个基座模型,三个阶段的数据、奖励、目标都不同:
用 GSM8K 的约 7k 道题,让教师模型 DeepSeek-R1-0528-Qwen-3-8B 生成并行轨迹,只保留非思考部分作为金标注。目标很纯粹:教会格式,不要求它会解难题。
SFT:batch 128,LR 1e-5,weight decay 0.01,warm-up 0.1,cosine 调度。
同一批 GSM8K 问题,改用 GRPO。奖励要求「至少一个并行单元」且「答案正确」才给正分。目标:把格式和正确性绑定,让模型稳定地在合适的时候触发。
5 epochs,batch 1024,5 rollouts,LR 1e-6,无 warm-up / 调度。
换到 DAPO 训练集,奖励只剩准确率。目标:让模型把已经学会的并行能力泛化到难题,而不是继续被格式奖励牵着走。
batch 512,8 rollouts,LR 1e-6,无 warm-up / 调度。产出 Parallel-R1-Seen。
注意这是乘法,不是加权求和:它要求两件事同时成立,防止模型用「写了并行结构」来换奖励。Stage 2 的作用不是提高最终分数,而是让模型在进入难题之前,已经具备稳定的触发行为。
结构化变体(Parallel-R1-Unseen)走另一条路:它跳过 Stage 2,改用两种奖励方案——S1 只看准确率;S2 在 10 步窗口里 80% 用准确率、20% 用分层奖励(并行且正确 +1.2,正确但没并行 +1.0,其余 −1.0)。这会在后面的结果里看到取舍。
下面四个阶段对应论文的训练路径。切换阶段,看并行比例、AIME25 和平均分怎么走;Stage 2 的模型没有单独列在主表里,所以留空,不替论文补数。
因果模型(Seen):保留冷启动 SFT、去掉 GSM8K 上的 Stage 2 RL,平均分从 48.9 掉到 46.6(−2.3)。说明只靠 SFT 学格式不够,模型还没有学会「什么时候触发」。
结构化模型(Unseen):加上 Stage 2 RL 反而从 47.1 掉到 38.5(−8.6)。论文的假设是:在 GSM8K 上学到的 attention mask 不能很好地迁移到更难的数学分布,导致对浅层模式的过拟合。
同一段课程,对两种架构一正一负。这是论文没有把它包装成「通用配方」的原因,也是后面边界一节的伏笔。
这一节看工程可行性:每阶段多少步、多少 rollout、奖励怎么给,以及「并行」到底并行在哪。
论文用 GRPO,不需要 critic:对每个问题采样 G 条回答,用组内均值方差把奖励归一化成 advantage,再做带 clip 的策略更新,并对参考策略加 KL 约束。核心三项是:
| 阶段 | 数据 | 奖励 | batch | rollouts | 步数 | LR |
|---|---|---|---|---|---|---|
| 冷启动 SFT | Parallel-GSM8K | SFT(格式) | 128 | — | 58 / 230 | 1e-5 |
| 简单题 RL | GSM8K | R⟨Parallel⟩ × Racc | 1024 | 5 | 35 | 1e-6 |
| 难题 RL | DAPO | Racc | 512 | 8 | 300 | 1e-6 |
58 / 230 分别是 Parallel-SFT-Seen 与 Parallel-SFT-Unseen 的梯度更新步数。代码库基于 VERL,论文称沿用官方 recipe、没有调超参。
这里的并行是结构上的多路径,不是多卡并行解码。从论文的实现描述看,因果模型里所有 <Path> 仍在同一条自回归序列中依次生成,只是被标签切成不同的段;论文也指出,因果模型没有显式隔离,某条路径的隐状态可能泄漏到另一条,路径之间的梯度也会互相干扰。
结构化变体才真正改动注意力:path-window masking 让每条路径只能看自己和共享上下文,multiverse position encodings 给每条路径分配不重叠的位置下标。两者一起把路径隔开,同时保留 <Summary> 对全部路径的可见性。
结构化变体在 Unseen S2 上平均 46.8,低于因果 Seen 的 48.9;加上 Stage 2 RL 还会再掉 8.6。论文的解释是:在简单题上学到的 mask 不能很好地迁移到难题分布。 换句话说,给模型更强的结构先验,不等于给它更好的优化路径;RL 训练和架构归纳偏置需要一起设计。
先看推理时怎么走,再看训练中并行块的位置怎么从「探索」滑到「验证」。
<Path>,再由 <Summary> 汇总回主链;这个过程可以在一次推理里重复多次。依据论文 §3.2 重绘。
<Parallel> 才进入并行块。<Path>。
论文用「<Parallel> 起始 token 下标 / 解的总长度」度量并行块的相对位置,发现它随 RL 训练持续上升:早期模型在推理开头就用并行,后期模型把并行放到接近答案的位置。
<Parallel> 块在推理链中的位置变化(示意)。论文 Figure 3 发现相对位置随训练持续上升;图中只表达方向,不是精确读数。
论文的解释是:训练早期模型本身推理能力弱,用并行做计算探索是发现解法的必要手段,方差高但值得;训练后期单链已经能给出高置信答案,早期分叉反而可能引入错误、危及最终奖励。于是模型学会了更保守的策略:先用单链解一遍,再用并行做多角度验证。
这不是模型突然更「理解」并行的价值,而是最终答案主导的奖励把它推向风险规避。论文也把这一点点破:最终答案优化和多样推理结构之间存在张力。
看三组数:主表、奖励消融、以及训练中并行行为怎么变。
| 方法 | #Parallel | AIME25 Mean@16 |
AIME25 Pass@16 |
AIME24 Mean@16 |
AIME24 Pass@16 |
AMC23 Mean@16 |
AMC23 Pass@16 |
MATH Mean@1 |
Avg. |
|---|---|---|---|---|---|---|---|---|---|
| Qwen3-4B-Base | 0.0 | 1.3 | 10.2 | 2.9 | 16.5 | 8.1 | 51.2 | 13.9 | 6.6 |
| Parallel-SFT-Seen | 95.6 | 8.0 | 29.8 | 10.6 | 26.4 | 48.9 | 79.2 | 76.6 | 36.0 |
| Parallel-SFT-Unseen | 95.6 | 5.2 | 20.9 | 8.5 | 26.7 | 41.7 | 80.1 | 71.5 | 31.7 |
| GRPO (DAPO) | 0.0 | 14.8 | 32.4 | 18.5 | 30.6 | 63.6 | 85.1 | 83.5 | 45.1 |
| + RL on GSM8K | 0.0 | 13.3 | 26.3 | 18.8 | 34.9 | 66.4 | 82.2 | 82.6 | 45.3 |
| Parallel-R1-Seen | 27.3 | 19.2 | 38.9 | 19.4 | 37.1 | 70.5 | 85.0 | 86.7 | 48.9 |
| Parallel-R1-Unseen (S1) | 13.6 | 17.7 | 37.8 | 18.3 | 33.2 | 69.7 | 88.9 | 82.6 | 47.1 |
| Parallel-R1-Unseen (S2) | 63.0 | 19.0 | 42.2 | 16.3 | 31.8 | 67.5 | 91.5 | 84.5 | 46.8 |
Table 2。AIME25 / AIME24 / AMC23 为 mean@16 与 pass@16,MATH 为 mean@1;采样温度 T=1.0。
几个值得注意的点:
切换指标,看「只奖励准确率」「只奖励并行」「交替奖励」在四个基准和并行比例上的差别。数据来自论文 Table 4(结构化变体 Unseen)。
论文设计了一个两段实验:前 200 步沿用 Unseen S2 的交替奖励,强制模型高频使用并行(探索阶段);200 步后切换成只看准确率(利用阶段)。 进入第二阶段后,并行比例持续下降,但 AIME25 准确率反而上升,峰值达到 25.6%。论文报告这相对基线提升 42.9%。
这说明并行的价值不只在「推理时多几条路」本身,更在于强制探索把模型推到了一个更好的策略区域。脚手架拆除后,模型已经不在原来的起点上。这是论文最值得迁移的思路:过程本身可以是一种临时的训练信号,而不是永久的推理格式。
论文自己留下的四个边界,决定了这套方法能搬到哪里。
四个基准全是数学:AIME25、AIME24、AMC23、MATH。奖励是答案对错,能自动判定。代码、写作、科学假说这些开放域任务,奖励函数本身就要重新设计;论文没有给出证据说明这套课程能直接迁移。
实验只用了 Qwen-3-4B-Base;冷启动数据来自 DeepSeek-R1-0528-Qwen-3-8B。更大的模型是否已经有潜在的并行能力、是否还需要这套冷启动,论文没有回答。教师模型生成的格式也构成了学生能力的天花板。
论文论证测试时方法开销高,但没有给出 Parallel-R1 自己多路径生成的 token / 延迟增量,也没有和测试时方法做同等条件下的成本对比。多写几条路径终究比单链贵;这笔账需要在使用场景里自己算。
Unseen S2 平均 46.8、S1 47.1,都低于 Seen 的 48.9;给结构化模型加 Stage 2 RL 还会掉 8.6。另一方面,最终答案主导的奖励把并行推到链尾,模型可能变得过于保守、在真正需要探索时也不分叉。论文把它解释为风险规避,但这仍是开放问题。
一句话总结:Parallel-R1 给出的是一套「把复杂行为拆成格式、触发、泛化」的训练范式,以及一个可复用的中期脚手架思路;它没有证明并行在所有任务上都优于串行。 如果你的任务有可靠的过程信号、且单链模型已经卡在探索不足上,这套课程值得试;如果你只是想要更高的吞吐,多路径生成不是答案。