用途:在 NPU 集群上拉起 Verl 分布式训练服务,部署 RLHF/DAPO/GRPO 训练环境,并灵活配置加速特性。
主要能力:环境预检查(npu-smi、Docker 镜像、模型权重、数据集、网卡探测);分轮次交互收集训练模式、NPU 卡号、模型与数据集路径、Checkpoint 路径、镜像与容器配置、SwanLab 配置、7 位特性掩码与训练超参;配置确认后准备镜像并拉起容器;生成 start_verl.sh 与 run_training.sh 双脚本;复制到容器并启动训练;验证训练进程与日志。
特性掩码:7 位二进制分别对应 Remove Padding、Dynamic Batch Size、Offload、Prefix Cache、Recompute、Swap Optimizer、VPP,默认 0000000。bit5 与 bit2 的 optimizer_offload 互斥,同时开启时脚本自动将 optimizer_offload 设为 False。
使用方式:先执行环境预检查命令,再按轮次确认配置;新建容器可拉取 quay.io/ascend/verl:verl-8.3.rc1-910b-ubuntu22.04-py3.11-v0.7.0,用 bash scripts/verl_docker_run.sh <镜像ID> <容器名> 拉起;用 scripts/generate_training.sh 生成脚本,docker cp 到容器后进入容器执行 bash start_verl.sh。SwanLab 需提供 Host 与 API Key,登录命令为 echo '<SWANLAB_API_KEY>' | swanlab login --host <SWANLAB_HOST>。
限制:并行策略要求 gen_tp == train_tp,且 (train_tp x train_pp) % NPU_PER_NODE == 0;配置确认是阻断点,确认前不执行修改;docker cp 必须在宿主机执行,进入容器后不再使用 docker 前缀命令。其他平台支持与收费信息暂未提供。