使用Ascend verl每日镜像进行大语言模型训练指南
本文介绍基于Ascend verl镜像的大语言模型训练实践。该镜像集成了Ubuntu 22.04操作系统和Python 3.11环境,并预装了verl、PyTorch、vLLM、Megatron-LM等框架,为在Ascend硬件上开展深度学习项目提供了开箱即用的解决方案。
·
作者:昇腾实战派
知识地图链接:强化学习知识地图
背景概述
本文介绍基于Ascend verl镜像的大语言模型训练实践。该镜像集成了Ubuntu 22.04操作系统和Python 3.11环境,并预装了verl、PyTorch、vLLM、Megatron-LM等框架,为在Ascend硬件上开展深度学习项目提供了开箱即用的解决方案。
镜像内容
镜像内包含以下主要组件(版本信息仅供参考,请根据实际需求选择):
| 组件 | 版本 |
|---|---|
| 基础镜像 | Ubuntu 22.04 |
| Python | 3.11 |
| CANN | 8.3.RC1 |
| torch | 2.7.1 |
| torch_npu | 2.7.1 |
| torchvision | 0.22.1 |
| vLLM | 0.11.0 |
| vLLM-ascend | 0.11.0rc1 |
| Megatron-LM | v0.12.1 |
| MindSpeed | (f2b0977e) |
| triton-ascend | 3.2.0rc4 |
| verl | main |
镜像使用步骤
下载镜像
- 访问ascend-verl镜像仓库(https://quay.io/repository/ascend/verl?tab=tags&tag=latest),选择所需镜像版本并复制拉取命令。
- 在服务器上执行以下命令拉取镜像:
docker pull quay.io/ascend/verl:verl-8.2.rc1-910b-ubuntu22.04-py3.11-latest
- 验证镜像是否成功拉取:
docker images
快速开始
1. 启动容器
执行以下命令进入镜像环境:
docker run -it -u root --ipc=host --net=host \
--device=/dev/davinci0 \
--device=/dev/davinci1 \
--device=/dev/davinci2 \
--device=/dev/davinci3 \
--device=/dev/davinci4 \
--device=/dev/davinci5 \
--device=/dev/davinci6 \
--device=/dev/davinci7 \
--device=/dev/davinci_manager \
--device=/dev/devmm_svm \
--device=/dev/hisi_hdc \
-v /etc/ascend_install.info:/etc/ascend_install.info \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
-v /usr/local/Ascend/add-ons/:/usr/local/Ascend/add-ons/ \
-v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \
-v /usr/local/sbin/:/usr/local/sbin/ \
-v /var/log/npu/conf/slog/slog.conf:/var/log/npu/conf/slog/slog.conf \
-v /var/log/npu/slog/:/var/log/npu/slog \
-v /var/log/npu/profiling/:/var/log/npu/profiling \
-v /var/log/npu/dump/:/var/log/npu/dump \
-v /var/log/npu/:/usr/slog \
-v /usr/lib/jvm/:/usr/lib/jvm \
-v /data02:/data02 \
quay.io/ascend/verl:verl-8.2.rc1-910b-ubuntu22.04-py3.11-latest \
/bin/bash
2. 数据准备与处理
进入工作目录:
cd /verl
下载GSM8K数据集:
- 访问HuggingFace数据集页面:https://huggingface.co/datasets/openai/gsm8k/tree/main
数据预处理: - 在数据预处理阶段,我们发现需要调整gsm8k.py脚本以确保兼容性
- 执行数据处理命令:
python3 examples/data_preprocess/gsm8k.py --local_save_dir "/path/to/gsm8k/"
3. 模型训练
配置训练环境并启动训练任务:
set -x
export VLLM_ATTENTION_BACKEND=XFORMERS
python3 -m verl.trainer.main_ppo \
algorithm.adv_estimator=grpo \
data.train_files=**/gsm8k/train.parquet \
data.val_files=**/gsm8k//test.parquet \
data.train_batch_size=128 \
data.max_prompt_length=512 \
data.max_response_length=128 \
data.filter_overlong_prompts=True \
data.truncation='error' \
actor_rollout_ref.model.path=**/Qwen2.5-0.5B-Instruct \
actor_rollout_ref.actor.optim.lr=5e-7 \
actor_rollout_ref.model.use_remove_padding=False \
actor_rollout_ref.actor.entropy_coeff=0.001 \
actor_rollout_ref.actor.ppo_mini_batch_size=64 \
actor_rollout_ref.actor.ppo_micro_batch_size_per_gpu=20 \
actor_rollout_ref.actor.use_kl_loss=True \
actor_rollout_ref.actor.kl_loss_coef=0.001 \
actor_rollout_ref.actor.kl_loss_type=low_var_kl \
actor_rollout_ref.model.enable_gradient_checkpointing=True \
actor_rollout_ref.actor.fsdp_config.param_offload=False \
actor_rollout_ref.actor.fsdp_config.optimizer_offload=False \
actor_rollout_ref.rollout.log_prob_micro_batch_size_per_gpu=40 \
actor_rollout_ref.rollout.enable_chunked_prefill=False \
actor_rollout_ref.rollout.tensor_model_parallel_size=2 \
actor_rollout_ref.rollout.name=vllm \
actor_rollout_ref.rollout.gpu_memory_utilization=0.6 \
actor_rollout_ref.rollout.n=5 \
actor_rollout_ref.ref.log_prob_micro_batch_size_per_gpu=40 \
actor_rollout_ref.ref.fsdp_config.param_offload=True \
algorithm.kl_ctrl.kl_coef=0.001 \
trainer.critic_warmup=0 \
trainer.logger=console \
trainer.project_name='verl_grpo_example_gsm8k' \
trainer.experiment_name='qwen2_7b_function_rm' \
trainer.n_gpus_per_node=8 \
trainer.nnodes=1 \
trainer.save_freq=-1 \
trainer.test_freq=5 \
trainer.total_epochs=1 \
trainer.device=npu $@
通过以上步骤,可以快速在Ascend环境中开展大语言模型的训练任务。建议根据实际硬件配置调整批次大小和并行参数,以获得最佳性能。
昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链
更多推荐


所有评论(0)