阿里 Roll Flash:異步 RL,加速 RLVR 和 Agentic 訓練
一、背景
筆者在之前的文章中介紹了一系列偏同步訓練方式的 RL 優化方案,最近出了一系列異步訓練工作,后續會逐步介紹。本文中先簡單介紹來自阿里等團隊的 Roll 系列中的 Roll Flash。
對應的論文為:[2510.11345] Part II: ROLL Flash -- Accelerating RLVR and Agentic Training with Asynchrony
對應的代碼庫為:GitHub - alibaba/ROLL: An Efficient and User-Friendly Scaling Library for Reinforcement Learning with Large Language Models
二、摘要
同步 RL 后訓練已成為 LLM 多樣化能力的關鍵步驟,然而許多同步 RL 后訓練的系統仍存在資源利用率低或者可擴展性有限的問題。
為此,作者提出 Roll Flash 系統,通過原生支持異步 RL 后訓練來擴展 Roll 框架。其基于兩大核心設計原則:細粒度并行、環境交互與 Training 解耦。基于這些原則,Roll Flash 提供靈活的編程接口,支持完全異步的訓練框架,并實現包括 Queue Scheduling 和 Environment-level 異步執行的高效交互機制。
實驗結果表明,Roll Flash 相比同步 RL 后訓練能顯著提升資源利用率和可擴展性。在相同 GPU 預算下,Roll Flash 在 RLVR 任務上最高加速 2.24x,在 Agentic 任務上最高加速 2.72x。此外,實現了多種流行的 Off-Policy 算法,并驗證異步訓練能達到與同步訓練相當的性能表現。
如下圖(a)展示了本文 Roll Asynchronous RL 與傳統 Synchronous RL 以及 Roll Synchronous RL 的區別;(b)展示了相應的性能差異。

三、引言
3.1 RLVR vs Agentic
RLVR(Reinforcement Learning for Verbal Reasoning)和 Agentic(面向智能體交互的任務)是兩類不同的場景,在任務形式、數據流、延遲特征、系統瓶頸等方面都有區別,因此需要不同的系統優化策略。
- 目標:
RLVR:提升模型 Reasoning 和解釋能力。
Agentic:提升模型的交互、規劃和行動能力。
- 交互方式:
RLVR:無交互,一個輸入、一次輸出。
Agentic:多輪交互、逐步決策。
- Response 長度:
RLVR:長并且差異大,比如可能 2K-32K。
Agentic:短,比如 1K-4K;但是多輪,可能 5-30 輪。
- 常見數據集:
RLVR:DAPO-Math-18K、MATH-500、OlympiadBench、AIME 等。
Agentic:SWE-Bench、ALFWorld、ShopSimulator。
- 應用場景:
RLVR:數學、代碼、Reasoning 問答。
Agentic:智能體、工具使用、自動化。
四、方案
4.1 設計原則
為充分發揮異步訓練優勢并提供靈活異步編程模型,Roll Flash 基于兩大設計原則:Training 和 Rollout 結構(Rollout–Train Decoupling)和 細粒度并行(Fine-grained Parallelism)。
4.1.1 Training 和 Rollout 解耦架構
實現異步訓練需要解決兩大問題:
- 管理模型的 Async Ratio,用于量化并控制 “樣本生成所使用的 Policy 模型” 與 “當前正在訓練的 Policy 模型” 之間的版本滯后程度,防止精度顯著損失。
- 優化 Rollout 和 Training 階段的資源分配:因為 Rollout 和 Training 兩階段構成了典型的 “生產者 —— 消費者” 模式,資源分配不均衡必將導致某個階段的空轉。
通過將 Rollout 和 Training 從阻塞更新改成非阻塞異步更新,并合理調整 Rollout 和 Training 比例及 Async Ratio 參數,可以實現效率和精度的平衡。
PS:Async Ratio α 用于控制樣本新鮮度。具體而言,若 Policy 模型已經更新到版本 n,則 SampleBuffer 中所有樣本必須由不低于 (n-α) 版本的 Policy 生成。因此,SampleBuffer 中容量的上限為 (1+α) x Batch Size 的樣本量,可以提供更高的資源利用率,且不會浪費任何樣本。α 太小,SampleBuffer 容量上限比較小,可能利用率不高;α 太大,則可能影響訓練穩定性。
如下圖 Figure 4 所示,作者實驗表明,在 Async Ratio 為 2 或者 8 時,都能獲得與基線相當甚至更優的精度:

如下圖 Figure 3 所示,異步機制(8Train32Infer、16Train24Infer)能有效緩解因長尾生成延遲造成的訓練停滯,當訓練與推理資源分配均衡時,相比同步訓練(40Training&Infer)可實現顯著加速效果(16Train24Infer);此外,在幾乎所有實際應用場景中,異步方法均能有效加速訓練過程。

