StreamRL:弹性、可扩展、异构的RLHF架构

StreamRL:弹性、可扩展、异构的RLHF架构

大语言模型(LLMs)的强化学习(RL)训练正处于快速发展阶段,但现有架构存在诸多问题。本文介绍的StreamRL框架为解决这些难题而来,它通过独特设计提升了训练效率和资源利用率,在相关实验中表现优异,想知道它是如何做到的吗?快来一探究竟!

文章核心

论文标题:StreamRL: Scalable, Heterogeneous, and Elastic RL for LLMs with Disaggregated Stream Generation
来源:arXiv:2504.15930v1 [cs.LG] + https://arxiv.org/abs/2504.15930
PS: 整理了LLM、量化投资、机器学习方向的学习资料,关注同名公众号 「 亚里随笔」 即刻免费解锁

研究背景

在大语言模型(LLMs)的发展进程中,强化学习(RL)已成为关键的训练后技术,它有效提升了模型的推理能力,不少前沿模型如 OpenAI 的 o1、o3,Claude 3.7 Sonnet 以及 DeepSeek - R1 等均借助 RL 在多种任务中取得领先表现。

早期,RL 训练框架多采用分离式架构,虽能复用现有基础设施,但存在资源闲置问题。为解决此问题,共置架构应运而生,它通过时间复用 GPU 资源,提升了训练效率,一度成为主流选择。然而在实际大规模部署时,共置架构暴露出资源耦合的弊端。与此同时,分离式架构的优势重新受到关注,但其在现有框架下存在流水线气泡和偏态气泡等挑战,StreamRL 正是在这样的背景下被提出,旨在解决上述问题,充分释放分离式架构的潜力。

研究问题

  1. 传统共置(colocated)架构存在资源耦合问题,生成阶段和训练阶段因共享相同资源,无法根据各自特性灵活分配资源,导致资源利用率低,影响大规模训练的可扩展性和成本效益。

  2. 分离式(disaggregated)架构虽理论上有优势,但存在流水线气泡(pipeline bubbles)和偏态气泡(skewness bubbles)问题。流水线气泡源于两阶段串行执行,偏态气泡则因LLM推理工作负载中长尾输出长度分布,这两种气泡都会造成GPU资源闲置。

  3. 现有框架难以有效应对LLM推理工作负载固有的长尾输出长度分布问题,处理不当会影响模型质量和训练效率。

主要贡献

1. 重新审视架构优势:分析现有共置RL框架的关键问题,提出重新采用分离式架构进行RL训练。该架构可实现灵活资源分配、支持异构硬件选择以及跨数据中心训练,克服了共置架构的局限性。

2. 提出StreamRL框架:设计StreamRL框架,通过解决流水线气泡和长尾问题,充分释放分离式架构的潜力。如采用动态批处理流水线(Dynamic-batch pipelining)和完全异步流水线(Fully asynchronous pipelining)解决流水线气泡;利用输出长度排序器模型(Output Length Ranker)和偏态感知调度(Skewness-aware scheduling)处理长尾问题。

3. 实验验证性能优越:通过在多种LLMs和真实数据集上实验,证明StreamRL相比现有最先进系统,吞吐量最高提升2.66倍,在异构、跨数据中心设置下成本效益最高提升1.33倍,展现出良好的性能和可扩展性。

方法论精要

StreamRL是专为分离式架构设计的高效强化学习框架,其技术路线围绕解决分离式架构存在的问题展开,主要包含以下关键步骤:

1. 核心框架设计:StreamRL将生成和训练阶段分别抽象为流生成服务(SGS)和训练器(Trainer),二者部署在物理上分离的资源上,甚至可位于不同数据中心,通过点到点链路连接。这种设计能实现灵活的资源分配、异构硬件选择和跨数据中心训练。

2. 解决流水线气泡问题:针对流水线气泡,StreamRL在不同RL算法场景下采用不同策略。在同步RL中,提出动态批处理流水线,摒弃传统的批量生成方式,样本一完成就立即发送给训练阶段,训练阶段根据生成速度进行动态批处理,减少训练阶段空闲时间,消除大部分流水线气泡。在异步RL中,采用完全异步流水线,使权重传输与训练、生成过程并行,去除权重传输对关键路径的影响,即便迭代间生成和训练时间有波动,只要平均速度匹配且波动有限,就不会产生新的气泡。

3. 处理偏态气泡问题:为解决偏态气泡,StreamRL利用输出长度排序器模型来识别长尾样本。该模型通过对收集的(prompt, length)对进行监督微调训练得到,可对输入提示的输出长度进行估计和排序。基于此,SGS采用偏态感知调度机制,将提示按估计输出长度排序,标记出长尾样本,为其分配专门的计算资源和较小的批量大小,同时将常规样本组成大批次,充分利用GPU资源。在调度顺序上,采用最长处理时间优先(LPT)的贪心算法,优先处理长样本,以减少整体生成延迟。

