Parallel-R1
Paper · arXiv 2025 · 2509.07980

Parallel-R1:先教模型「怎么写并行」,再让 RL 学会「什么时候用」

并行思考的冷启动不是数据量问题:同一个提示,在 GSM8K 上能生成 83.7% 格式合格的并行轨迹,在 DAPO 上是 0.0%。 论文用三段课程先把格式教会,再用 RL 把并行从「逢题就写」压成「该用才用」——平均分 48.9,GRPO 基线 45.1。 代价是它只在数学这类可验证奖励的领域里被验证过。

Tong Zheng 等 · Tencent AI Lab Seattle / UMD 等 arXiv 2509.07980 ↗ 代码 ↗
TL;DR · 30 秒抓住核心

并行思考是:主链推理走到一个关键步时暂停,同时展开多条独立路径,再用 <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%。 脚手架拆了,模型已经站在更好的策略区域。

48.9
Parallel-R1-Seen 四基准平均
GRPO (DAPO) 45.1
19.2
AIME25 mean@16
GRPO 14.8 / SFT 8.0
83.7% vs 0.0%
并行格式合格率
GSM8K 7,472 条 / DAPO 17,916 条
01

难的不是多写几条路径,是模型根本发不出这个结构

先把冷启动讲清楚:RL 只能强化已经出现过的行为,而并行标签在预训练里从未出现。

串行 CoT 的风险是「一步错,步步错」:中间某个假设一旦选错,后面的推理都会沿着错误前提展开。并行思考试图在关键步制造分歧——同时探索多条路径,比较后再收敛,避免过早锁定到一条可能错误的解法上。

论文把这种行为形式化成两个阶段:Exploration(检测到关键步,暂停主链,展开 N 条独立轨迹)和 Summary(汇总各路结果、消解冲突,带着结论恢复主链)。实现上只用三个控制标签: <Parallel> 标记并行块,<Path> 隔离每条路径,<Summary> 汇总。 模型可以在一次推理里重复这个流程。

冷启动

RL 需要「非零概率」的行为,但模型从没学过这些标签

预训练和常规 SFT 的语料里没有 <Parallel> 这种结构。模型在 RL 探索时不会自发写出来,rollout 里没有合法的并行单元,奖励信号就没有东西可以强化。 论文指出,这正是此前 RL 教并行思考的工作大多停留在 CountDown 这类合成任务上的原因——真实难题的高质量并行轨迹既稀少又难合成。

论文用一组很直接的统计说明「借简单题做冷启动」为什么必要:

数据样本数并行格式合格率
GSM8K7,47283.7%
DAPO17,9160.0%

Table 1:同一个零样本提示 + 教师模型,在简单数学上能稳定生成并行格式,在难题上一条合格轨迹都没有。

这就把问题拆成了两个:怎么给模型一个可优化的起点,以及怎么设计奖励不让它走偏。第二个问题同样棘手——论文在结构化变体上做了奖励消融,两个极端都不行:

只奖励答案

模型会把并行「优化掉」

准确率单独作奖励时,并行比例只有 13.6%。模型能找到正确答案,但几乎不采用并行结构——它学会了更省事的串行捷径。

只奖励并行

模型会为了结构牺牲正确性

并行比例被拉到 80.3%,但 AMC23 掉到 59.4、MATH 掉到 81.7。结构形式盖过了逻辑正确性。

所以真正的问题不是「要不要并行」,而是:怎么在模型还不会并行的时候给它一个可学习的起点,又怎么在它会了之后不让它滥用。

02

两条旧路:一条买推理时的算力,一条买别人的轨迹

测试时方法把并行放在模型外面,SFT 把并行放进数据里;前者贵,后者学不深。

Test-time

外挂控制器:有效,但贵

Tree of Thoughts、self-consistency、MCTS、多智能体辩论等方法,在推理时通过外部程序强行分叉、搜索、投票或合并。

强项:不需要改模型,现成模型就能用。

盲区:分支点和合并点通常由预定义日程或手写启发式决定,不随中间推理进展自适应;而且一次问题要多次调用模型,推理开销显著高于标准生成。

SFT

行为克隆:学得像,学不深

用合成数据做监督微调,让模型模仿预先生成的并行轨迹。数据往往要经过复杂的多阶段管线,成本高。

强项:能把已知的并行模式稳定地写进模型。

盲区:本质是 behavioral cloning,上限受数据质量约束;模型复现的是见过的模式,不是可泛化的策略。更致命的是,难题上的并行数据根本生成不出来——Table 1 里 DAPO 的格式合格率是 0.0%。

第三条路

RL 可以自己探索,但必须先解决冷启动和奖励设计