4.1.2 細粒度并行
在 Rollout 階段實現細粒度并行機制,用以同步執行 LLM 生成、環境交互以及 Reward 計算。相較于傳統的以 Batch 粒度順序處理,Roll Flash 中在樣本級別進行細粒度并行操作。可以掌控每個樣本的生命周期,自主決定何時何地執行特定樣本的各個處理階段。比如:當某個樣本在執行 LLM 生成時,另一個樣本可同步執行環境交互,第三個樣本可執行 Reward 計算。除此之外,細粒度并行中通過 Prompt Replication 技術將 LLM 生成任務均勻分布到多個 GPU 上,避免長尾任務集中在少數設備。
4.2 異步執行工作流
如下圖 Figure 5 展示了 Roll Flash 在 RLVR 和 Agentic 后訓練中的異步執行工作流程。其以 Rollout 階段為核心,在 Rollout 內部通過細粒度并行實現了各子階段的最大化 Overlap。而在跨階段層面,通過 Rollout 和 Training 解耦實現兩階段的并行執行。這里以 Agentic 場景為例進行介紹。

LLMProxy:作為內部后端 Worker 的協調器,被多個 EnvManager 共享使用。包括 3 個核心服務:
- Step-wise Inference:類似于流式的 Online Service,每個迭代執行單步 Decoding 或 Prefill,推理引擎負責 Continuous Batching 以充分利用 GPU 資源。
- Post-Processing:推理引擎處理完,立即觸發回調對輸出進行后處理并返回給 Client(例如 EnvManager)。
- Process Commands:循環持續處理 Agent 分發命令,包括 Add Request(加入新請求)、Abort Request(中斷執行中請求并回收樣本到共享的 SampleBuffer 中,供后續重新計算和生成使用)。
EnvManager:基礎執行工作單元。每個 EnvManager 通過 Reset 重置環境啟動循環后,將進入獨立循環,在其 BaseEnv 和 LLMProxy 之間進行協調。在該循環中,EnvManager 將接收來自 LLMProxy 的 Action 響應,通過 step 將其應用到 BaseEnv,處理生成的觀測值,如此循環直到滿足終止條件。
通過這種方式,Roll Flash 實現了 LLM Decoding 與數千環境執行的并行 Overlap。當軌跡生成后,EnvManager 立即觸發 Reward 計算,也可以與 Rollout 并行執行。
AsyncController:Roll Flash 通過 AsyncController 和共享的 SampleBuffer 驅動異步訓練流程。一組 EnvManager 進程作為獨立生產者運行:生成軌跡并加入 SampleBuffer。每個訓練 Step 中,AsyncController 通過 3 個階段實現 Rollout 與 Training 的權重同步(模型更新的時間開銷在整個訓練中占比很小,不會影響 Rollout 進程):
- 首先發送 suspend 暫停軌跡收集。
- 隨后執行模型更新 —— 獲取最新權重并廣播給所有 LLM 服務節點。
- 最后發送 resume 使 EnvManager 能基于更新后的模型繼續收集軌跡。
在每次訓練迭代中,AsyncController 向 SampleBuffer 發送阻塞式 get_batch 指令,以獲取一個 minibatch 的樣本,用于執行訓練步驟。
- 在異步模式下,Training 與軌跡生成階段相互 Overlap,EnvManager 與 LLM Server Worker 并行收集下一 Batch 數據。
- Roll Flash 也可輕松切換到同步模式,通過在 get_batch 指令立即調用 suspend 終止軌跡收集過程,確保后續所有軌跡都基于最新模型參數生成。
這種異步設計使用戶無需實現復雜的并發控制或定制通信方案。通過在 LLM Proxy、EnvManager 和 AsyncController 中設置可選屏障,可支持多樣化的訓練機制(例如異步訓練、批量軌跡生成)。若無此類屏障,整個流程將保持完全異步狀態,使得訓練過程能夠持續充分利用可用計算資源。基于這些組件,可以通過配置 Async Ratio 來控制異步程度,從而在模型性能與訓練效率之間實現動態平衡。
五、詳細設計
5.1 RLVR Pipeline
5.1.1 Queue Scheduling
Roll Flash 通過細粒度并行和 Queue Scheduling 突破同步模式的限制,每個 Prompt 被視作獨立軌跡任務加入動態調度隊列,Response 生成后立即發送到 Reward 計算單元,無需等待 Batch 內其他任務完成。LLM 生成與 Reward 的 Overlap 即可以明顯消除流水線 Bubble。如下圖 Figure 6 展示了種種調度方式的優勢(PS:這種方式也比較常見,比如在小米的 [2505.07608] MiMo: Unlocking the Reasoning Potential of Language Model -- From Pretraining to Posttraining 中也有介紹):