4. 系统实现优化:SGS使用内部优化的C++推理引擎和CUDA内核,支持连续批处理和前缀共享技术,提高生成效率;Trainer实现3D并行,通过开发动态CPU卸载技术解决GPU内存限制问题。此外,专门开发的RL - RPC通信框架用于SGS和Trainer间的数据传输,利用GPU - Direct RDMA实现零拷贝张量传输,减少通信开销,并具备TCP fallback机制确保兼容性。在权重传输方面,根据不同部署场景采用不同策略,单数据中心通过多树负载均衡,跨数据中心则由特定节点发送权重并结合本地广播,以优化传输效率。

实验洞察

为全面评估StreamRL的性能,研究人员进行了一系列实验,从多个维度深入探究其特性,具体实验结果如下:

1. 性能优势显著:研究人员在包含16个节点、128个GPU的H800集群上,选用Qwen2.5系列模型(7B - 72B),以内部CodeMath prompts数据集开展实验,并以verl和ColocationRL为基线对比。结果显示,StreamRL - Sync相较于verl,吞吐量提升1.12 - 2.12倍;相较于ColocationRL,提升1.06 - 1.41倍。而StreamRL - Async借助一步异步训练,充分重叠流水线气泡,吞吐量提升幅度更大,达1.30 - 2.66倍。在异构、跨数据中心场景下,将SGS部署于H20集群,Trainer部署于H800集群,StreamRL经硬件成本归一化后的吞吐量,相比单数据中心场景提高了1.23 - 1.31倍,展现出强大的性能优势。

2. 效率大幅提升:在训练效率方面,StreamRL成果斐然。通过异步训练和优化资源分配,实现了阶段延迟的有效平衡,在异步训练中迭代时间由较慢阶段决定,平衡的阶段延迟直接带来1.25倍的加速。并且,动态调整算法能实时监测生成和训练时间差,当生成时间超训练时间一定阈值时,自动为SGS增加数据并行单元,恢复阶段平衡。如在训练7B模型时,随着数据集输出长度增加,StreamRL能及时检测到不平衡并自动调整资源,确保训练高效进行。

3. 核心模块效果显著:通过消融研究,验证了StreamRL核心模块的有效性。以72B模型在20K最大长度数据集上的实验为例,偏态感知调度技术可使吞吐量提升8%,主要是因为其利用输出长度排序器模型精准识别长尾样本,为其分配专属资源和合适批量,加速了长尾样本生成。在此基础上,分离式流生成技术进一步将吞吐量提升15%,异步训练则额外提升25%。输出长度排序器模型对最长20%样本的召回率高达87%,能有效识别长尾样本,大幅提升生成效率,为整体性能提升奠定坚实基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/904772.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LVGL的核心:lv_timer_handler

文章目录 🧠 一句话总结 LVGL 的运行核心:🔁 1. while(1) 主循环中的 lv_task_handler()⏱️ 2. lv_timer_handler() 定时器调度核心✅ 并发控制✅ 关键行为流程:🌀 任务执行逻辑:🧮 计算下一次…

【数据机构】2. 线性表之“顺序表”

- 第 96 篇 - Date: 2025 - 05 - 09 Author: 郑龙浩/仟墨 【数据结构 2】 文章目录 数据结构 - 2 -线性表之“顺序表”1 基本概念2 顺序表(一般为数组)① 基本介绍② 分类 (静态与动态)③ 动态顺序表的实现**test.c文件:****SeqList.h文件:****SeqList.c文件:** 数据结构 - 2 …

101 alpha——8 学习

