
在小说阅读器读本章
去阅读
随着 RL 后训练逐步延伸至全模态与 Agentic 场景,多模数据异构、系统稳定性和角色耦合等方面的问题日益凸显。

为此,小红书 AI 平台团队刚刚开源了Relax——一个为全模态数据、Agentic 工作流和大规模异步训练协同设计的现代 RL 训练引擎!
实测全异步 Off-Policy 模式相比共卡 On-Policy 吞吐提升76%,相比 veRL 的全异步实现提升20%!
先说痛点:全模态 Agentic RL 训练的三重困境
RL 后训练正在经历两个根本性变化:模型走向全模态(图文音视频一起训,甚至带有音频或图片视频输出),训练走向Agentic(多轮推理、工具调用、复杂环境交互)。
这两个趋势叠加,把现有 RL 训练框架逼进了三重困境——而且这三个问题不是各自独立的,它们环环相扣,必须一起解决。
困境一:数据异构。高质量的图片和音视频原始数据传输体积大、CPU 预处理开销高、编码后 token 爆炸,multi-modal encoder 无法和已有并行策略高效协同——在小红书内极其丰富的多模场景下,需要一款定制优化的框架。
困境二:系统脆弱。多模态下较高的 OOM 风险叠加上千卡长时训练,硬件故障、NCCL 超时随时出现——传统方案缺乏分钟级故障恢复和单角色弹性伸缩能力。
困境三:角色耦合。Colocate 方案下各角色共享 GPU 只能串行执行,Trainer 干等最慢的 Rollout 完成;现有全异步方案虽然把 Rollout 和 Train 拆到不同组,但缺少细粒度的流水线调度。
核心洞察:三者耦合,必须协同设计

这三个困境形成了一条因果链:
多模态让系统更低效且脆弱→催生服务化隔离和全异步架构→催生数据总线→总线的字段存储天然兼容多模态→三个问题一条因果链,完成闭环。
Relax用一套协同设计(co-design)把多模态原生、服务化容错、全异步流水线一并解决。
全异步架构:Rollout 和 Train 并行,一秒都不浪费核心思路:拆开来,并行跑

传统方案把 Rollout 和 Train 绑在一起。Relax 的做法很暴力——直接拆成两个独立服务。
Rollout 服务:专门做推理生成,用 SGLang 引擎
Train 服务:专门做梯度更新,用 Megatron 后端
两个服务通过TransferQueue 数据总线连接。Rollout 生成的数据往里写,Train 从里面读,互不阻塞。这带来一个直接的好处:Rollout 的推理时间大部分被掩盖!Train 不用等 Rollout 完事再开工,而是上一批数据训着,下一批数据就已经在生成了。
Micro Batch 级别的流水:不等慢的那个
光把 Rollout 和 Train 拆开还不够。传统方案——包括现有的全异步框架——还有一个致命缺陷:全局 batch 同步。
Relax 把粒度从全局 batch 推进到了micro batch 级别的流水线,例如:
把 256 条的全局 batch 切成 32 条一组的 micro batch
每组生成完,立即写入 TransferQueue
下游的 Advantage、Train 各阶段一看有数据了,马上开始处理——不同 micro batch 在不同阶段形成流水线并行。
效果?长尾样本再也拖不死整个 step。单条慢样本只影响它所在的 micro batch,其他 micro batch 正常流转;对于超时仍未完成的样本,Relax 还支持partial rollout——已生成的部分直接回收利用,不白等也不白扔。整条 RL 训练链路从粗粒度的" Rollout 完了再 Train "变成了细粒度的多阶段流水线。
训练不怕挂:服务化隔离与自动恢复服务化隔离:一个挂了不拖累全局
Relax 不是一个铁板一块的单体程序。它把 RL 训练的每个角色—— Actor、Ref、Rollout、Reward ——拆成独立的 Ray Serve 服务。
每个服务有自己的进程空间、故障域和资源配额。它们之间不直接引用,全部通过 TransferQueue 数据总线通信。
说白了—— Ref 挂了,Actor 照样训。一个 Rollout 实例 OOM 了,其他 Rollout 正常工作。
传统方案呢?一个节点出问题,整个任务重启,进度全丢!
两级恢复策略:能小修绝不大动

Relax 有一套完整的健康监控体系:通过主动上报和心跳超时两条路并行,并根据角色重要性分级处理:

简单来说——能局部修就局部修,必须全局重启也从最近的 checkpoint 恢复,而不是从头再来。
分布式 Checkpoint 服务(DCS):快速恢复的关键

恢复快不快,核心取决于权重能不能快速到位。Relax 专门为此搞了一个独立服务—— DCS,它不是简单的"训完了存一下",而是一个带拓扑感知的分布式权重传输系统。
DCS 自动发现 TP/PP 拓扑、构建跨异构并行的 rank 映射,集群内走 NCCL GPU 通信(最低延迟),跨集群走 TCP,对弹性扩缩,甚至是联邦集群下的弹性扩缩足够友好。
弹性伸缩:训练不停,Rollout 随时加减

