ServiceNow/PipelineRL

A scalable asynchronous reinforcement learning implementation with in-flight weight updates.

解決的問題

PipelineRL 解決了大語言模型(LLM)強化學習(RL)中的效率權衡問題。具體而言,它解決了實現高推理吞吐量(需要在多個 GPU 上使用大批次)與保持「線上策略」資料新鮮度(確保模型使用其最新版本生成的資料進行訓練)之間的衝突。

工作原理

PipelineRL 採用可擴展的非同步架構,支援「飛行中權重更新」。與在更新模型時停止整個取樣流程不同,更新後的權重在每次最佳化器步驟後立即透過 NCCL 廣播至推理伺服器。這使得系統能在更新策略的同時持續產生軌跡,從而於不犧牲 GPU 使用率的前提下,使資料保持接近線上策略狀態。

系統由六個模組化元件構成:

  1. 協調器:管理 GPU 分配並啟動子流程。
  2. 推理伺服器:基於 vLLM 的伺服器,負責取樣並接收權重更新。
  3. 演員流程:透過從 LLM 取樣生成原始軌跡並收集獎勵。
  4. 預處理器:對序列進行分詞並計算優勢值。
  5. 訓練器:執行 RL 步驟(使用簡化的 GRPO 算法)並觸發權重更新。
  6. 驗證器:可選的伺服器,用於檢查模型輸出的正確性(例如數學任務)。

適用對象

專為訓練 LLM 代理的研究人員與開發者設計,尤其適用於關注推理任務(如數學或程式設計)且獎勵可驗證的使用者,需要在多個 GPU 上擴展訓練時尤為適合。

核心亮點

  • 飛行中權重更新:在不中斷取樣流水線的情況下更新模型參數。
  • 代理無關性:透過實作 load_problemsgenerate_rollout 函數,可適配任意代理任務。
  • 高效率:在 AIME-2024 與 MATH-500 基準測試中表現與或超越 Open-Reasoner-Zero。
  • 靈活後端:支援基於檔案系統與 Redis 的串流通訊,用於程序間互動。
  • 沙箱整合:支援 SandboxFusion,可在遠端沙箱中執行並驗證程式碼。

相關

  • Dispatch
  • 專案
  • 專案
  • Dispatch
  • 專案