尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

verl 昇腾 A5 安装指南:Ascend 950 系列 NPU 上的 vLLM + Megatron 训推环境搭建

verl 昇腾 A5 安装指南:Ascend 950 系列 NPU 上的 vLLM + Megatron 训推环境搭建 verl 昇腾 A5 安装指南Ascend 950 系列 NPU 上的 vLLM Megatron 训推环境搭建【免费下载链接】verlverl/HybridFlow: A Flexible and Efficient RL Post-Training Framework项目地址: https://gitcode.com/GitHub_Trending/ve/verl本文以 verl 昇腾教程中的《昇腾安装指南(A5)》为核心系统梳理在 Ascend 950 系列产品A5 硬件代次上从零搭建 verl 强化学习训练环境的完整流程涵盖 vLLM 推理后端、Megatron/MindSpeed 训练后端与 verl 本体三大部分的关键版本矩阵、源码安装命令与环境配置细节。读完本文你将掌握 A5 硬件上各组件精确的版本对应关系、可复制的安装命令序列以及 A5 平台特有的环境变量与设备识别机制可直接照此在昇腾 NPU 上部署一套可运行的 verl 训推链路。背景与适用场景verlHybridFlow是一个灵活高效的 RL 后训练框架。在昇腾生态中verl 已全面支持在华为昇腾芯片 NPU 上运行官方文档将硬件支持划分为 A2、A3 与Ascend 950 系列产品对应A5硬件代次三类详见 昇腾安装指南。本文针对的A5 平台是昇腾硬件家族中的新一代产品。从源码可以确认verl 已为 A5 代次建立了显式的识别与分支逻辑在 设备能力识别模块 中AscendHardwareVersion枚举定义了A2 2、A3 3、A5 5三档硬件代次get_npu_versions()通过torch_npu.npu.get_device_name()获取设备名当设备名包含Ascend910_95或Ascend950时即判定为AscendHardwareVersion.A5。在 NPU 平台插件 中存在针对A5硬件版本的独立处理逻辑说明框架已为 A5 的通信、IPC 等能力做了专门适配。checkpoint 引擎说明 中特别指出在 Ascend 950 上启用 kimi-checkpoint-engine 需要配置 HCCL 白名单HCCL_WHITELIST_DISABLE0与HCCL_WHITELIST_FILE这是 A5 平台独有的部署注意事项。模型迁移至 NPU 指南 提到A2、A3 机型暂不支持 FP8 精度训练仅支持 BF16Ascend 950 系列产品后续版本将开放 FP8 低精度训练能力这也是 A5 平台值得关注的能力演进方向。本文档install_guidance_A5.rst即针对 Ascend 950 系列A5给出了一套精确到版本号的安装方案下面按依赖矩阵与三个安装阶段逐一展开。关键版本支持与依赖在动手安装之前首先需要锁定一组互相兼容的版本组合。A5 安装方案要求的版本矩阵如下依赖版本说明CANN待 Q2 CANN 版本正式商发后更新链接CANN 软件帮助开发者实现在昇腾软硬件平台上开发和运行 AI 业务Python3.11Python 版本torch2.10.0PyTorch 深度学习框架基础包torch_npu待 Q2 torch_npu 版本正式商发后更新链接NPU PyTorch 适配插件triton3.5.0Triton用于编写自定义算子triton-ascend3.2.2NPU Triton 适配transformers4.57.6Hugging Face 大模型库提供模型架构与预训练权重vLLM0.23.0高性能 LLM 推理与服务引擎vLLM-Ascend0.23.0NPU vLLM 后端适配Megatron-LMcore_r0.12.0大规模分布式训练框架MindSpeed0c6c0ceaa523a96032dee1539a52032155e6404eMegatron-LM 在昇腾 NPU 上的适配和优化组件几点说明版本对应关系遵循推理引擎 vLLM 0.23.0 ↔ 基础框架 torch 2.10.0的配套原则这一组合与通用昇腾安装指南install_guidance.rst中 vLLM 后端的版本主线保持一致A5 方案在 transformers 上采用4.57.6较通用 A2/A3 方案的5.10.4更保守Python 固定为3.11。CANN 与 torch_npu 两个组件的正式商用版本尚待 Q2 发布安装前需留意官方后续更新的链接与版本号。Megatron-LM 使用分支名core_r0.12.0MindSpeed 使用精确的 commit-id0c6c0ceaa523a96032dee1539a52032155e6404e锁定版本这保证了训练侧源码的可复现性。环境安装步骤A5 环境的安装分为三条主线vLLM 推理后端、Megatron 训练后端、verl 本体依赖。建议严格按照以下顺序执行。一、vLLM 推理后端支持vLLM 负责 rollout 阶段的推理采样其安装分为 vLLM 本体与 NPU 适配层 vLLM-Ascend 两部分均采用源码安装方式# 安装 vllm git clone https://github.com/vllm-project/vllm.git cd vllm git checkout v0.23.0 VLLM_TARGET_DEVICEempty pip install -v -e . cd .. # 安装 vllm-ascend # 安装之前要先 source cann 环境 source /usr/local/Ascend/cann/set_env.sh git clone https://github.com/vllm-project/vllm-ascend.git cd vllm-ascend git checkout releases/v0.23.0 pip install -v -e . --no-build-isolation --extra-index-url https://triton-ascend.osinfra.cn/pypi/simple/ --trusted-host triton-ascend.osinfra.cn cd ..关键细节VLLM_TARGET_DEVICEempty以 empty 设备目标构建 vLLM即不编译特定 GPU 后端代码适配层vLLM-Ascend会在运行时接管 NPU 执行这是昇腾场景下 vLLM 源码安装的标准做法。先 source CANN 环境安装 vLLM-Ascend 之前必须激活 CANN 环境变量source /usr/local/Ascend/cann/set_env.sh否则编译期无法找到 NPU 相关头文件与库。若 CANN 安装路径被自定义请相应调整 source 命令。--no-build-isolation跳过构建隔离直接在当前 Python 环境中解析依赖--extra-index-url指向 triton-ascend 的官方 PyPI 源--trusted-host用于信任该源的 HTTPS 证书。这两处参数与 NPU 安装脚本 中 triton-ascend 的安装方式一致。vLLM-Ascend 的releases/v0.23.0分支与 vLLM 的v0.23.0标签严格对应二者必须配套。二、Megatron 训练后端支持训练后端由 MindSpeed 与 Megatron-LM 及其相关依赖组成全部通过源码安装# MindSpeed git clone https://gitcode.com/Ascend/MindSpeed.git cd MindSpeed git checkout 0c6c0ceaa523a96032dee1539a52032155e6404e pip install -e . cd .. # Megatron git clone https://github.com/NVIDIA/Megatron-LM.git cd Megatron-LM git checkout core_r0.12.0 pip install -e . cd .. # 配置环境变量 export PYTHONPATH$PYTHONPATH:your_path/Megatron-LM export PYTHONPATH$PYTHONPATH:your_path/MindSpeed # 安装 mbridge pip install mbridge关键细节MindSpeed是 Megatron-LM 在昇腾 NPU 上的适配与优化组件通过gitcode.com/Ascend/MindSpeed.git获取并用精确 commit-id 锁定Megatron-LM从 NVIDIA 官方仓库拉取core_r0.12.0分支。PYTHONPATH必须同时包含 Megatron-LM 与 MindSpeed 的源码路径请将your_path替换为实际克隆目录因为 MindSpeed 与 verl 的 Megatron 训练链路在运行时需要直接 import 这两个包建议将这两行export写入~/.bashrc或每次训练启动脚本的开头避免新会话丢失环境。mbridgeMegatron Bridge承担 MindSpeed 与 Megatron-LM 之间的桥接适配pip install mbridge安装。需要注意的是该桥接组件在后续版本演进中已发生变化——较新的通用安装方案如 install_vllm_mcore_npu.sh已改为安装 Megatron-Bridge 与 MindSpeed-Bridge 等组件A5 方案当前仍以mbridge为准两者不可混用。三、verl 依赖安装最后安装 verl 框架本体及其 NPU 专属依赖git clone https://github.com/verl-project/verl.git cd verl pip install -e . pip install -r requirements-npu.txtpip install -e .以可编辑模式安装 verl 主包依赖定义见 pyproject.toml。requirements-npu.txt是昇腾 NPU 环境的补充依赖清单其内容见 requirements-npu.txt重点包括triton-ascend3.2.2与上表版本矩阵一致、TransferQueue githttps://github.com/Ascend/TransferQueue.gitmain昇腾侧高性能传输队列为 checkpooint 引擎等 P2P 场景提供底层传输能力、ray[default]verl 分布式调度依赖、tensordict、torchdata、qwen_vl_utils等。安装时需确保网络可访问这些源码与索引源。安装后的验证与 A5 平台注意事项环境安装完成后建议按以下顺序做最小化验证CANN 可用性source /usr/local/Ascend/cann/set_env.sh后执行npu-smi info确认 NPU 设备可被系统识别。框架版本核对在 Python 中逐一检查import torch; torch.__version__、import torch_npu、import vllm; vllm.__version__、import megatron、import mindspeed确认与版本矩阵一致。verl 入口可用性参考 昇腾快速上手说明 运行 Qwen3-0.6B GSM8K GRPO 快速验证脚本位于 tests/special_npu/quick_start检查 actor、rollout、reference worker 初始化与首个 step 的训练链路。针对 A5 平台还有以下几点需要特别关注设备自动识别verl 支持自动识别 NPU 设备类型包括 A5。运行训练任务时原则上无需显式设置trainer.devicenpu前提是环境中安装了torch_npu软件包否则仍需显式指定。A5 设备设备名包含Ascend910_95/Ascend950会被 get_npu_versions() 正确归类。HCCL 白名单配置kimi-checkpoint-engine 场景在 Ascend 950 上使用 kimi checkpoint 引擎时需通过环境变量启用 HCCL 通信白名单并在 JSON 文件中登记设备 IPexport HCCL_WHITELIST_DISABLE0 export HCCL_WHITELIST_FILE/path/to/whitelist.jsonwhitelist.json 内容格式{ host_ip: [ip1], [ip2] }精度能力边界A5 平台当前以 BF16 为默认混合精度训练基准FP8 低精度训练能力将在后续版本开放规划 FP8 相关实验时需关注官方后续版本公告。日志过滤可选若训练过程中 transformers 出现大量别名废弃告警干扰日志可设置export TRANSFORMERS_VERBOSITYerror过滤冗余输出。延伸阅读通用昇腾安装指南覆盖 A2/A3 的 vLLM FSDP/Megatron、SGLang FSDP/Megatron 组合昇腾安装指南镜像获取与构建方式若希望跳过源码安装可直接使用昇腾每日构建镜像或自行构建 Dockerfile详见 昇腾镜像说明 与 docker/ascend 目录快速上手含四种训推后端组合的最小 GRPO 验证流程昇腾快速上手说明NPU 平台插件与设备识别实现platform_npu.py、device.py【免费下载链接】verlverl/HybridFlow: A Flexible and Efficient RL Post-Training Framework项目地址: https://gitcode.com/GitHub_Trending/ve/verl创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表