准备任务YAML

如果用户不使用Ascend Docker Runtime组件,Ascend Device Plugin只会帮助用户挂载“/dev”目录下的设备。其他目录(如“/usr”)用户需要自行修改YAML文件,挂载对应的驱动目录和文件。容器内挂载路径和宿主机路径保持一致。
因为Atlas 200I SoC A1 核心板场景不支持Ascend Docker Runtime,用户也无需修改YAML文件。
操作步骤
- 获取相应的YAML文件。
- 将YAML文件上传至管理节点任意目录,并根据实际情况修改文件内容。
在Atlas 推理系列产品上,以infer-deploy-dynamic.yaml为例,申请1个AI Core的参数配置示例如下。
apiVersion: apps/v1 kind: Deployment metadata: name: resnetinfer1-1-deploy labels: app: infers spec: replicas: 1 selector: matchLabels: app: infers template: metadata: labels: app: infers fault-scheduling: "grace" # 重调度所使用的label # 以下参数说明请参见表infer-deploy-dynamic.yaml参数说明 ring-controller.atlas: ascend-310P vnpu-dvpp: "null" vnpu-level: "low" spec: schedulerName: volcano # 需要使用MindCluster的调度器Volcano nodeSelector: host-arch: huawei-arm containers: - image: ubuntu-infer:v1 # 示例镜像 ... resources: requests: huawei.com/npu-core: 1 # 使用静态虚拟化的vir01模板动态虚拟化NPU limits: huawei.com/npu-core: 1 # 数值与requests保持一致
表2 infer-deploy-dynamic.yaml参数说明 参数
取值
说明
vnpu-level
low
低配,默认值,选择最低配置的虚拟化实例模板。
high
性能优先。
在集群资源充足的情况下,将选择尽量高配的虚拟化实例模板;在整个集群资源已使用过多的情况下,如大部分物理NPU都已使用,每个物理NPU只剩下小部分AI Core,不足以满足高配虚拟化实例模板时,将使用相同AI Core数量下较低配置的其他模板。具体选择请参考虚拟化规则章节中的“虚拟化模板”。
vnpu-dvpp
yes
该Pod使用DVPP。
no
该Pod不使用DVPP。
null
默认值,不关注是否使用DVPP。
ring-controller.atlas
ascend-310P
任务使用Atlas 推理系列产品的标识。
vnpu-level和vnpu-dvpp作用后,选择的vNPU模板可参考表3。
表3 dvpp和level作用结果 AI Core请求数量
vnpu-dvpp
vnpu-level
是否降级
选择模板
1
null
任意值
-
vir01
2
null
low/其他值
-
vir02_1c
null
high
否
vir02
是
vir02_1c
4
yes
low/其他值
-
vir04_4c_dvpp
no
vir04_3c_ndvpp
null
vir04_3c
yes
high
-
-
vir04_4c_dvpp
no
vir04_3c_ndvpp
null
否
vir04
是
vir04_3c
8或8的倍数
任意值
任意值
-
-
AI Core的申请数量为8或8的倍数,表示使用整张NPU卡。
- 挂载权重文件。
... ports: # 分布式训练集合通信端口 - containerPort: 2222 name: ascendjob-port resources: limits: huawei.com/Ascend310P: 1 # 申请的芯片数 requests: huawei.com/Ascend310P: 1 #与limits取值一致 volumeMounts: ... # 权重文件挂载路径 - name: weights mountPath: /path-to-weights ... volumes: ... # 权重文件挂载路径 - name: weights hostPath: path: /path-to-weights # 共享存储或者本地存储路径,请根据实际情况修改 ...
/path-to-weights为模型权重,需要用户自行准备。mindie镜像可以参考镜像中$ATB_SPEED_HOME_PATH/examples/models/llama3/README.md文件中的说明进行下载。
- 修改所选YAML中的容器启动命令,如下加粗部分,如果没有则添加“command”字段。
... containers: - image: ubuntu-infer:v1 ... command: ["/bin/bash", "-c", "cd $ATB_SPEED_HOME_PATH; python examples/run_pa.py --model_path /path-to-weights"] resources: requests: ...