小红书开源Relax:全异步RL训练引擎,解决全模态Agentic训练三重困境(上)
随着强化学习(RL)后训练逐步延伸至全模态与Agentic场景,多模态数据异构、系统稳定性和角色耦合等方面的问题日益凸显。

为此,小红书AI平台团队开源了 Relax —— 一个为全模态数据、Agentic工作流和大规模异步训练协同设计的现代RL训练引擎。
实测其全异步Off-Policy模式相比共卡On-Policy方案吞吐提升 76%,相比现有全异步实现提升 20%。
核心痛点:全模态Agentic RL训练的三重困境
当前RL后训练正经历两个根本性变化:模型走向全模态(图文音视频联合训练),训练走向Agentic(多轮推理、工具调用、复杂环境交互)。
这两个趋势叠加,将现有RL训练框架推入了三重困境。这三个问题并非孤立存在,而是环环相扣,必须协同解决。
困境一:数据异构。 高质量的图片、音视频原始数据体积庞大,CPU预处理开销高,编码后Token数量激增。多模态编码器难以与现有并行策略高效协同,在丰富的多模态场景下,需要定制化的框架优化。
困境二:系统脆弱。 多模态训练带来更高的显存溢出(OOM)风险,叠加千卡规模的长时间训练,硬件故障、通信超时等问题频发。传统方案缺乏分钟级的故障恢复能力和单角色的弹性伸缩能力。
困境三:角色耦合。 在共卡部署方案下,各角色共享GPU导致串行执行,训练器(Trainer)需等待最慢的 rollout 完成。现有全异步方案虽将 rollout 与训练分离,但缺少细粒度的流水线调度。
核心洞察:三者耦合,必须协同设计

这三个困境形成了一条因果链:多模态导致系统低效脆弱 → 催生服务化隔离与全异步架构 → 催生数据总线 → 总线的字段存储天然兼容多模态。问题与解决方案在同一链条上形成闭环。
Relax 通过一套协同设计(co-design),将多模态原生支持、服务化容错与全异步流水线一并解决。
全异步架构:Rollout与训练并行,消除等待
核心思路:解耦角色,并行执行

传统方案将 Rollout(数据生成)和 Train(模型训练)耦合在一起。Relax 的做法是将其拆分为两个独立的服务:
- Rollout 服务:专司推理生成,基于 SGLang 引擎。
- Train 服务:专司梯度更新,基于 Megatron 后端。
两个服务通过 TransferQueue 数据总线连接。Rollout 生成的数据写入队列,Train 从队列中读取,互不阻塞。这带来的直接好处是:Rollout 的推理时间大部分被掩盖。Train 无需等待 Rollout 完成即可开始处理上一批数据,实现并行。
Micro Batch 级流水线:避免长尾延迟
仅解耦 Rollout 和 Train 仍不足够。传统方案(包括现有全异步框架)存在全局批次同步的缺陷。
Relax 将粒度细化至 micro batch 级别的流水线,例如:
1. 将 256 条的全局批次切分为 32 条一组的 micro batch。
2. 每组生成完毕后,立即写入 TransferQueue。
3. 下游的 Advantage 计算、Train 等阶段一旦看到数据可用,马上开始处理。不同 micro batch 在不同阶段形成流水线并行。
其效果是:长尾样本不再拖慢整个训练步。单条慢样本仅影响其所在的 micro batch,其他 micro batch 正常流转。对于超时未完成的样本,Relax 支持部分回收(partial rollout),已生成的部分可被利用,避免资源浪费。整个 RL 训练链路从而从粗粒度的“Rollout 完再 Train”转变为细粒度的多阶段流水线。
训练稳定性:服务化隔离与自动恢复
服务化隔离:故障局部化
Relax 并非单体应用,而是将 RL 训练的各个角色——Actor、Ref、Rollout、Reward——拆分为独立的 Ray Serve 服务。
每个服务拥有独立的进程空间、故障域和资源配额。服务间不直接引用,全部通过 TransferQueue 数据总线通信。这意味着:即使 Ref 服务挂掉,Actor 服务仍可继续训练;一个 Rollout 实例 OOM,其他实例正常工作。
相比之下,传统方案中一个节点出问题常导致整个任务重启,进度丢失。
两级恢复策略:最小化中断影响

Relax 具备完整的健康监控体系,通过主动上报与心跳超时并行检测,并根据角色重要性实施分级恢复策略。

核心原则是:能局部修复则局部修复,必须全局重启则从最近检查点恢复,而非从头开始。
分布式检查点服务(DCS):实现快速恢复

恢复速度的核心在于权重能否快速就位。Relax 为此设计了独立的 DCS(分布式检查点服务),它并非简单的存储,而是一个具备拓扑感知的分布式权重传输系统。
DCS 能自动发现张量并行(TP)/流水线并行(PP)拓扑,构建跨异构并行的 rank 映射。集群内通过 NCCL GPU 通信(最低延迟),跨集群则通过 TCP。该设计对弹性扩缩容,乃至联邦集群下的弹性操作都十分友好。
弹性伸缩:动态调整计算资源

