AI开发平台MODELARTS-在k8s集群配置Ascend使用环境:Step 4:docker run方式启动任务

时间:2024-07-08 09:25:27

Step 4:docker run方式启动任务

Snt9B集群在纳管到cce集群后,都会自动安装docker,如果仅做测试验证,可以不需要通过创建deployment或者volcano job的方式,直接启动容器进行测试。训练测试用例使用NLP的bert模型,详细代码和指导可参考Bert

  1. 拉取镜像。本测试镜像为bert_pretrain_mindspore:v1,已经把测试数据和代码打进镜像中。

    docker pull swr.cn-southwest-2.myhuaweicloud.com/os-public-repo/bert_pretrain_mindspore:v1
    docker tag swr.cn-southwest-2.myhuaweicloud.com/os-public-repo/bert_pretrain_mindspore:v1 bert_pretrain_mindspore:v1

  2. 启动容器。

    docker run -tid --privileged=true \
    -u 0 \
    -v /dev/shm:/dev/shm \
    --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 /usr/local/Ascend/driver:/usr/local/Ascend/driver  \
    -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
    -v /etc/hccn.conf:/etc/hccn.conf \
    bert_pretrain_mindspore:v1 \
    bash

    参数含义:

    • --privileged=true //特权容器,允许访问连接到主机的所有设备
    • -u 0 //root用户
    • -v /dev/shm:/dev/shm //防止shm太小训练任务失败
    • --device=/dev/davinci0 //npu卡设备
    • --device=/dev/davinci1 //npu卡设备
    • --device=/dev/davinci2 //npu卡设备
    • --device=/dev/davinci3 //npu卡设备
    • --device=/dev/davinci4 //npu卡设备
    • --device=/dev/davinci5 //npu卡设备
    • --device=/dev/davinci6 //npu卡设备
    • --device=/dev/davinci7 //npu卡设备
    • --device=/dev/davinci_manager //davinci相关的设备管理的设备
    • --device=/dev/devmm_svm //管理设备
    • --device=/dev/hisi_hdc //管理设备
    • -v /usr/local/Ascend/driver:/usr/local/Ascend/driver //npu卡驱动挂载
    • -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi //npu-smi工具挂载
    • -v /etc/hccn.conf:/etc/hccn.conf //hccn.conf配置挂载

  3. 进入容器,并查看卡信息。

    docker exec -it xxxxxxx bash    //进入容器,xxxxxxx替换为容器id
    npu-smi info    //查看卡信息
    图18 查看卡信息

  4. 执行下述命令启动训练任务。

    cd /home/ma-user/modelarts/user-job-dir/code/bert/
    export MS_ENABLE_GE=1
    export MS_GE_TRAIN=1
    bash scripts/run_standalone_pretrain_ascend.sh 0 1 /home/ma-user/modelarts/user-job-dir/data/cn-news-128-1f-mind/
    图19 训练进程

    查看卡占用情况,如图所示,此时0号卡被占用,说明进程正常启动。

    npu-smi info    //查看卡信息
    图20 查看卡信息

    训练任务大概会运行两小时左右,训练完成后自动停止。若想停止训练任务,可执行下述命令关闭进程,查询进程后显示已无运行中python进程。

    pkill -9 python
    ps -ef
    图21 关闭训练进程

support.huaweicloud.com/usermanual-modelarts-lite/usermanual-modelarts-lite-0209.html