与 SFT 的「lossless transformation」思路不同,RL 允许模型在探索中发现数据里没有的推理模式。论文的主张是:并行思考不只是把一条长 CoT 改写成并行形式,而是可以通过奖励学出一种新的策略。

但这条路有两个前提:第一,模型得先能偶尔写出合法结构(冷启动);第二,奖励得同时约束「用并行」和「答对」,否则模型会滑向上面两个极端。Parallel-R1 的三段课程就是为这两个前提设计的。

03

三段课程:先学格式,再学触发,最后学泛化

每一段只解决一个问题;把三个问题混在一起,RL 优化不动。

论文的核心不是某个新算子,而是把「学会并行思考」拆成三个可分别优化的阶段。同一个基座模型,三个阶段的数据、奖励、目标都不同:

01

冷启动 SFT

Parallel-GSM8K · 58 步

用 GSM8K 的约 7k 道题,让教师模型 DeepSeek-R1-0528-Qwen-3-8B 生成并行轨迹,只保留非思考部分作为金标注。目标很纯粹:教会格式,不要求它会解难题。

SFT:batch 128,LR 1e-5,weight decay 0.01,warm-up 0.1,cosine 调度。

02

简单题 RL

GSM8K · 35 步

同一批 GSM8K 问题,改用 GRPO。奖励要求「至少一个并行单元」且「答案正确」才给正分。目标:把格式和正确性绑定,让模型稳定地在合适的时候触发。

5 epochs,batch 1024,5 rollouts,LR 1e-6,无 warm-up / 调度。

03

难题 RL

DAPO · 300 步

换到 DAPO 训练集,奖励只剩准确率。目标:让模型把已经学会的并行能力泛化到难题,而不是继续被格式奖励牵着走。

batch 512,8 rollouts,LR 1e-6,无 warm-up / 调度。产出 Parallel-R1-Seen。

Rfinal = R⟨Parallel⟩ × Racc
Stage 2 的奖励:两项同时为真才给 +1,否则 −1。Stage 3 退化为 Rfinal = Racc。

注意这是乘法,不是加权求和:它要求两件事同时成立,防止模型用「写了并行结构」来换奖励。Stage 2 的作用不是提高最终分数,而是让模型在进入难题之前,已经具备稳定的触发行为。

结构化变体(Parallel-R1-Unseen)走另一条路:它跳过 Stage 2,改用两种奖励方案——S1 只看准确率;S2 在 10 步窗口里 80% 用准确率、20% 用分层奖励(并行且正确 +1.2,正确但没并行 +1.0,其余 −1.0)。这会在后面的结果里看到取舍。

自己动手:沿着课程看并行比例怎么变

下面四个阶段对应论文的训练路径。切换阶段,看并行比例、AIME25 和平均分怎么走;Stage 2 的模型没有单独列在主表里,所以留空,不替论文补数。

当前阶段
数值取自论文 Table 2 / Table 3;条形按各指标自身量程缩放。Stage 2 未单独评测,显示「—」。
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 不能很好地迁移到更难的数学分布,导致对浅层模式的过拟合。

同一段课程,对两种架构一正一负。这是论文没有把它包装成「通用配方」的原因,也是后面边界一节的伏笔。

04

GRPO 的账:35 步稳住格式,300 步推出泛化

这一节看工程可行性:每阶段多少步、多少 rollout、奖励怎么给,以及「并行」到底并行在哪。

论文用 GRPO,不需要 critic:对每个问题采样 G 条回答,用组内均值方差把奖励归一化成 advantage,再做带 clip 的策略更新,并对参考策略加 KL 约束。核心三项是:

ρi = πθ(oi | q) / πold(oi | q)
Ai = (ri − r̄) / √( (1/G) Σj (rj − r̄)2 + ε )
L = E[ (1/G) Σi min(ρiAi, clip(ρi, 1−α, 1+α) Ai) − β DKL(πθ ‖ πref) ]
论文 §3.4.1 的 GRPO 目标;α 是 clip 范围,β 是 KL 系数,ε 是数值稳定项。
阶段数据奖励batchrollouts步数LR
冷启动 SFTParallel-GSM8KSFT(格式)128—58 / 2301e-5
简单题 RLGSM8KR⟨Parallel⟩ × Racc10245351e-6
难题 RLDAPORacc51283001e-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 训练和架构归纳偏置需要一起设计。

05

一条主链,三个标签;结构化变体再加两道隔离

先看推理时怎么走,再看训练中并行块的位置怎么从「探索」滑到「验证」。