Relax 支持在训练过程中动态扩缩 Rollout 实例,提供 Ray 原生(集群内增减副本)和外部引擎接入两种模式。新实例依次经过 PENDING → CREATING → HEALTH_CHECKING → WEIGHT_SYNCING → READY → ACTIVE 六个阶段,每步均有超时与回滚机制。缩容过程同样稳健:先停止接收新请求、排空进行中任务、等待权重更新完成,再逐步下线。系统还内置了基于 KV Cache 利用率、队列深度、首 Token 生成时间(TTFT)等指标的自动伸缩器。
多模态优化:消除数据处理瓶颈
-
Processor Pool:多模态处理器(如图片缩放、视频抽帧、音频重采样)是 CPU 密集型操作,受全局解释器锁(GIL)限制。Relax 使用 ProcessPoolExecutor 将处理器置于独立进程,通过共享内存实现零拷贝传输,并结合 asyncio 实现处理器、媒体编码、Rollout 请求三阶段流水线,将 CPU 预处理时间隐藏在 GPU 推理延迟之后。
-
ViT 原生 HF + TP 维度数据并行:通过 Megatron Bridge 保持 Vision Transformer(ViT)的 Hugging Face 原生实现,在张量并行(TP)维度上复制到所有 rank。各 rank 独立编码不同的
pixel_values切片,然后通过 AllReduce 合并。由于 ViT 参数通常仅占模型总参数的 1-5%,冗余开销可忽略,同时避免了格式转换的工程负担与精度风险。 -
异步通信:Relax 基于 TransferQueue 的
async_put/async_get操作,使数据读写与 GPU 计算完全重叠,结合 micro batch 流水线实现了端到端的细粒度异步。
原生支持 Agentic RL
服务化架构的另一优势是天然适配 Agentic 场景:
- 自定义 Rollout:如需调用工具、查询数据库或运行沙箱,可将其编写为可插拔服务并挂载。
- 多轮状态管理:在服务化架构下,多轮交互的状态管理可转化为服务间的消息传递。
- 灵活的奖励函数:支持基于规则、LLM-as-Judge(如 GenRM)及自定义函数的奖励,可按需组合。
实验结果
实验环境:NVIDIA H800 80GB GPU 集群,NVLink/InfiniBand 互联。
全异步吞吐提升 76%


在 Qwen3-4B 模型、DAPO-MATH-17k 数据集及 16×H800 硬件配置下,Relax 的全异步 Off-Policy 模式相比 Colocate 方案,吞吐量提升了 76%。相较于 VeRL 的全异步实现,速度也提升了 20%(达到 28.7 steps/hour,对比 23.9 steps/hour)。即使在分离异步的 On-Policy 模式下,也能实现 12% 的提速。
性能加速源于三个层面的优化叠加:
- 流式微批次调度:采用“生成一组,处理一组”的策略,无需等待较慢的样本,从而提升了整体流水线效率,即使在异步 On-Policy 场景下也能获得提速收益。
- 资源分离计算:将
log-prob和reference log-prob的计算任务分配到独立的 GPU 上执行,使得计算开销被完全掩盖,提高了资源利用率。 - 消除休眠/唤醒开销:通过独立集群部署,避免了模型参数的卸载与重载过程。实测表明,这能为 4B 参数模型节省约 10 秒,为 35B 参数模型节省可能高达 50-80 秒的时间。
收敛质量:效率提升,效果无损

一个关键问题是:训练速度如此之快,模型效果是否会打折扣?
实验结果显示,按照实际耗时(wall-clock time)来看,三种训练模式最终都收敛到了相同的奖励(reward)水平。但全异步 Off-Policy 模式达到同等奖励水平所需的实际时间,比 Colocate 方案缩短了 43%。这意味着 Relax 实现了更快的收敛速度,同时保持了模型效果。
近乎无损的 R3 机制

混合专家(MoE)模型在 RL 训练中存在一个隐蔽问题:Rollout(数据收集)阶段和 Training(训练)阶段的专家路由决策可能不一致,导致 log probs 不匹配,从而加剧 Off-Policy 偏差。
Relax 引入了 R3(Rollout Routing Replay) 机制来解决此问题。该机制在 Rollout 阶段记录路由决策,并在 Training 阶段原样回放。实验表明,这一机制将路由不匹配降低了约 38%,而 Relax 为此付出的额外开销仅为 +1.9%,远低于对比方案 veRL 的 +32%。
开销差异巨大的原因在于,Relax 的全异步流水线设计天然吸收了 R3 机制的开销——序列化路径重写与异步设备到主机(device-to-host)的数据传输过程完全运行在关键路径之外。
总结
当强化学习训练从纯文本、单轮交互迈向全模态、智能体(Agentic)场景时,数据异构、系统脆弱性、角色耦合这三重困境不再是能够孤立解决的问题。Relax 的应对之道是一套协同设计的系统:通过全模态原生的数据处理流水线应对数据异构;通过服务化隔离与 DCS 快速恢复机制增强系统鲁棒性;通过微批次级别的全异步流水线提升资源利用率。这三者形成了因果闭环,缺一不可。
Relax 的实现离不开开源社区的支持,研究团队在此特别致谢:
- 感谢 Slime 和 SGLang 团队 在结合 Ray、Megatron 与 SGLang 用于 RL 训练方面的基础性工作,Relax 正是在此架构基础上构建的。
- 感谢 NVIDIA Megatron Bridge 团队 开发的开源检查点转换框架,Relax 对其进行了扩展以支持全模态模型。
-
感谢 华为昇腾 TransferQueue 团队 开发的开源异步数据总线,它是 Relax 分布式架构数据面的核心。
-
GitHub 仓库:https://github.com/redai-infra/Relax
- 开源协议:Apache 2.0

⚠️ หมายเหตุ: เนื้อหาได้รับการแปลโดย AI และตรวจสอบโดยมนุษย์ หากมีข้อผิดพลาดโปรดแจ้ง
☕ สนับสนุนค่ากาแฟทีมงาน
หากคุณชอบบทความนี้ สามารถสนับสนุนเราได้ผ่าน PromptPay
本文来自网络搜集,不代表คลื่นสร้างอนาคต立场,如有侵权,联系删除。转载请注明出处:http://www.itsolotime.com/th/archives/30282