實驗評估:在同步基線中,Reward 計算會被延遲到整個 Batch 生成完成。實驗中,每個 Prompt 生成 k=8 個 Response,允許最多 16 個額外 Prompt。作者評估了不同 Batch Size 下對含冗余生成和不含冗余生成的 Queue Scheduling 的優勢。如下圖 Figure 7 所示,Queue Scheduling 降低了平均每個 Step 的生成時間。例如 16 個冗余 Prompt,8x8 配置(8 個 Prompt,每個 8 個 Response),平均每個 Step 生成時間從 125s 降低到 37s,加速 3.4x。

5.1.2 Prompt Replication
Roll Flash 采用 Prompt Replication 進一步提升 Inference 效率。傳統方法中,通常使用 num_return_sequences > 1 來為每個 Prompt 生成多個 Response,也就是對于單個 Prompt 的 n 個 Response 都在一個 Inference 實例生成,可以最大化 Prefix Cache 利用率。但是可能因為不同 Prompt 的 Response 長度差異加劇 Bubble 率。而 Roll Flash 中,允許同一個 Prompt 的 n 個 Response 在不同的 Inference 實例生成,可以有效減少因 Response 長度差異導致的 Pipeline Bubble。
PS:Prompt Replication 會導致 Prefix Cache 命中率降低,但是考慮到 Prompt 通常比較短,而 Response 比較長,這部分損耗可以忽略。除此之外,也可以引入分布式 KV Cache 或者 PD 分離技術進一步緩解這個問題。
實驗評估:作者在不同 Batch Size 和生成 Response 個數下評估了 Prompt Replication 的效果。
- 固定生成 Response 個數為 16:Batch Size 從 4 逐步增加到 64,當 Prompt 個數達到 16 時,可以獲得明顯加速,并且 Prompt 個數越多越明顯,在 64x16 配置下獲得 1.84x 加速(PS:當 Batch Size 足夠大時反而有可能沒有加速效果,這里也可以通過生產者-消費者模式實現更佳的均衡)。
- 固定 Batch Size 為 16:生成 Response 個數從 4 增加到 64,隨著序列個數的增加,Prompt Replication 的優勢越明顯,在 16x32 配置下,可以獲得 1.95x 加速。

5.2 Agentic Pipeline
在 Agentic Pipeline 中,單個軌跡涉及與復雜外部環境的多輪交互,這些環境的執行延遲差異顯著且故障頻發,盡管大多數 Rollout 可以在數秒內完成,但受環境初始化和網絡延遲影響,部分 Rollout 會延長到數分鐘。這種顯著的長尾延遲也會嚴重降低訓練效率,由此催生了兩項關鍵設計:Environment-level Asynchronous Rollout(環境級異步 Rollout)和 Redundant Environment Rollout(冗余環境 Rollout)。
5.2.1 環境級異步 Rollout
為了減少環境交互過程中的 GPU 閑置,將每條軌跡分解為細粒度的環境交互單元序列,當每條軌跡開始與環境交互獲取反饋時,SampleBuffer 中待處理的軌跡會立即調度到可用 LLM Server 節點,持續生成后續 Response(即 Action)。
實驗評估:首先在環境延遲服從高斯分布(均值為 μ,標準差為 σ)的條件下進行受控模擬。如下圖 Figure 9 所示,方差越大,加速效果越明顯。當參數為 (10,10) 時,Batch Size 512 的平均 Step 時間從 892s 降至 362s,實現 2.46x 加速。

在真實環境進一步驗證,如下圖 Figure 11 所示,即使在同步訓練模式下,Environment-level Asynchronous Rollout 也將 SWE 環境中端到端時間從 10.22 小時縮短到 8.32 小時,加速比 1.23x。在 ALFWorld 環境中從 13.37 小時縮短至 8.44 小時,加速比 1.58x。
5.2.2 冗余環境 Rollout
還引入冗余環境 Rollout 機制以緩解不穩定性對 Agentic RL 訓練效率的負面影響。提供兩個可調控參數:
- 增加環境組數量以啟動更多并發環境組。
- 增大組規模以生成更多候選軌跡。
由于 Roll Flash 在收集到預設數量的軌跡后會立即終止 Rollout,因此可以有效防止慢故障和完全故障成為系統瓶頸。
實驗評估:將總 Rollout Batch Size 固定為 256,以環境延遲均值為 μ=10、標準差 σ=5 的高斯分布建模。如下圖 Figure 10 所示,增加組數量始終比擴大組規模更有效。例如,從 32x8 擴展到 36x12 時,單步時間從 243s 降至 45s,實現 5.45x 加速;如下圖 Figure 11 所示,在真實環境的實驗中,Redundant Environment Rollout 在 Environment-level Asynchronous Rollout 基礎上可以額外提供 7%-16% 的吞吐提升。

六、參考鏈接
- ??https://arxiv.org/abs/2510.11345??
- ??https://github.com/alibaba/ROLL??
- ??https://arxiv.org/abs/2505.07608???
本文轉載自??AI閑談??,作者:AI閑談

















