AReaL:面向语言推理大模型(LRMs)的异步大规模强化学习(RL)训练系统
异步强化学习
强化学习已成为训练大语言模型的主流范式,在推理任务中尤为适用。高效的大语言模型强化学习训练需要依托大规模并行化技术,这也对高性能的训练系统提出了迫切需求。目前主流的大语言模型大规模强化学习系统均采用同步架构,在批次模式下交替执行生成与训练环节,每个训练批次的轨迹生成均由同一版(或最新版)模型完成。这种方式虽能保障强化学习训练的稳定性,却存在严重的系统级效率缺陷:模型更新前,生成环节必须等待批次内最长输出序列完成计算,这直接导致了GPU的利用率不足。
本文提出了全异步强化学习系统 AReaL,实现了生成环节与训练环节的完全解耦。在该系统中,轨迹生成工作节点无需等待,持续生成新的输出结果;训练工作节点则在收集到足量的批次数据后,立即开展模型更新。AReaL 还融合了多项系统级优化策略,大幅提升了GPU的利用率。为保障强化学习训练的稳定性,该系统通过平衡轨迹生成与训练工作节点的负载来管控数据陈旧性,同时采用经陈旧性优化的PPO变体,更好地适配过期的训练样本。在数学和代码推理基准测试中的大量实验结果表明,在使用同等数量GPU的前提下,AReaL 相比同步系统实现了最高 2.77 倍的训练加速,且模型最终性能与同步系统持平甚至更优。
论文:https://arxiv.org/pdf/2505.24298
代码:https://github.com/inclusionAI/AReaL
目录
背景
强化学习(RL)凭借赋予大语言模型(LLM)推理思考能力,成为提升其性能的全新规模化训练范式。在给定提示词的情况下,强化学习能让大语言模型在输出最终答案前生成思考标记,进而实现模型的测试阶段扩展。这类具备推理思考能力的大语言模型被命名为大推理模型(LRM),研究表明,其在数学、代码编写、逻辑谜题、智能体任务等各类高难度推理任务中,均展现出尤为出色的能力。
高效的强化学习训练往往需要依托大规模并行化技术,生成大批量的轨迹样本以实现充分的策略探索,而这正是获取模型最优性能的关键。以 PPO、GRPO等主流强化学习算法为例,这类算法通常需要规模达数千个输出结果的有效训练批次。此外,大推理模型针对每个输入提示词,都可能生成数万个思考标记,这进一步对研发高效训练系统、支撑大规模强化学习训练的落地提出了迫切需求。
然而,开发一套高效的大规模强化学习训练系统并非易事。强化学习训练系统需要在大语言模型的生成环节与训练环节之间频繁切换,若缺乏精细化的优化设计,这一过程会产生巨大的系统开销。对于大推理模型而言,在整个强化学习训练过程中,模型针对不同提示词生成的输出长度差异显著,这使得生成和训练环节的计算负载始终处于动态变化的状态。这一特点极易造成高性能硬件出现空闲等待的情况,进而导致计算资源的浪费。此外,PPO、GRPO 等经典的大规模强化学习算法为保障模型达到最优性能,通常要求训练采用在线策略训练数据,即由最新版模型生成的样本,这也为系统设计带来了额外的挑战。
online(智能体中真实环境中训练),offline (智能体不是中真实环境中训练);on-police(智能体使用自己产生的轨迹来提升自己的策略能力),off-police(智能体用其他来源的轨迹来提升自己的策略能力)。
因此,目前主流的大规模强化学习系统均采用全同步架构设计(Realhf,Hybridflow,Openrlhf),严格交替执行大语言模型的生成与训练环节,确保模型始终基于最新生成的结果开展训练,以实现最优的实际性能。在这种同步设计中,生成环节必须等待一个批次内最长的输出序列完成后才能推进后续流程。由于大推理模型的输出长度存在显著差异,同步式强化学习系统的训练效率大打折扣。近期也有相关研究尝试探索生成与训练的并行化方案(Asynchronous RLHF),这类研究采用旧版本模型生成的结果来更新当前模型,而为了保证性能表现,用于轨迹生成的模型版本仅能落后当前版本一两个迭代。但此类系统仍遵循批次化生成的模式,一个训练批次内的所有样本均由同一版本模型生成,因此生成阶段的系统效率低下问题仍未得到解决。
为从根本上解决系统设计中存在的各类问题,作者开发了 AReaL—— 一套面向大推理模型的全异步强化学习训练系统,可在不损失模型最终性能的前提下,实现生成与训练环节的完全解耦。AReaL 采用流式方式执行大语言模型的生成任务,各轨迹生成工作节点无需等待,持续生成新的输出结果,大幅提升了GPU的利用率。同时,AReaL 中的训练工作节点一旦从轨迹生成工作节点收集到一个训练批次的数据,便会并行开展模型更新。模型完成更新后,系统会同步各轨迹生成工作节点中的模型权重。在这种异步设计架构下,AReaL 的每个训练批次都可能包含由不同版本模型生成的样本。为此,AReaL 引入了经改进的 PPO 算法目标函数,能够利用版本远旧的模型生成的样本进行训练,且不会造成任何性能损失。AReaL 还设置了数据过滤流程,确保每个训练样本的陈旧性都能得到良好管控。此外,该系统还提出了多项系统级优化策略,包括可中断的轨迹生成工作节点、面向变长输出的动态批处理以及并行奖励服务,进一步提升了整体训练吞吐量。
本研究聚焦于稠密型 Transformer 模型。强化学习训练主要包含生成(推理)和模型训练两个阶段。生成阶段的核心是自回归解码,这一过程需要高效的键值缓存管理机制以及经过优化的解码核。模型训练阶段则需要对数据并行、张量并行和流水线并行策略进行精细化的协同调度。传统的同步系统会在同一硬件资源上依次执行生成和训练任务,但这两个阶段所需的最优并行化策略却截然不同。近期已有相关研究提出上下文切换或权重重分片技术,以解决这种策略不匹配的问题。AReaL系统通过解耦生成与训练环节,实现了对传统同步强化学习系统的突破,还将权重重分片的开销从训练关键路径中彻底剔除
引理
强化学习的公式化表述与近端策略优化算法
作者将研究问题构建在马尔可夫决策过程(MDP)的框架下,该过程由元组 < S , A , r , P , γ , H > <S, A, r, P, \gamma, H> <S,A,r,P,γ,H>定义。其中, S S S代表状态空间, A A A代表动作空间, P P P代表转移模型, r : S × A → R r: S ×A \to \mathbb{R} r:S×A→R为奖励函数, γ \gamma γ为折扣因子, H H H为步长上限。大推理模型实现了一种参数化策略 π θ : S → A \pi_{\theta}: S \to A πθ:S→A,策略中每个动作 a t ∈ A a_{t} \in A at∈A均对应词汇表中的一个文本标记。状态 s t ∈ S s_{t} \in S st∈S由初始问题 s 1 = q s_{1}=q s1=q,以及模型此前生成的回复标记 ( a 1 , . . . , a t − 1 ) (a_{1}, ..., a_{t-1}) (a1,...,at−1)构成,状态间遵循确定性转移规则 s t + 1 = c o n c a t ( s t , a t ) s_{t+1}=concat(s_{t}, a_{t}) st+1=concat(st,at)(即新状态由原状态与当前动作拼接得到)。给定问题分布 D \mathcal{D} D,我们对如下目标函数进行优化:
J ( θ ) = E q ∼ D , a t ∼ π θ ( ⋅ ∣ q , a < t ) [ ∑ t = 1 H γ t − 1 r ( s t , a t ) ] . J(\theta)=\mathbb{E}_{q \sim \mathcal{D}, a_{t} \sim \pi_{\theta}\left(\cdot | q, a_{<t}\right)}\left[\sum_{t=1}^{H} \gamma^{t-1} r\left(s_{t}, a_{t}\right)\right] . J(θ)=Eq∼D,at∼πθ(⋅∣q,a<t)[t=1∑Hγt−1r(st,at)].
遵循通用研究做法,我们采用基于规则的奖励函数——该函数仅针对最终动作输出非零反馈,以此表征答案的正确性,并将折扣因子 γ \gamma γ取值为1。我们通过近端策略优化(PPO)算法对这一目标函数进行优化,其优化目标为:
J P P O ( θ ) = E q ∼ D , a t ∼ π o l d ( ⋅ ∣ q , a < t ) [ ∑ t = 1 H m i n ( u t ( θ ) A ^ ( s t , a t ) , c l i p ( u t ( θ ) , 1 − ϵ , 1 + ϵ ) A ^ ( s t , a t ) ) ] , J_{PPO}(\theta)=\mathbb{E}_{q \sim \mathcal{D}, a_{t} \sim \pi_{old}\left(\cdot | q, a_{<t}\right)}\left[\sum_{t=1}^{H} min \left(u_{t}(\theta) \hat{A}\left(s_{t}, a_{t}\right), clip\left(u_{t}(\theta), 1-\epsilon, 1+\epsilon\right) \hat{A}\left(s_{t}, a_{t}\right)\right)\right], JPPO(θ)=Eq∼D,at∼πold(⋅∣q,a<t)[t=1∑Hmin(ut(θ)A^(st,at),clip(ut(θ),1−ϵ,1+ϵ)A^(st,at))],
其中 u t ( θ ) = π θ ( a t ∣ s t ) π o l d ( a t ∣ s t ) u_{t}(\theta)=\frac{\pi_{\theta}(a_{t} | s_{t})}{\pi_{old }(a_{t} | s_{t})} ut(θ)=πold(at∣st)πθ(at∣st)表示重要性比率, A ^ ( s t , a t ) \hat{A}(s_{t}, a_{t}) A^(st,at)为(状态-动作对的)估计优势值。遵循强化学习领域的通用研究规范,我们将全局批次划分为多个小批次,用于执行顺序参数更新。
大推理模型训练的分布式系统
本研究聚焦于对经有监督微调(SFT)后的大推理模型(LRM)进行推理能力的增强,这与直接在预训练基础模型中激发推理能力的研究方法有所不同(DeepSeek-R1)。经有监督微调后的大推理模型会生成超长的推理序列(如 32K 个标记),而要实现稳定的强化学习训练,这类模型通常需要设置较大的全局批次规模(如 128 个提示词,每个提示词对应生成 16 个回复)。在同步强化学习系统中,生成(轨迹生成)与训练两个阶段会交替迭代执行:生成阶段利用最新的模型参数,为训练批次中的每个查询样本生成多条推理轨迹;训练阶段则基于这些生成的轨迹完成模型参数的更新。上述两个阶段会在同一批GPU上循环执行。
异步RL系统的动机
同步强化学习系统存在两项核心局限性:
- 推理设备利用率不足。如图 1(左)所示,训练开始前,生成环节必须等待最长序列生成完毕。这会导致各图形处理器(GPU)的解码长度不均,进而造成 GPU 计算资源的利用率偏低。
- 同步强化学习系统的可扩展性表现不佳。同步系统会将生成任务分布式部署在所有设备上,导致单块图形处理器(GPU)的解码批次规模被缩减,这会让解码过程陷入内存 - IO 受限的运行状态,在此状态下,即便新增硬件设备,也无法提升训练吞吐量。