问题 q 主链自回归推理 走到关键步:预测 <Parallel> 并行块(可重复) <Path> A 独立推理 <Path> B 独立推理 <Path> C 独立推理 <Summary> 汇总 恢复主链 继续推理 / 输出答案
图 1:推理时的控制流。主链在关键步暂停,展开多个 <Path>,再由 <Summary> 汇总回主链;这个过程可以在一次推理里重复多次。依据论文 §3.2 重绘。
展开说明 ▸
  • 触发是动态的:不是每道题都固定分叉;模型在自回归过程中预测到 <Parallel> 才进入并行块。
  • 路径数量不固定:论文的形式化里是 N 条独立轨迹;实现中由模型自己决定生成几条 <Path>。
  • 因果模型没有硬隔离:所有路径在同一条序列里,前面的路径可能影响后面的路径;结构化变体才用 attention mask 和位置编码把路径隔开。
  • 并行的收益是「探索」,不是吞吐:论文没有把它实现成多路并行解码;多路径会增加 token 量,换的是更广的探索和更好的策略。

训练中,并行块从链首滑到链尾

论文用「<Parallel> 起始 token 下标 / 解的总长度」度量并行块的相对位置,发现它随 RL 训练持续上升:早期模型在推理开头就用并行,后期模型把并行放到接近答案的位置。

早期 Parallel 探索 主链 答案 后期 Parallel 验证 主链 答案 训练推进
图 2:<Parallel> 块在推理链中的位置变化(示意)。论文 Figure 3 发现相对位置随训练持续上升;图中只表达方向,不是精确读数。

论文的解释是:训练早期模型本身推理能力弱,用并行做计算探索是发现解法的必要手段,方差高但值得;训练后期单链已经能给出高置信答案,早期分叉反而可能引入错误、危及最终奖励。于是模型学会了更保守的策略:先用单链解一遍,再用并行做多角度验证。

这不是模型突然更「理解」并行的价值,而是最终答案主导的奖励把它推向风险规避。论文也把这一点点破:最终答案优化和多样推理结构之间存在张力。

06

平均 48.9:不是一直并行,是少而准地用

看三组数:主表、奖励消融、以及训练中并行行为怎么变。

方法 #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-Base0.01.310.22.916.58.151.213.96.6
Parallel-SFT-Seen95.68.029.810.626.448.979.276.636.0
Parallel-SFT-Unseen95.65.220.98.526.741.780.171.531.7
GRPO (DAPO)0.014.832.418.530.663.685.183.545.1
+ RL on GSM8K0.013.326.318.834.966.482.282.645.3
Parallel-R1-Seen27.319.238.919.437.170.585.086.748.9
Parallel-R1-Unseen (S1)13.617.737.818.333.269.788.982.647.1
Parallel-R1-Unseen (S2)63.019.042.216.331.867.591.584.546.8

Table 2。AIME25 / AIME24 / AMC23 为 mean@16 与 pass@16,MATH 为 mean@1;采样温度 T=1.0。

几个值得注意的点:

奖励怎么选:三种方案的取舍

切换指标,看「只奖励准确率」「只奖励并行」「交替奖励」在四个基准和并行比例上的差别。数据来自论文 Table 4(结构化变体 Unseen)。

当前指标
只奖励准确率 只奖励并行 交替奖励
AIME25 / AIME24 的条形按 0–25 缩放,AMC23 / MATH / 并行比例按 0–100 缩放;数字为原始值。

最反直觉的发现:并行可以只当脚手架

中期探索

先强制探索 200 步,再切回纯准确率

论文设计了一个两段实验:前 200 步沿用 Unseen S2 的交替奖励,强制模型高频使用并行(探索阶段);200 步后切换成只看准确率(利用阶段)。 进入第二阶段后,并行比例持续下降,但 AIME25 准确率反而上升,峰值达到 25.6%。论文报告这相对基线提升 42.9%。

这说明并行的价值不只在「推理时多几条路」本身,更在于强制探索把模型推到了一个更好的策略区域。脚手架拆除后,模型已经不在原来的起点上。这是论文最值得迁移的思路:过程本身可以是一种临时的训练信号,而不是永久的推理格式。

07

它解决的是「怎么学并行」,不是「并行一定更好」

论文自己留下的四个边界,决定了这套方法能搬到哪里。

边界一

只在数学这类可验证奖励里验证

四个基准全是数学:AIME25、AIME24、AMC23、MATH。奖励是答案对错,能自动判定。代码、写作、科学假说这些开放域任务,奖励函数本身就要重新设计;论文没有给出证据说明这套课程能直接迁移。

边界二

4B 基座 + 教师依赖

实验只用了 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 给出的是一套「把复杂行为拆成格式、触发、泛化」的训练范式,以及一个可复用的中期脚手架思路;它没有证明并行在所有任务上都优于串行。 如果你的任务有可靠的过程信号、且单链模型已经卡在探索不足上,这套课程值得试;如果你只是想要更高的吞吐,多路径生成不是答案。