ROLL框架硬件支持详解:Ascend NPU、AMD GPU与CUDA环境配置

ROLL框架硬件支持详解:Ascend NPU、AMD GPU与CUDA环境配置

【免费下载链接】ROLL An Efficient and User-Friendly Scaling Library for Reinforcement Learning with Large Language Models 【免费下载链接】ROLL 项目地址: https://gitcode.com/gh_mirrors/roll13/ROLL

ROLL作为一款高效且用户友好的大语言模型强化学习扩展库,提供了对多种硬件平台的全面支持,包括Ascend NPU、AMD GPU和CUDA环境。本文将详细介绍在不同硬件平台上配置和使用ROLL框架的方法,帮助用户快速搭建适合自己的强化学习训练环境。

硬件支持概览

ROLL框架针对不同硬件架构进行了深度优化,确保在各种计算平台上都能发挥最佳性能。目前支持的硬件平台包括:

  • NVIDIA CUDA:主流GPU加速方案,支持各种NVIDIA显卡
  • AMD GPU:基于ROCm平台的AMD显卡支持
  • Ascend NPU:华为Atlas系列AI加速芯片支持

ROLL框架配置流程图

CUDA环境配置

系统要求

CUDA环境是ROLL框架最成熟的部署方案,推荐用于生产环境。最低配置要求:

  • CUDA版本 ≥ 12.4
  • cuDNN版本 ≥ 9.1.0
  • PyTorch ≥ 2.5.1
  • vLLM ≥ 0.7.3 或 SGlang ≥ 0.4.3

快速安装步骤

  1. 克隆仓库

    git clone https://gitcode.com/gh_mirrors/roll13/ROLL
    cd ROLL
    
  2. 安装依赖

    pip install -r requirements_common.txt
    
  3. 选择合适的推理引擎

    • 对于vLLM:pip install vllm>=0.7.3
    • 对于SGlang:pip install sglang>=0.4.3

配置优化

在配置文件中可以通过以下参数优化CUDA资源使用:

  • mem_fraction_static:控制模型权重和KV缓存等静态内存的GPU内存占比
  • CUDA_VISIBLE_DEVICES:指定使用的GPU设备
  • gpu_memory_utilization:调整GPU内存利用率

配置示例:

actor_infer:
  strategy_args:
    strategy_name: vllm
    strategy_config:
      tensor_parallel_size: 2
      gpu_memory_utilization: 0.9

AMD GPU环境配置

系统要求

AMD GPU用户需要满足以下条件:

  • ROCm版本 ≥ 6.3.4
  • PyTorch ≥ 2.6.0
  • vLLM ≥ 0.8.4

推荐安装方式

ROLL为AMD用户提供了预构建的Docker镜像,推荐使用Docker方式快速部署:

docker pull hub.docker.com/r/rlsys/roll_opensource

如果需要手动安装,请执行:

git clone https://gitcode.com/gh_mirrors/roll13/ROLL
cd ROLL
pip install -r requirements.txt

专用配置文件

ROLL在examples/目录下提供了AMD专用的配置文件,例如:

  • examples/qwen2.5-0.5B-agentic/agent_val_frozen_lake_amd.yaml
  • examples/qwen2.5-7B-rlvr_megatron/rlvr_config_amd.yaml

这些配置文件针对AMD GPU进行了优化,可直接用于训练和推理。

Ascend NPU环境配置

支持的硬件

目前ROLL支持的Ascend硬件平台:

  • Atlas 900 A3 PODc

环境准备

  1. 基础环境要求

    软件版本
    Python3.11
    CANN8.5.1
  2. 创建conda环境

    conda create --name roll python=3.11
    conda activate roll
    
  3. 安装PyTorch和torch_npu

    # 安装CPU版本PyTorch
    pip install torch==2.9.0 torchvision==0.24.0 torchaudio==2.9.0 --index-url https://download.pytorch.org/whl/cpu
    
    # 安装torch_npu
    pip install torch_npu==2.9.0
    
  4. 安装vllm和vllm-ascend

    # 安装vllm
    pip install vllm==0.13.0
    
    # 安装vllm-ascend
    pip install vllm-ascend==0.13.0
    
  5. 安装ROLL

    git clone https://gitcode.com/gh_mirrors/roll13/ROLL
    cd ROLL
    pip install -r requirements_common.txt
    pip install deepspeed==0.16.4
    

快速启动示例

单节点部署示例:

bash examples/agentic_demo/run_agentic_pipeline_frozen_lake_single_node_demo.sh

使用配置文件启动:

python examples/start_agentic_pipeline.py \
        --config_path qwen2.5-0.5B-agentic \
        --config_name agentic_val_sokoban

当前支持状态

功能示例训练后端推理后端硬件
Agenticexamples/qwen2.5-0.5B-agentic/run_agentic_pipeline_sokoban.shDeepSpeedvLLMAtlas 900 A3 PODc
Agentic-Rolloutexamples/qwen2.5-0.5B-agentic/run_agentic_rollout_sokoban.shDeepSpeedvLLMAtlas 900 A3 PODc
DPOexamples/qwen2.5-3B-dpo_megatron/run_dpo_pipeline.shDeepSpeedvLLMAtlas 900 A3 PODc
RLVRexamples/qwen2.5-7B-rlvr_megatron/run_rlvr_pipeline.shDeepSpeedvLLMAtlas 900 A3 PODc

设备映射配置

ROLL通过device_mapping参数灵活配置不同角色使用的GPU资源,支持两种模式:

共享模式(Colocated Mode)

多个角色共享相同的GPU资源,提高资源利用率:

actor_infer:
  device_mapping: list(range(0,8))  # 与actor_train共享GPU [0,8)
actor_train:
  device_mapping: list(range(0,8))

分离模式(Disaggregated Mode)

不同角色使用不同的GPU资源,实现异步训练:

# actor_train使用GPU [0, 1, 2, 3],actor_infer使用GPU [4, 5, 6, 7]
actor_train:
  device_mapping: list(range(0,4))
actor_infer:
  device_mapping: list(range(4,8))

常见问题解决

CUDA内存不足

  • 减小mem_fraction_static参数值
  • 降低批处理大小(batch size)
  • 启用模型并行或张量并行

AMD GPU兼容性问题

  • 使用官方提供的Docker镜像
  • 确保ROCm版本≥6.3.4
  • 参考examples/目录下的AMD专用配置文件

Ascend NPU支持限制

  • 目前不支持Megatron-LM训练,需将strategy_args设置为deepspeed
  • 不支持colocated模式,需确保训练和推理使用不同的设备

通过以上配置指南,用户可以根据自己的硬件环境快速搭建ROLL框架,充分利用不同硬件平台的优势进行大语言模型的强化学习训练。无论是NVIDIA CUDA、AMD GPU还是Ascend NPU,ROLL都提供了相应的优化方案,帮助用户高效开展强化学习研究和应用开发。

【免费下载链接】ROLL An Efficient and User-Friendly Scaling Library for Reinforcement Learning with Large Language Models 【免费下载链接】ROLL 项目地址: https://gitcode.com/gh_mirrors/roll13/ROLL

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值