導讀:強化學習已成為提升大型語言模型(LLM)推理能力的核心手段,然而 RL 訓練效率的瓶頸向來是業界難題——僅是 rollout(推導)階段往往就耗去 70% 的訓練時間。SortedRL 運用一項優雅的調度技巧,成功將此瓶頸削減了一半。
背景:RL 訓練為何如此緩慢?
當前主流的 LLM RL 訓練方法(如 GRPO、PPO)正面臨結構性困境:
- Rollout 負載過重:生成多達 16k token 的思維鏈(Chain-of-Thought),其自回歸解碼過程本就耗時。
- 同步開銷龐大:必須等待所有 rollout 完成後才能進行策略更新,導致 GPU 大量閒置等待。
- 批次不均衡:不同樣本的輸出長度差異懸殊,短樣本往往需等待長樣本,嚴重拖累整體效率。
結果便是——即便運算集群算力充足,實際 GPU 利用率卻極低,大量訓練時間浪費在無效的「氣泡」(bubble)等待中。
核心方法:依長度排序,邊跑邊更新
SortedRL 的核心思路出乎意料地簡潔:
Rollout Buffer
│
▼
[依輸出長度排序] ← 短樣本優先
│
▼
短組 → 提前策略更新 → 下一輪 Rollout 繼續
長組 → 後續批次更新
│
▼
Stateful Controller(控制 off-policy 偏移程度)三大關鍵設計:
| 設計 | 作用 |
|---|---|
| 線上長度感知調度 | 優先更新短樣本,消除等待氣泡 |
| 大 rollout / 小更新批次分離 | 提升並行效率,降低記憶體壓力 |
| 快取控制 off-policy 調節 | 平衡樣本新鮮度與訓練速度 |
本質上,SortedRL 將原本「跑完所有樣本再統一更新」的串行流水線,改造為「邊跑邊更新」的流式調度——短樣本組一旦湊齊,立刻觸發策略梯度,無需等待長樣本生成結束。
實驗結果:用數據說話
在 LLaMA-3.1-8B 和 Qwen-2.5-32B 上的實驗涵蓋 AIME 24、Math 500、Minerval 等推理基準:
- 訓練氣泡比降低 > 50%:大幅壓縮 GPU 閒置時間。
- 同等訓練量下性能提升 3.9% ~ 18.4%:顯著優於基線方法。
- 支援 16k token 長鏈推理:完全不損及思維鏈品質。
在提升效率的同時,SortedRL 還構建了一種「近似 on-policy 的微課程」機制——短樣本頻繁更新,長樣本積累後更新,自然形成由易到難的訓練節奏,有助於穩定 RL 訓練過程。
總結
SortedRL 的價值不僅在於速度提升,更在於它揭示了一項反直覺的洞察:RL 訓練的瓶頸不在於演算法,而在於調度。在大規模集群上,如何讓 GPU 始終處於忙碌狀態,與選擇何種獎勵函數同等重要。隨著 RLVR(可驗證獎勵的強化學習)成為業界標配,SortedRL 這類系統級優化的價值將愈發凸顯。