- 图1:同步式(左)与单步重叠式(右)强化学习系统的执行时间线(展示推理设备利用率不足问题),单步重叠式设计是针对纯同步 RL 系统 “生成 - 训练交替串行等待” 的低效问题,提出的轻量化优化方案:核心是让上一轮的模型训练与下一轮的轨迹生成做单步并行重叠。
AReaL系统概述

- 图2:AReaL 系统架构,其特点是采用异步生成与训练组件。
图 2 展示了 AReaL 系统的架构与数据流。该系统包含四大核心组件:
可中断轨迹生成工作节点,其负责处理两类请求:(1)生成请求:根据输入的提示词生成对应回复;(2)权重更新请求:中断所有正在进行的生成任务,加载新版本的模型参数。中断触发后,轨迹生成工作节点会丢弃基于旧权重计算得到的键值(KV)缓存,并使用新权重重新计算缓存。完成上述操作后,轨迹生成工作节点会继续对未完成的序列执行解码,直至触发下一次中断或任务终止。需要强调的是,这类中断操作与运行中的权重更新,会导致单条轨迹由不同版本模型生成的片段拼接而成。这一特性带来了全新的算法层面挑战,将在后面给出对应的解决方案。
奖励服务用于评估模型生成回复的准确率。例如,在代码任务中,该服务会提取代码并执行单元测试以验证其正确性。
训练工作节点从回放缓冲区中持续采样,累积数据直至达到配置的训练批次规模,随后执行 PPO 更新,并将更新后的参数存入分布式存储。为保证数据新鲜度,回放缓冲区中的数据仅被使用一次。
轨迹生成控制器是连接轨迹生成工作节点、奖励服务与模型工作节点的关键枢纽。在训练过程中,它从数据集中读取数据,并调用轨迹生成工作节点的生成请求;随后将收到的回复发送给奖励服务,以获取奖励值。轨迹与对应奖励会被存入回放缓冲区,等待模型工作节点用于训练。模型工作节点完成参数更新后,控制器会调用轨迹生成工作节点的权重更新接口。在图 3 中展示了生成与训练的管理流程。这种异步流水线能够确保生成资源与训练资源始终被持续充分利用。

