检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
/scripts/llama2/0_pl_pretrain_13b.sh 创建训练作业后,会在节点机器中使用基础镜像创建docker容器,并在容器内进行分布式训练。而install.sh则会在容器内安装依赖以及下载完整的代码。当训练作业结束后,对应的容器也会同步销毁。
} && \ sed -i "s/wget/wget --no-check-certificate/g" docker/common/install_cmake.sh && \ bash docker/common/install_cmake.sh && \
云上训练磁盘空间一般指如下两个目录的磁盘空间: “/”根目录,是docker中配置项“base size”,默认是10G,云上统一改为50G。 “/cache”目录满了,一般是3.5T存储空间满了,具体规格的空间大小可参见训练环境中不同规格资源“/cache”目录的大小。
表8 Docker部署参数数据结构说明 参数 参数类型 说明 namespace String SWR组织名称,全局唯一。 image_name String 镜像名称。 image_tag String 镜像标签。
上传镜像 客户端上传镜像,是指在安装了容器引擎客户端的机器上使用docker命令将镜像上传到容器镜像服务的镜像仓库。 如果容器引擎客户端机器为云上的ECS或CCE节点,根据机器所在区域有两种网络链路可以选择: 如果机器与容器镜像仓库在同一区域,则上传镜像走内网链路。
${docker_ip}替换为实际宿主机的IP地址。
操作流程 使用自定义镜像创建训练作业时,需要您熟悉docker软件的使用,并具备一定的开发经验。
ctr -n k8s.io images pull {image_url} 使用 nerdctl 工具进行镜像拉取。 nerdctl --namespace k8s.io pull {image_url} 注意:集群有多个节点,要确保每个节点都拥有镜像。
nerdctl --namespace k8s.io push <镜像仓库地址>/<组织名称>/<镜像名称>:<版本名称> 示例: nerdctl --namespace k8s.io push swr.cn-southwest-2.myhuaweicloud.com/GPOUP_NAME
USER root # copy MLNX_OFED_LINUX-4.3-1.0.1.0-ubuntu16.04-x86_64.tgz to docker image RUN tar xzvf MLNX_OFED_LINUX-4.3-1.0.1.0-ubuntu16.04-x86
docker pull nvcr.io/nvidia/pytorch:21.10-py3 启动容器。
${docker_ip}替换为实际宿主机的IP地址。
K8S标签:设置附加到Kubernetes对象(比如Pod)上的键值对。最多可以添加20条标签。使用该标签可区分不同节点,可结合工作负载的亲和能力实现容器Pod调度到指定节点的功能。 污点:默认为空。支持给节点加污点来设置反亲和性,每个节点最多配置20条污点。
表9 Docker部署参数数据结构说明 参数 参数类型 说明 namespace String SWR组织名称,全局唯一。 image_name String 镜像名称。 image_tag String 镜像标签。
表6 Docker部署参数数据结构说明 参数 参数类型 说明 namespace String SWR组织名称,全局唯一。 image_name String 镜像名称。 image_tag String 镜像标签。
--host=${docker_ip}:服务部署的IP,${docker_ip}替换为宿主机实际的IP地址。 --port:服务部署的端口。 --gpu-memory-utilization:NPU使用的显存比例,复用原vLLM的入参名称,默认为0.9。
在模型包文件夹的同级目录下验证如下命令拉起服务: docker run --user 1000:100 -p 8080:8080 -v model:/home/mind/model custom_engine:v1 该指令无法完全模拟线上,主要是由于-v挂载进去的目录是root
在模型包文件夹的同级目录下验证如下命令拉起服务: docker run --user 1000:100 -p 8080:8080 -v model:/home/mind/model custom_engine:v1 该指令无法完全模拟线上,主要是由于-v挂载进去的目录是root
--host=${docker_ip}:服务部署的IP,${docker_ip}替换为宿主机实际的IP地址。 --port:服务部署的端口。 --gpu-memory-utilization:NPU使用的显存比例,复用原vLLM的入参名称,默认为0.9。
docker inspect {自定义镜像地址} | grep Architecture ARM CPU架构的自定义镜像,上述命令回显如下。 "Architecture": "arm64" 规格中带有ARM字样的显示,为ARM CPU架构。