Relax 支持训练过程中动态扩缩 Rollout 实例,提供 Ray 原生(集群内增减副本)和外部引擎(接入外部集群)两种模式。每个新实例依次经过 PENDING → CREATING → HEALTH_CHECKING → WEIGHT_SYNCING → READY → ACTIVE 六个阶段,每一步都有超时和回滚,任何一步失败自动清理资源。缩容同样不粗暴——先停止接新请求、排空在途任务、等待权重更新完成,再逐步下线。Relax 还内置了基于 KV Cache 利用率、排队深度、TTFT 等指标的自动伸缩器。
多模不再拖后腿:CPU 预处理和 ViT 并行全解决
Processor Pool。多模态 processor(图片 resize、视频抽帧、音频重采样)是 CPU 密集型操作,单线程跑会被 GIL 卡死。Relax 用 ProcessPoolExecutor 把 processor 放到独立进程,共享内存零拷贝传输,配合 asyncio 实现 processor、media encoding、Rollout 请求三阶段流水线—— CPU 预处理完全藏在 GPU 推理延迟背后。
ViT 原生 HF+TP 维度数据并行。通过 Megatron Bridge 保持 ViT 的 HF 原生实现,在 TP 维度上复制到所有 rank,各 rank 独立 encode 不同的 pixel_values 切片后 AllReduce 合并。ViT 参数只占 1-5%,冗余开销可忽略,省掉格式转换的工程负担和精度风险。
异步通信。Relax 基于 TransferQueue 的 async_put / async_get,让数据读写与 GPU 计算完全重叠,配合 micro batch 流水线实现端到端的细粒度异步。
不只是快:Agentic RL 也原生支持
服务化架构带来的另一个好处——Agentic 场景天然适配。
自定义 Rollout:Agent 要调工具、查数据库、跑沙箱?写成可插拔服务,挂上去就行。
多轮状态管理:服务化架构下,多轮交互的状态管理就是服务间的消息传递。
灵活的 Reward:Rule-based、LLM-as-Judge(GenRM)、自定义函数,按需组合。
实验结果:数据说话
实验环境:NVIDIA H800 80GB GPU 集群,NVLink/InfiniBand 互联。
全异步吞吐提升 76%


在 Qwen3-4B+DAPO-MATH-17k+16 × H800 的配置下,全异步 Off-Policy 模式相对 Colocate 方案吞吐提升 76%,相比 VeRL 的全异步实现提速 20%(28.7 vs. 23.9 steps/hour),即使是分离异步下的 On-Policy,也可提速 12%。
加速来自三层叠加:
1. 流式 micro batch 调度:不等慢样本,生成一组处理一组,即使是 async 的 on-policy 也能拿到提速收益!
2. 资源分离:log-prob 和 reference log-prob 在独立 GPU 上计算,计算量完全被掩盖。
3. 无 sleep/wakeup 开销:独立集群部署,不再需要卸载 / 重载模型参数(4B 模型省 10 秒,35B 模型可能省 50-80 秒)。
收敛质量:快了但没降质

最关键的问题:跑这么快,效果打折了吗?
按 wall-clock time 看,三种模式最终收敛到相同 reward 水平,但Async Off-Policy 达到同等 reward 的 wall-clock 时间比 Colocate 缩短 43%。更快收敛,效果不掉。
近乎无损的 R3

MoE 模型在 RL 训练中有个隐蔽的坑:Rollout 和 Training 阶段的 expert 路由可能不一致,导致 log probs mismatch 从而加重 off-policy。
Relax 的R3(Rollout Routing Replay)在 Rollout 时记录路由决策,Training 时原样回放:
Mismatch降低约 38%,Relax 额外开销仅+1.9%,veRL 为+32%。
为什么差这么多?因为 Relax 的异步 pipeline 天然吸收了 R3 的开销——序列化路径重写 + 异步 device-to-host 传输,R3 完全跑在关键路径之外。
总结
当 RL 训练从纯文本单轮走向全模态 Agentic,数据异构、系统脆弱、角色耦合三重困境不再是可以分别解决的独立问题。Relax 的回答是一套协同设计:全模态原生 pipeline 解决数据异构,服务化隔离 +DCS 快速恢复解决系统脆弱,micro batch 级全异步流水线解决资源利用率——三者因果闭环,缺一不可。
Relax 的落地有赖于开源社区的支持,研究团队希望在此致谢:
感谢Slime 和 SGLang 团队在 Ray+Megatron+SGLang 结合用于 RL 训练方面的基础性工作,Relax 正是在此基础架构之上构建的。感谢NVIDIA Megatron Bridge 团队开发的开源 checkpoint 转换框架,Relax 将其扩展以支持全模态模型。感谢华为昇腾 TransferQueue 团队开发的开源异步数据总线,它是 Relax 分布式架构的数据面核心。
GitHub:
https://github.com/redai-infra/Relax
License:
Apache 2.0
一键三连「点赞」「转发」「小心心」
欢迎在评论区留下你的想法!
— 完 —
我们正在招聘一名眼疾手快、关注 AI 的学术编辑实习生 � �
感兴趣的小伙伴欢迎关注 � � 了解详情

� � 点亮星标 � �
科技前沿进展每日见
炒股配资平台提示:文章来自网络,不代表本站观点。