vime ROCm 對 AMD Instinct GPUs 的支援

vime ROCm 對 AMD Instinct GPUs 的支援

vLLM 已將 ROCm 支援整合到 vime,其強化學習(RL)框架,使得大規模 RL 後訓練能夠在 AMD Instinct MI300X 和 MI355X GPU 上原生運行。此整合提供了一個經過驗證的端到端管線,包括預建容器,以消除從源碼構建的需求。

vime 架構與設計

vime 基於 slime 框架採用三階段、解耦的訓練-推理設計。它將 RL 過程分為三個不同的組件:

  • Training (Megatron): 管理主要的訓練迴圈、參數更新以及將權重同步到推送端。
  • Rollout (vLLM + Router): 根據獎勵或驗證器訊號處理推理採樣以產生訓練樣本。
  • Data Buffer: 作為訓練與推送之間的橋樑,管理自訂推送邏輯和提示注入。

AMD Instinct GPUs 在 RL 中的硬體優勢

RL 後訓練對記憶體需求極高,因為它需要同時存儲訓練端權重(Megatron 格式)和推送端 KV 快取(vLLM 推送)。AMD Instinct GPU 已針對此特性進行優化:

  • High HBM Capacity: MI300X 提供 192 GB 的 HBM3,而 MI355X 提供 288 GB。此大容量減少了對激進張量平行ism 的需求,簡化了拓撲並提高了集群利用率。
  • Superior Memory Bandwidth: MI300X 提供超過 5 TB/s 的總頻寬,而 MI355X 提供 8 TB/s。由於 RL 推送受記憶體頻寬限制,這更高的吞吐量降低了自回歸 token 生成階段的步驟延遲。
  • Native Ecosystem Integration: ROCm 的開源特性使 vime 能在不需要單獨代碼路徑的情況下繼承現有的 vLLM 推送堆疊,利用原生 PyTorch 和 vLLM 對 ROCm 的支援。

在 ROCm 上的技術實現

將 vime 帶到 AMD 硬體涉及整合幾個關鍵軟體元件:

Megatron-LM 後端

vime 使用一個與 ROCm 相容的 Megatron-LM 分支。為確保相容性,已實施一個補丁來在非 CUDA 建置時保護 CUDA 融合核心初始化。該管線支援在單一 GPU 上將 HuggingFace 轉換為 torch_dist 檢查點,並利用原生 PyTorch 路徑進行梯度累積。

共置權重同步

在共置模式下,Megatron 與 vLLM 共享同一個 GPU 池。vime 使用進程間通訊(IPC)在每個優化步驟後將 Megatron 的更新權重同步到 vLLM。此功能在 ROCm 上由 torch.cuda.get_device_properties(i).uuid 介面啟用,該介面提供穩定且進程一致的設備 UUID 用於路由。

資源管理與 Ray 整合

GPU 指派透過 HIP_VISIBLE_DEVICES 管理。vime 透過同時設定 CUDA_VISIBLE_DEVICES 來確保 Megatron 訓練參與者與 vLLM 子進程間的一致性。Ray 的 AMD GPU 管理器已設定為尊重這些遮罩,且系統需要提高檔案描述符限制(--ulimit nofile=1048576:1048576)才能大規模產生參與者工作進程。

在 MI355X 上的效能基準

在 MI355X GPU 上使用 Qwen3-8B 模型進行測試,在 100 個訓練步驟內展示了以下結果:

  • Throughput: 持續約 4,100 tokens_per_gpu_per_second。隨著策略學習到更可預測的輸出,吞吐量呈上升趨勢,使得 vLLM 能更有效地進行批處理。
  • Logprob Stability: train_rollout_logprob_abs_diff 穩定在約 0.012 左右。訓練與推送之間的 log 機率低差異表示權重同步成功,且與 NVIDIA 硬體上的結果相當。
  • Reward Convergence: 使用 dapo-math-17k 資料集,raw_reward 從接近 0 上升至約 0.5–0.6,表明策略成功學會偏好驗證器獎勵的推理模式。

支援的功能與路線圖

目前支援

  • GRPO 訓練
  • 共置和非同步(不相交 GPU 池)訓練與推送
  • Megatron-LM 訓練後端和 vLLM 推送後端
  • 支援 Qwen3 Dense 和 MoE 模型

未來路線圖

  • 完整的 vLLM Router 和 PD (Prefill-Decode) 分離支援
  • FP8 管線優化
  • R3 (Rollout Routing Replay) 用於 AMD MoE 工作負載
  • 針對記憶體洩漏和 logprob 分歧的非同步訓練效能優化
  • 多智能體環境和多輪工具呼叫的 Agentic RL

Sources