昇腾社区首页
中文
注册

准备任务YAML

用户可根据实际情况完成制作镜像的准备工作,然后选择相应的YAML示例,对示例进行修改。

前提条件

已完成镜像的准备工作

选择YAML示例

集群调度为用户提供YAML示例,用户需要根据使用的组件、芯片类型和任务类型等,选择相应的YAML示例并根据需求进行相应修改后才可使用。

类型

硬件型号

YAML名称

获取链接

ms_controller

Atlas 800I A2 推理服务器

Atlas 800I A3 超节点

controller.yaml

获取YAML

ms_coordinator

Atlas 800I A2 推理服务器

Atlas 800I A3 超节点

coordinator.yaml

获取YAML

mindie_server

Atlas 800I A2 推理服务器

Atlas 800I A3 超节点

server.yaml

获取YAML

注:

如使用的设备为Atlas 800I A3 超节点,请在获取YAML后,参考以下的示例对部分参数进行修改。

任务YAML说明

与普通Ascend Job任务相比,MindIE Motor推理任务需要额外增加以下两个label:app和jobID。MindIE Server使用NPU卡,用户需根据Prefill实例和Decode实例数,下发等量的AscendJob。

关于等量acjob的说明如下:例如一个MindIE Motor推理任务包含1个controller、1个coordinator,x个P实例,y个D实例,则需要部署以下数量的acjob:1+1+x+y。

  • MS Controller、MS Coordinator不使用NPU卡,分别以一个AscendJob进行部署,支持多副本。MS Controller、MS Coordinator的YAML示例如下。
    apiVersion: mindxdl.gitee.com/v1
    kind: AscendJob
    metadata:
      name: mindie-ms-test-controller
      namespace: mindie
      labels:
        framework: pytorch          
        app: mindie-ms-controller   # 表示MindIE Motor在Ascend Job任务中的角色,不可修改
        jobID: mindie-ms-test       # 当前MindIE Motor任务在集群中的唯一识别ID,用户可根据实际情况进行配置
        ring-controller.atlas: ascend-910b
    spec:
      schedulerName: volcano   # Ascend Operator启用“gang”调度时所选择的调度器
      runPolicy:
        schedulingPolicy:      # Ascend Operator启用“gang”调度生效且调度器为Volcano时,本字段才生效
          minAvailable: 1      # 任务运行总副本数
          queue: default
      successPolicy: AllWorkers
      replicaSpecs:
        Master:
          replicas: 1
          restartPolicy: Always
          template:
            metadata:
              ...

在以上示例中,关于app和jobID的参数说明如下。如果想了解其他参数的详细说明请参见YAML参数说明

app:当前MindIE Motor在Ascend Job任务中的角色,取值包括mindie-ms-controller、mindie-ms-coordinator、mindie-ms-server。

jobID:当前MindIE Motor任务在集群中的唯一识别ID,用户可根据需要进行配置。

  • MindIE Server的YAML示例如下。
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: rings-config-mindie-server-0  # 名称必须与以下AscendJob的名称属性相同。前缀“rings-config-”不能修改。
      namespace: mindie
      labels:
        jobID: mindie-ms-test
        ring-controller.atlas: ascend-910b
        mx-consumer-cim: "true"
    data:
      hccl.json: |
        {
            "status":"initializing"
        }
    ---
    apiVersion: mindxdl.gitee.com/v1
    kind: AscendJob
    metadata:
      name: mindie-server-0
      namespace: mindie
      labels:
        framework: pytorch        
        app: mindie-ms-server        # 表示当前MindIE Motor在Ascend Job任务中的角色,不可修改
        jobID: mindie-ms-test        # 当前MindIE Motor任务在集群中的唯一识别ID,用户可根据实际情况进行配置
        ring-controller.atlas: ascend-910b
    spec:
      schedulerName: volcano   # Ascend Operator启用“gang”调度时所选择的调度器
      runPolicy:
        schedulingPolicy:      # Ascend Operator启用“gang”调度生效且调度器为Volcano时,本字段才生效
          minAvailable: 2      # 任务运行总副本数
          queue: default
      successPolicy: AllWorkers
      replicaSpecs:
        Master:
  • 如果硬件型号为Atlas 800I A3 超节点MindIE Server的任务YAML需要做以下修改:
    apiVersion: mindxdl.gitee.com/v1
    kind: AscendJob
    metadata:
      name: mindie-server-0
      namespace: mindie
      labels:
        framework: pytorch
        app: mindie-ms-server        # 不可修改
        jobID: mindie-ms-test        # MindIE Motor任务在集群中的唯一识别ID,用户可根据实际情况进行配置
        ring-controller.atlas: ascend-910b
        fault-scheduling: force
      annotations:
        sp-block: "16"         # 增加该annotation,配置方法请参见YAML参数说明
    spec:
      schedulerName: volcano   # Ascend Operator启用“gang”调度时所选择的调度器
      runPolicy:
        schedulingPolicy:      # Ascend Operator启用“gang”调度生效且调度器为Volcano时,本字段才生效
          minAvailable: 2      # 任务运行总副本数
          queue: default
      successPolicy: AllWorkers
      replicaSpecs:
        Master:
          replicas: 1
          restartPolicy: Always
          template:
            metadata:
              labels:
                ring-controller.atlas: ascend-910b
                app: mindie-ms-server
                jobID: mindie-ms-test
            spec:
              nodeSelector:
                accelerator: huawei-Ascend910
                # accelerator-type: module-910b-8  # 删除或注释掉该nodeSelector