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.pswp.cn/news/904772.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/904772.shtml
英文地址,請注明出處:http://en.pswp.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 修…