准备任务YAML

如果用户不使用Ascend Docker Runtime组件,Ascend Device Plugin只会帮助用户挂载“/dev”目录下的设备。其他目录(如“/usr”)用户需要自行修改YAML文件,挂载对应的驱动目录和文件。容器内挂载路径和宿主机路径保持一致。
因为Atlas 200I SoC A1 核心板场景不支持Ascend Docker Runtime,用户也无需修改YAML文件。
操作步骤
- 下载YAML文件。
表1 任务类型与硬件型号对应YAML文件 任务类型
硬件型号
YAML文件路径
获取链接
Volcano调度的Deployment任务
Atlas 200I SoC A1 核心板
infer-deploy-310p-1usoc.yaml
其他类型推理节点
infer-deploy.yaml
Volcano Job任务
Atlas 800I A2 推理服务器
A200I A2 Box 异构组件
Atlas 800I A3 超节点服务器
infer-vcjob-910.yaml
Ascend Job任务
推理服务器(插Atlas 300I Duo 推理卡)
pytorch_multinodes_acjob_infer_310p_with_ranktable.yaml
Atlas 800I A2 推理服务器
A200I A2 Box 异构组件
Atlas 800I A3 超节点服务器
pytorch_multinodes_acjob_infer_{xxx}b_with_ranktable.yaml
Volcano支持Job类型任务,但是Job类型任务的YAML需要用户自行根据示例YAML修改适配。
- 在整卡调度或者动态vNPU调度的YAML配置基础上,增加如下加粗字段启用重调度功能,以整卡调度的infer-deploy.yaml为例。
apiVersion: apps/v1 kind: Deployment metadata: name: resnetinfer1-1-deploy labels: app: infers spec: replicas: 1 selector: matchLabels: app: infers template: metadata: labels: ... fault-scheduling: grace # 添加该字段 ring-controller.atlas: ascend-310 # 添加该字段 spec: schedulerName: volcano nodeSelector: host-arch: huawei-arm # Select the os arch. If the os arch is arm, change it to huawei-x86. ...
表2 fault-scheduling配置项值列表 参数
取值
含义
fault-scheduling
grace
任务使用重调度开关,并在过程中先优雅删除原Pod。
force
配置任务采用强制删除模式,在过程中强制删除原Pod。
ring-controller.atlas
- 推理服务器(插Atlas 300I 推理卡):ascend-310
- Atlas 推理系列产品:ascend-310P
- Atlas 800I A2 推理服务器、A200I A2 Box 异构组件、Atlas 800I A3 超节点服务器:ascend-{xxx}b
用于校验任务使用的芯片类型。
- 挂载权重文件。
... 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: ...