alpha (-1 * rank(((sum(open, 5) * sum(returns, 5)) - delay((sum(open, 5) * sum(returns, 5)),这里我们操作符都明白,现在来看金融意义 金融意义 里层是这个 (sum(open, 5) * sum(returns, 5)) - delay((sum(open, 5) * sum(returns, 5)), 10 这里是两个相减…

auto推导类型原则

auto 是 C11 引入的类型自动推导关键字,它允许编译器根据表达式的类型来推导变量的确切类型。虽然使用 auto 可以让代码更简洁,但理解它的类型推导规则非常关键,尤其是在涉及指针、引用、const、模板等场景时。 ✅ 一、基本推导原则 auto x …

使用智能表格做FMEDA

一、优点 使用智能表格替代excel做FMEDA具备以下优势: 减少维护成本(数据库关联,修改方便)便于持续优化(失效率分布,失效率模型可重复使用)多人同步编写(同时操作,同步…

IP协议.

IP 协议是互联网的核心协议,工作在网络层。它给网络中的设备分配唯一的 IP 地址,把上层数据封装成数据包,然后根据目的 IP 地址通过路由器等设备进行转发,实现数据在不同网络间的传输。它还能在必要时对数据包进行分片和重组&…

archlinux 详解系统层面

Arch Linux 深度解析:从设计哲学到系统架构 一、Arch Linux 概述:滚动发行的极客之选 Arch Linux 是一款以 滚动更新(Rolling Release) 为核心特性的 Linux 发行版,强调 轻量、灵活、高度可定制,旨在让用…

HTML8:媒体元素

视频和音频 视频元素 video 音频 audio <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>媒体元素学习</title> </head> <body> <!--音频和视频 src:资源路径 controls:控制条…

SpringBoot3集成Oauth2——1(/oauth2/token方法的升级踩坑)

备注&#xff1a;本文适用于你在SpringBoot2.7以前集成过oauth2&#xff0c;并且项目已经正式投入使用的情况&#xff0c;否则&#xff0c;我建议你直接学习或者找资料学习最新的oauth2集成&#xff0c;就不要纠结于老版本的oauth2。 原因&#xff1a;Spring Security 5.x和Sp…

笔记本电脑实现网线内网 + Wi-Fi外网同时使用的配置方案

1、同时连接两个网络‌ 插入网线连接内网&#xff0c;确保内网IP地址正常获取&#xff08;如10.143.88.x&#xff09;&#xff1b;连接Wi-Fi接入外网&#xff0c;确认可正常访问互联网&#xff08;如网关为192.168.8.1&#xff09;。 2、 记录关键网络参数‌ 内网网关&#…

从韦斯利・卡普洛看北斗星咨询公司的技术咨询引领之路

在科技与商业深度交融的时代&#xff0c;技术咨询公司扮演着举足轻重的角色&#xff0c;它们宛如连接技术创新与企业实际需求的桥梁&#xff0c;助力企业在复杂多变的市场环境中找准技术发展方向&#xff0c;实现可持续增长。《对话 CTO&#xff0c;驾驭高科技浪潮》的第 5 章聚…

首版次软件测试的内容有哪些?首版次软件质量影响因素是什么?

首版次软件测试不仅是简单的“找错”&#xff0c;更是系统地验证和评估软件各项功能和性能指标是否符合设计标准。 一、首版次软件测试常见的测试内容   1.功能测试&#xff1a;对照需求文档&#xff0c;确认功能模块是否按预期实现&#xff0c;用户操作流程是否顺畅。   …

从零开始的python学习(六)P86+P87+P88

本文章记录观看B站python教程学习笔记和实践感悟&#xff0c;视频链接&#xff1a;【花了2万多买的Python教程全套&#xff0c;现在分享给大家&#xff0c;入门到精通(Python全栈开发教程)】 https://www.bilibili.com/video/BV1wD4y1o7AS/?p6&share_sourcecopy_web&v…

从设计到开发,原型标注图全流程标准化

一、原型标注图是什么&#xff1f; 原型标注图&#xff08;Annotated Prototype&#xff09;是设计原型&#xff08;Prototype&#xff09;的详细说明书&#xff0c;通过图文结合的方式&#xff0c;将设计稿中的视觉样式、交互逻辑、适配规则等技术细节转化为开发可理解的标准…

飞云分仓操盘副图指标操作技术图文分解

如上图&#xff0c;副图指标-飞云分仓操盘指标&#xff0c;指标三条线蓝色“首峰线”&#xff0c;红色“引力1”&#xff0c;青色“引力2”&#xff0c;多头行情时“首峰线”和“引力1”之间显示为红色&#xff0c;“引力1”和“引力2”多头是区间颜色显示为紫色。 如上图图标信…

【LUT技术专题】ECLUT代码解读

目录 原文概要 1. 训练 2. 转表 3. 测试 本文是对ECLUT技术的代码解读&#xff0c;原文解读请看ECLUT。 原文概要 ECLUT通过EC模块增大网络感受野&#xff0c;提升超分效果&#xff0c;实现SRLUT的改进&#xff0c;主要是2个创新点&#xff1a; 提出了一个扩展卷积&…

动态规划之背包问题:组合优化中的经典NP挑战

背包问题概念&#xff1a; 背包问题是一种经典的组合优化的NP问题&#xff0c;在计算机科学、运筹学等领域有着广泛的应用。 问题可以简单的描述为&#xff1a; 假设有一个容量为C的背包和n个物品&#xff0c;每个物品i都有重量w[i]和价值v[i]。目标是选择一些物品放入背包&…

vue3: pdf.js5.2.133 using typescript

npm install pdfjs-dist5.2.133 项目结构&#xff1a; <!--* creater: geovindu* since: 2025-05-09 21:56:20* LastAuthor: geovindu* lastTime: 2025-05-09 22:12:17* 文件相对于项目的路径: \jsstudy\vuepdfpreview\comonents\pdfjs.vue* message: geovindu* IDE: vscod…

H2Database SQL 插入流程

H2Database SQL 插入流程 插入数据时会先进行 SQL 解析,然后找到插入表对应的 Primary Index 对应的 BTree,然后根据二分法定位到插入的叶子节点,将 key(主键) 和 value(Row) 插入到指定的叶子节点. 解析 SQL session 加锁 创建 savepoint获取or创建事务 设置 savepoint 执行…

虚拟机ubantu20.04系统桥接模式下无法ping通外网,但可以ping通本机的解决方案

1.出现的问题&#xff1a; 虚拟机ubantu20.04系统桥接模式下无法ping通外网,但可以ping通本机。 2.解决方案&#xff1a; 如果 DHCP 未分配 IP 地址&#xff0c;可以手动配置静态 IP&#xff1a; 1.编辑网络配置文件&#xff1a; sudo nano /etc/netplan/01-netcfg.yaml 修…