- 图3:AReaL 系统生成管理示意图。
对应的挑战
尽管异步系统设计通过提升设备利用率实现了显著的加速效果,但它也带来了若干需要从算法层面加以解决的技术挑战。
数据陈旧性
由于 AReaL 系统的异步特性,每个训练批次均包含来自多个旧版策略生成的数据。现有针对异步强化学习训练系统的研究已证实,此类陈旧性问题会降低基于人类反馈的强化学习(RLHF)中的学习效果(Asynchronous RLHF)。数据陈旧性会导致训练数据与最新模型之间存在分布偏差。而在面向大推理模型(LRM)的异步强化学习训练中,受解码时长大幅增加的影响,该问题在长轨迹场景下会变得更为严重。
策略版本不一致
生成的轨迹可能包含由不同策略版本生成的片段。这种不一致性从根本上违背了标准 PPO 的理论设定,即标准 PPO 假设所有动作均由单一旧策略 π o l d π_{old} πold生成。
解决方案
陈旧性感知学习
为避免因使用极高陈旧度数据进行训练导致性能下降,引入超参数 η \eta η,用于表示感知陈旧度训练中每个训练批次所允许的最大陈旧度。特别地,当 η = 0 \eta=0 η=0 时,系统退化为同步强化学习,所有训练样本均由当前策略生成。
在系统中通过动态控制发往生成服务器的生成请求吞吐量来实现陈旧度控制。给定当前策略版本 i i i、已生成轨迹总数 N r N_r Nr 以及每步训练的批次大小 B B B,在提交新的生成请求时,强制执行如下公式:
⌊ ( N r − 1 ) / B ⌋ ≤ i + η \left\lfloor \left(N_{r}-1\right) / B \right\rfloor \leq i+\eta ⌊(Nr−1)/B⌋≤i+η
这个公式的作用是充当一个“速度控制器”(Rate Limiter),它强制限制生成端(Rollout)不能跑得比训练端(Training)太快,从而保证积压在缓冲区里的数据不会太旧。
这里还会优先选取数据缓冲区中更早生成的轨迹来组成训练批次。在系统实现中,轨迹生成控制器会同时追踪已生成样本数 N r N_{r} Nr 以及来自参数服务器的策略版本 i i i,并拒绝所有可能违反陈旧度约束的新生成请求。
注意,这种速率限制策略在实际应用中是一种简洁且有效的设计选择。但当超参数 η \eta η取值过小时,若系统正在生成部分极长轨迹,生成吞吐量会被拖慢。因此,实验建议采用较大的陈旧度控制参数 η \eta η,以获得最优的系统吞吐量。这一全系统层面的实践也促使了下面的增强型算法,从而在强化学习训练中高效利用更多陈旧数据。
解耦PPO
采用解耦PPO目标函数,将行为策略与近端策略进行解耦。行为策略 π b e h a v \pi_{behav} πbehav 表示用于采样轨迹的策略;近端策略 π p r o x \pi_{prox} πprox 是作为近期目标、用于对 π θ \pi_{\theta} πθ 的更新进行正则化的近端策略。
通过对采样轨迹执行重要性采样,推导出适用于异步强化学习训练的解耦PPO目标函数:
J ( θ ) = E q ∼ D , a t ∼ π b e h a v [ ∑ t = 1 H min ( π θ π b e h a v ⏟ 重要性权重 A ^ t , π p r o x π b e h a v clip ( π θ π p r o x ⏟ 置信域中心 , 1 − ϵ , 1 + ϵ ) A ^ t ⏟ 重要性权重 ) ] = E q ∼ D , a t ∼ π b e h a v [ ∑ t = 1 H π p r o x π b e h a v min ( u t p r o x ( θ ) A ^ t , clip ( u t p r o x ( θ ) , 1 − ϵ , 1 + ϵ ) A ^ t ) ] , ( 5 ) \begin{aligned} J(\theta) & =\mathbb{E}_{q \sim \mathcal{D}, a_{t} \sim \pi_{behav }}\left[\sum_{t=1}^{H} \min\left( \underbrace{\frac{\pi_{\theta}}{\pi_{behav }}}_{\text{重要性权重}} \hat{A}_{t},\ \underbrace{\frac{\pi_{prox }}{\pi_{behav }}\operatorname{clip}\left( \underbrace{\frac{\pi_{\theta}}{\pi_{prox }}}_{\text{置信域中心}}, 1-\epsilon, 1+\epsilon \right) \hat{A}_{t}}_{\text{重要性权重}} \right) \right] \\ & =\mathbb{E}_{q \sim \mathcal{D}, a_{t} \sim \pi_{behav }}\left[\sum_{t=1}^{H} \frac{\pi_{prox}}{\pi_{behav }} \min\left( u_{t}^{prox}(\theta) \hat{A}_{t},\ \operatorname{clip}\left(u_{t}^{prox}(\theta), 1-\epsilon, 1+\epsilon\right) \hat{A}_{t}\right) \right], \quad (5) \end{aligned} J(θ)=Eq∼D,at∼πbehav
t=1∑Hmin
重要性权重
πbehavπθA^t, 重要性权重
πbehavπproxclip
置信域中心
πproxπθ,1−ϵ,1+ϵ
A^t
=Eq∼D,at∼πbehav[t=1∑Hπbehavπproxmin(utprox(θ)A^t, clip(utprox(θ),1−ϵ,1+ϵ)A^t)],(5)
其中
u t p r o x ( θ ) = π θ ( a t ∣ s t ) π p r o x ( a t ∣ s t ) u_{t}^{prox }(\theta)=\frac{\pi_{\theta}(a_{t} | s_{t})}{\pi_{prox}(a_{t} | s_{t})} utprox(θ)=πprox(at∣st)πθ(at∣st)
是相对于近端策略的重要性权重。为简洁起见,其中省略了状态-动作项。
异步PPO目标函数与标准PPO目标函数的核心区别,在于用于正则化模型更新的近端策略 π p r o x \pi_{prox} πprox。在异步PPO训练中,若将行为策略当作近端策略,会使最新策略 π θ \pi_\theta πθ 向旧版本、低质量策略靠拢,从而减慢模型优化速度。通过采用近期策略作为近端策略,模型更新会在高质量近端策略 π p r o x \pi_{prox} πprox 附近的置信域内进行,进而让训练更加稳定。
π θ \pi_{\theta} πθ:当前正在被训练、参数正在被更新的模型。它是最新的(Latest)。在 PyTorch 代码中,它是 requires_grad=True 的那个模型。
π b e h a v \pi_{behav} πbehav:当初生成这条训练数据的模型(旧版本)。它是陈旧的(Stale)。因为 AReaL 是异步的,生成这条数据时,模型可能还是第 10 版,等到训练时,模型已经更新到第 15 版了。那么 π b e h a v \pi_{behav} πbehav就是第10版的模型。
π p r o x \pi_{prox} πprox:用于约束更新幅度的“锚点”模型(通常是最近的一个快照)。比 π b e h a v \pi_{behav} πbehav新,通常是 π θ \pi_{\theta} πθ的上一版本。
AReaL接入Agent

为了适配任何智能体框架,AReaL 选择将「协议」作为统一标准,设计了一个代理网关(Proxy Gateway)。这个网关提供了 OpenAI/Anthropic API 协议的推理服务,会将所有输入的请求重定向到本地的推理引擎上(如 SGLang、vLLM)进行推理计算,用起来就像一个普通的推理服务。
但是,这个代理网关不止有路由的功能 —— 它会在进行推理的同时,捕获每一次 LLM 交互中输入输出的 Token 级信息。在这条轨迹结束后,AReaL 会将后一步的奖励值进行反向传播,为每一轮的输入输出赋予奖励值;最终,将它们导出为独立的训练样本。这样,早期的决策也能获得合理的奖励分配,让模型学会「为长远目标做出正确的早期选择」。
更多推荐



所有评论(0)