← 返回列表

EARL: Efficient Agentic Reinforcement Learning Systems for Large Language Models

作者 Zheyue Tan, Mustapha Abdullahi, Tuo Shi, Huining Yuan, Zelai Xu, Chao Yu, Boxun Li, Bo Zhao
年份 2025
会议/期刊 arXiv 2025
评分
标签 强化学习 系统优化 分布式训练
摘要 智能体 RL 训练的系统优化:动态并行度选择器(防 OOM)+ 布局感知数据分发器(all-to-all 替代中心化聚合),128 GPU 上延迟降低 9.7-11.2×

核心思想

智能体 RL 训练 LLM 时面临两个系统级瓶颈

  1. 上下文长度爆炸:多轮交互中上下文不断增长 → 内存溢出(OOM)
  2. 中间张量通信:大规模分布式训练中数据交换量巨大(1K GPU 时可达 500GB/迭代

EARL 提出两个系统组件:

  1. Parallelism Selector:根据当前上下文长度动态切换并行度,短序列高吞吐、长序列防 OOM
  2. Data Dispatcher:用 all-to-all 替代中心化 gather-and-scatter,去中心化数据分发

背景知识

智能体 RL 的系统挑战

挑战 说明 量化
上下文长度增长 多轮游戏/对话中序列不断变长 一个 4B 模型在训练第 13 步就触达 8K 上限
内存需求 单 batch 内存需求随序列长度急剧增长 8K→32K:97GB→354GB
通信瓶颈 中间张量(log-prob 等)需要跨 GPU 传输 200B+ 模型 32K 上下文:~1TB 数据需 20+ 分钟

传统解决方案的局限

方法 效果 问题
长度惩罚 限制上下文增长 限制了模型的能力上限
硬性截断 防 OOM 截断导致低质量训练数据
固定高并行度 短序列安全 短序列时吞吐量浪费 31%

方法详解

1. Parallelism Selector(动态并行度选择器)

核心思想:不同上下文长度需要不同的张量并行度(TP)。短序列用低 TP 提高吞吐,长序列用高 TP 防 OOM。

机制

  1. 预训练阶段:测量不同 TP 配置在不同序列长度范围的吞吐量
  2. 运行时:监控生成的平均上下文长度
  3. 当长度进入新范围时,在下一个 rollout 阶段前切换 TP 配置

吞吐量加速公式

\[\text{Speedup\%}(a, b) = \frac{\text{TGS}(b) - \text{TGS}(a)}{\text{TGS}(a)} \times 100\]

其中 TGS = tokens-per-GPU-per-second。

适用范围:同时优化 rollout 阶段(策略模型推理)和 experience preparation 阶段(参考/价值/奖励模型)。

2. Data Dispatcher(布局感知数据分发器)

问题:传统中心化架构(单控制器)将所有中间数据汇聚到一个节点 → 严重通信瓶颈。

解决方案:用 all-to-all 操作替代 all-gather-and-scatter,数据从计算源直接路由到目标 worker,无需中心聚合。

目标张量:优先处理无跨阶段依赖的张量(如 log-probabilities)。

中间数据大小(per worker):

上下文长度 数据大小
8K 46 MiB
16K 93 MiB
32K 187 MiB

实验结果

实验配置

  • 硬件:16 机 × 8 NVIDIA H100-80GB = 128 GPU
  • 节点内:NVLink;节点间:InfiniBand 200 Gbps
  • 模型:Qwen2.5-72B-Instruct
  • 环境:Connect Four 游戏
  • 框架:基于 ROLL,PyTorch 2.6.0 + Ray 2.46.0 + vLLM 0.8.4

动态并行度效果

上下文长度 TP=4 vs TP=8
8K(短) TP=4 吞吐量高 31%
16K(中) TP=8 提升 5%
32K(长) TP=4 OOM 崩溃;TP=8 稳定

动态切换:短序列享受高吞吐,长序列保证稳定。

数据分发延迟

上下文长度 延迟降低
8K 9.7×
32K 11.2×

all-to-all 相比中心化架构带来一个数量级的延迟降低。

真实失败案例

4B 参数模型在 Tic-Tac-Toe 训练中:

  • 第 13 步:上下文触达 8,192 token 上限
  • 上下文截断 → 低质量训练数据
  • 第 15 步:平均回报急剧崩溃

→ 说明上下文长度爆炸是智能体 RL 的必然问题,系统级优化不可或缺

个人思考

  1. 这是一篇”系统论文”而非”算法论文”:不提出新的 RL 算法,而是解决实际部署中的系统瓶颈 → 这类工作对工业落地极其重要但学术关注不够。
  2. 上下文长度爆炸是智能体 RL 的独特挑战:传统 RLHF 是单轮问答,序列长度可控;智能体 RL 是多轮交互,序列长度不可预测 → 传统框架的假设被打破。
  3. 动态并行度的思想可以推广:不仅 TP,数据并行度、pipeline 并行度也可以根据当前 workload 动态调整 → 自适应分布式训练。
  4. all-to-all 替代中心化聚合降低 9.7-11.2× 延迟:中心化架构在大规模场景下的通信瓶颈是众所周知的,但在 RL 训练框架中被忽视了。
  5. “短序列高吞吐 vs 长序列防 OOM”的权衡正是实际生产中最头疼的问题——大多数团队选择固定高并行度(浪费 31% 吞吐量)或固定低并行度(偶发 OOM),动态切换是更优的方案。
← 返回列表