华为云用户手册

  • 步骤五 启动容器镜像 启动容器镜像前请先按照参数说明修改${}中的参数。docker启动失败会有对应的error提示,启动成功会有对应的docker id生成,并且不会报错。 docker run -itd \ --device=/dev/davinci0 \ --device=/dev/davinci1 \ --device=/dev/davinci2 \ --device=/dev/davinci3 \ --device=/dev/davinci4 \ --device=/dev/davinci5 \ --device=/dev/davinci6 \ --device=/dev/davinci7 \ -v /etc/localtime:/etc/localtime \ -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \ -v /etc/ascend_install.info:/etc/ascend_install.info \ --device=/dev/davinci_manager \ --device=/dev/devmm_svm \ --device=/dev/hisi_hdc \ -v /var/log/npu/:/usr/slog \ -v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \ -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ -v ${dir}:${container_work_dir} \ --net=host \ --name ${container_name} \ ${image_id} \ /bin/bash 参数说明: --device=/dev/davinci0,..., --device=/dev/davinci7:挂载NPU设备,示例中挂载了8张卡davinci0~davinci7。 -v ${dir}:${container_work_dir} 代表需要在容器中挂载宿主机的目录。宿主机和容器使用不同的大文件系统,dir为宿主机中文件目录,${container_work_dir}为要挂载到的容器中的目录。为方便两个地址可以相同。 容器不能挂载到/home/ma-user目录,此目录为ma-user用户家目录。如果容器挂载到/home/ma-user下,拉起容器时会与基础镜像冲突,导致基础镜像不可用。 driver及npu-smi需同时挂载至容器。 不要将多个容器绑到同一个NPU上,会导致后续的容器无法正常使用NPU功能。 --name ${container_name}:容器名称,进入容器时会用到,此处可以自己定义一个容器名称。 {image_id} 为docker镜像的ID,即第四步中生成的新镜像id,在宿主机上可通过docker images查询得到。
  • 步骤四 制作推理镜像 解压AscendCloud压缩包及该目录下的推理代码AscendCloud-LLM-6.3.909-xxx.zip和算子包AscendCloud-OPP-6.3.909-xxx.zip,并执行build_image.sh脚本制作推理镜像。安装过程需要连接互联网git clone,请确保机器环境可以访问公网。 unzip AscendCloud-*.zip -d ./AscendCloud && unzip ./AscendCloud/AscendCloud-OPP-*.zip -d ./AscendCloud/AscendCloud-OPP && unzip ./AscendCloud/AscendCloud-LLM-*.zip -d ./AscendCloud/AscendCloud-LLM && cd ./AscendCloud/AscendCloud-LLM/llm_inference/ascend_vllm/ && sh build_image.sh --base-image=${base_image} --image-name=${image_name} 参数说明: ${base_image}为基础镜像地址。 ${image_name}为推理镜像名称,可自行指定。 运行完后,会生成推理所需镜像。
  • Step2 准备权重文件 将OBS中的模型权重上传到Notebook的工作目录/home/ma-user/work/下。上传代码参考如下。 import moxing as mox obs_dir = "obs://${bucket_name}/${folder-name}" local_dir = "/home/ma-user/work/qwen-14b" mox.file.copy_parallel(obs_dir, local_dir) 实际操作如下图所示。 图1 上传OBS文件到Notebook的代码示例
  • Step4 创建pod 在节点自定义目录${node_path}下执行如下命令创建pod。 kubectl apply -f config.yaml 检查pod启动情况,执行下述命令。如果显示“1/1 running”状态代表启动成功。 kubectl get pod -A 图1 启动pod成功 执行如下命令查看pod日志,如果打印类似下图信息表示服务启动成功。 kubectl logs -f ${pod_name} 参数说明: ${pod_name}:pod名,例如图1${pod_name}为yourapp-87d9b5b46-c46bk。 图2 启动服务成功
  • Step2 配置pod 在节点自定义目录${node_path}下创建config.yaml文件 apiVersion: apps/v1 kind: Deployment metadata: name: yourapp labels: app: infers spec: replicas: 1 selector: matchLabels: app: infers template: metadata: labels: app: infers spec: schedulerName: volcano nodeSelector: accelerator/huawei-npu: ascend-1980 containers: - image: ${image_name} # 推理镜像名称 imagePullPolicy: IfNotPresent name: ${container_name} securityContext: runAsUser: 0 ports: - containerPort: 8080 command: ["/bin/bash", "-c"] args: ["${node-path}/run_vllm.sh"] # 节点自定义目录,该目录下包含pod配置文件config.yaml和推理服务启动脚本run_vllm.sh resources: requests: huawei.com/ascend-1980: "8" # 需求卡数,key保持不变。 limits: huawei.com/ascend-1980: "8" # 限制卡数,key保持不变。 volumeMounts: # 容器内部映射路径 - name: ascend-driver #驱动挂载,保持不动 mountPath: /usr/local/Ascend/driver - name: ascend-add-ons #驱动挂载,保持不动 mountPath: /usr/local/Ascend/add-ons - name: hccn #驱动hccn配置,保持不动 mountPath: /etc/hccn.conf - name: localtime mountPath: /etc/localtime - name: npu-smi # npu-smi mountPath: /usr/local/sbin/npu-smi - name: model-path # 模型权重路径 mountPath: ${model-path} - name: node-path mountPath: ${node-path} volumes: # 物理机外部路径 - name: ascend-driver hostPath: path: /usr/local/Ascend/driver - name: ascend-add-ons hostPath: path: /usr/local/Ascend/add-ons - name: hccn hostPath: path: /etc/hccn.conf - name: localtime hostPath: path: /etc/localtime - name: npu-smi hostPath: path: /usr/local/sbin/npu-smi - name: model-path hostPath: path: ${model-path} - name: node-path hostPath: path: ${node-path} 参数说明: ${container_name}:容器名称,此处可以自己定义一个容器名称,例如ascend-vllm。 ${image_name}:Step3 制作推理镜像构建的推理镜像名称。 ${node-path}:节点自定义目录,该目录下包含pod配置文件config.yaml和推理服务启动脚本run_vllm.sh,run_vllm.sh内容见Step3 创建服务启动脚本。 ${model-path}:Step1 上传权重文件中上传的模型权重路径。
  • 步骤四:开启训练故障自动重启功能 创建训练作业时,可开启自动重启功能。当环境问题导致训练作业异常时,系统将自动修复异常或隔离节点,并重启训练作业,提高训练成功率。为了避免丢失训练进度、浪费算力。此功能已适配断点续训练。 图5 开启故障重启 断点续训练是通过checkpoint机制实现。checkpoint机制是在模型训练的过程中,不断地保存训练结果(包括但不限于EPOCH、模型权重、优化器状态、调度器状态)。即便模型训练中断,也可以基于checkpoint继续训练。 当训练作业发生故障中断本次作业时,代码可自动从训练中断的位置接续训练,加载中断生成的checkpoint,中间不需要改动任何参数。MindSpeed-LLM可通过save-interval参数、Llama-Factory可通过save_steps参数,指定间隔多少step保存checkpoint。 如果要使用自动重启功能,资源规格必须选择八卡规格且超参配置有限制。 MindSpeed-LLM:train_auto_resume参数必须为true,默认为fasle。 Llama-Factory:overwrite_output_dir参数必须为false,默认为true。 训练作业中的训练故障自动恢复功能包括: 训练容错检查(自动重启),帮助用户隔离故障节点,优化用户训练体验。详细可了解:训练容错检查 无条件自动重启,不管什么原因系统都会自动重启训练作业,提高训练成功率和提升作业的稳定性。详细可了解:无条件自动重启。
  • 步骤二:配置数据输入和输出【OBS方式】 此小节根据实际选择训练框架不同,设置输入、输出参数不同,根据实际选择,该小节仅为使用OBS桶存储所需,如使用SFS Turbo共享盘忽略此小节。 单击“增加训练输入”和“增加训练输出”,用于配置训练作业开始时需要输入数据的路径和训练结束后输出数据的路径。 图2 增加训练输入输出 在“输入”框内设置超参key值,选择训练框架不同填入不同参数,根据实际选择填入超参。 MindSpeed-LLM 输入数据集参数:是否使用已处理好数据集; 是,添加processed_data_dir:已处理好数据路径目录 否,使用原始数据集,添加dataset:训练时指定的输入原始数据集路径。 输入权重词表超参(tokenizer):添加model_name_or_path:加载tokenizer与Hugging Face权重对应存放目录地址。 是否使用已转换Megatron格式权重或训练输出结果权重目录; 是,添加user_converted_ckpt_path:已转换Megatron格式权重目录或训练输出结果权重目录,一般搭配断点续训或增量训练,详见断点续训和故障快恢说明 否,忽略此步骤 Llama-Factory 输入数据集参数:dataset_dir:训练时指定的输入数据集路径,一般只有使用自定义数据时需设置,地址为代码包AscendFactory/data目录下 输入权重词表参数:model_name_or_path:加载tokenizer与Hugging Face权重时,对应的存放地址。 adapter_name_or_path:基于lora训练完成后生成的lora产物未合并时的权重文件(基于lora微调后模型进行增量训练时传入) 在“输出”框内设置超参key,选择训练框架不同填入不同参数,根据实际选择填入超参。 MindSpeed-LLM 设置output_dir参数:训练完成后指定的输出模型路径 设置hf_save_dir参数:训练完成的权重文件自动转换为Hugging Face格式权重输出的路径(确保convert_mg2hf_at_last设置为True,默认为True) Llama-Factory 设置output_dir参数:训练完成后指定的输出模型路径。 分别单击“输入”和“输出”的数据存储位置,选择相应OBS路径地址。 “输出”中的预下载至本地目标选择:下载,此时输出路径中的数据则会下载至OBS中。 图3 设置输入、输出值样例
  • 问题六 Llama-Factory框架训练过程中训练至某一步卡死现象 【问题现象】 多节点训练任务,运行至某一个steps时训练任务卡死2H,导致任务超时 【问题根因】 ascend_trace线程抓取调用栈时对相关资源加锁,dataloader_worker进程在被fork拉起时继承了锁状态,导致dataloader_worker进程因无法获取到锁而卡死。 【解决措施】 训练作业前,先通过加载环境变量export ASCEND_COREDUMP_SIGNAL=none关闭ascend的堆栈跟踪。 export ASCEND_COREDUMP_SIGNAL=none
  • 问题八 MindSpeed-LLM蒸馏模型训练精度问题 【问题根因】 MindSpeed-LLM框架中某些参数值为固定值,与蒸馏后模型配置不一致,导致训练结果精度问题。 【解决措施】 训练前修改代码包目录下scripts_modellink/{model}/3_training.sh文件参数值与蒸馏模型权重目录下config.json参数值保持一致,参数表格如下: 表1 3_training.sh参数修改值 蒸馏模型 原模型 3_training.sh文件参数 DeepSeek-R1-Distill-Qwen-7B qwen2.5-7b --rotary-base 10000 DeepSeek-R1-Distill-Qwen-14B/32B qwen2.5-14b/32b --norm-epsilon 1e-5
  • 问题七 Llama-Factory环境,运行DockerFile或install.sh中的setup.py失败 【问题现象】 执行Llama-Factory代码目录下setup.py失败,报错:“SetuptoolsDeprecationWarning: License classifiers are deprecated.” 图3 setup.py报错提示 【问题根因】 pip依赖包版本过低导致与其他依赖包冲突。 【解决措施】 修改添加pip install --upgrade pip命令至AscendFactory/install.sh文件,如图所示: 重新执行DockerFile或install.sh。
  • 问题五 Llama-Factory框架数据预处理过大数据集超时 【问题根因】 Llama-Factory框架处理数据默认先处理0卡,再依次处理1~7卡,串行处理数据导致时间占用过大导致超时。 【解决措施】 方案A:修改LLamaFactory barrier策略,将0卡先处理,1~7卡再处理方案修改为0~7卡同步处理,训练前执行以下命令: export DISABLE_MAIN_PRO CES S_FIRST = True 方案B:默认处理策略不变,将训练作业运行超时时间修改为2小时,训练前执行以下命令: export ACL_DEVICE_SYNC_TIMEOUT=7200 方案B操作简单,但数据集过大时,有可能2个小时也会超时,可以继续修改延长超时时间。
  • 问题四 DockerFile或install.sh安装三方依赖包失败 【问题现象】 下载安装AscendFactory/dependences.yaml中三方依赖包:Llama-Factory、MindSpeed-LLM等失败。 【问题根因】 无法连接公网导致拉取git失败。 【解决措施】 配置代理或使用有公网权限的机器手动拉取AscendFactory/dependences.yaml中的三方依赖包,命名、版本与dependences.yaml中${save_name}、${version}值保持一致,并将其复制至AscendFactory/third-party目录下,重新DockerFile或执行install.sh命令。
  • 问题二 网卡名称错误 当训练开始时提示网卡名称错误。或者通信超时。可以使用ifconfig命令检查网卡名称配置是否正确。 比如,ifconfig看到当前机器IP对应的网卡名称为enp67s0f5,则可以设置环境变量指定该值。 图1 网卡名称错误 export GLOO_SOCKET_IFNAME=enp67s0f5 # 多机之间使用gloo通信时需要指定网口名称, export TP_SOCKET_IFNAME=enp67s0f5 # 多机之间使用TP通信时需要指定网口名称 export HCCL_SOCKET_IFNAME=enp67s0f5 # 多机之间使用HCCL通信时需要指定网口名称 关于环境变量的解释可以参考:Distributed communication package - torch.distributed — PyTorch 2.3 documentation
  • 场景说明 安全性是华为云与您的共同责任。华为云负责云服务自身的安全,提供安全的云;作为租户,您需要合理使用云服务提供的安全能力对数据进行保护,安全地使用云。 本文提供了ModelArts使用过程中的安全最佳实践,旨在为提高整体安全能力提供可操作的规范性指导。根据该指导文档您可以持续评估ModelArts资源的安全状态,更好的组合使用ModelArts提供的多种安全能力,提高对ModelArts资源的整体安全防御能力,保护在ModelArts平台上的数据不泄露、不被篡改,以及数据传输过程中不泄露、不被篡改。 本文从以下几个维度给出建议,您可以评估ModelArts使用情况,并根据业务需要在本指导的基础上进行安全配置。 使用IP白名单的方式接入Notebook 在生产环境下使用专属资源池 自定义镜像使用非root用户运行 开发过程不使用硬编码的凭证 对不同的子用户,使用独立的委托
  • 自定义镜像使用非root用户运行 自定义镜像支持自行开发Dockerfile,并推送到SWR,出于权限控制范围的考虑,建议用户在自定义镜像时,显式定义默认运行的用户为非root用户,以降低容器运行时的安全风险。 在AI业务开发以及运行的过程中,一般都会有复杂的环境依赖需要进行调测并固化。面对开发中的开发环境的脆弱和多轨切换问题,在ModelArts的AI开发最佳实践中,通过容器镜像的方式,将运行环境进行固化,以这种方式不仅能够的进行依赖管理,而且可以方便的完成工作环境切换。配合ModelArts提供的云化容器资源使用,可以更加快速、高效地进行AI开发与模型实验的迭代等。 ModelArts Standard中使用自定义镜像请参见自定义镜像使用场景。
  • 在生产环境下使用专属资源池 在使用训练、推理、开发环境时,建议在生产环境下使用专属资源池,它在提供独享的计算资源情况下,还可以提供更强更安全的资源隔离能力,专属资源池的使用请参考创建专属资源池。 在使用ModelArts进行AI全流程开发时,您可以选择使用两种不同的资源池。 公共资源池:公共资源池提供公共的大规模计算集群,根据用户作业参数分配使用,资源按作业隔离。按资源规格、使用时长及实例数计费,不区分任务(训练作业、部署、开发)。公共资源池是ModelArts默认提供,不需另行创建或配置,您可以直接在AI开发过程中,直接选择公共资源池进行使用。 专属资源池:提供独享的计算资源,可用于Notebook、训练作业、部署模型。专属资源池不与其他用户共享,更加高效。 在使用专属资源池之前,您需要先购买一个专属资源池,然后在AI开发过程中选择此专属资源池。
  • 云桌面 的计费方式 不同区域支持的计费类型可参考云桌面价格计算器,具体请以实际购买云桌面页面显示为准。 表6 云桌面计费方式 计费模式 计费方式 计费周期 包年/包月 先购买再使用,用户在购买时,系统会根据用户所选的套餐对用户云账户中的金额进行扣除。 计费周期以UTC+8时区的时间为准。计费周期的起点是资源开通的时间点(精确到秒),终点是指定使用时长后的第一个00:00:00。 按需计费 先使用后扣款,后台会依据用户在区间时间段内使用时长,对用户云账户中的金额进行扣除。 以整点小时为计费周期,计费周期以UTC+8时区的时间为准。使用过程中,系统在每个整点时间(如2:00:00,3:00:00)会自动出账单核算区间时间内使用时长所需费用。 订单到期后,提供7天的宽限期,宽限期内资源依然可用。 宽限期后,提供15天的保留期,保留期内资源不可用,但并未删除。 保留期后,如果您没有续费订单,资源将自动删除。
  • 计费模式 云桌面的规格包括计算资源(vCPU 、内存)和存储资源(系统盘、数据盘)。您可以根据业务中接入用户规划及云桌面使用场景规划,来决定您购买云桌面实例规格、数量及区域分布,以便为您的用户提供最优质的云桌面服务。云桌面支持包年包月计费模式和按需计费模式供您灵活选择。 包年/包月:华为云提供包月和包年的购买模式。这种购买方式相对于按需付费则能够提供更大的折扣,对于长期使用者,推荐该方式。包年/包月计费按照订单的购买周期来进行结算。 按月购买模式下的计算套餐提供以下档位: 有限时长:一个月内限制使用时长,包含120小时/月、200小时/月、260小时/月。 Flexus规格的小时包套餐使用时长有效期为一个月,当月剩余时长不可转存至次月。 若月度时长提前使用完,超出时长部分计算资源按需计费,具体费用以实际界面显示为准,请确保账号余额充足。 不限时长:一个月内不限制使用时长。 适用场景:适合稳定长期使用云桌面资源的场景,相对于按需付费则能够提供更大的折扣。 按需计费:按需申请云桌面资源使用,实例从“开通”开启计费到“删除”结束计费,按实际购买时长(精确到秒)计费即开即停,支持变更为包年/包月资源,具体详情参考云桌面《用户指南》的“桌面计费模式变更(按需转包周期)”章节。 适用场景:适合短期业务需求的场景使用,可按需开关机释放实例计算资源,节省成本。
  • 云桌面套餐 云桌面支持基于X86架构和基于鲲鹏架构的桌面套餐,您可以通过本章节快速浏览在售的所有规格清单,具体套餐请参见云桌面价格详情请以实际购买页面为准。 企业版和尊享版云桌面使用非绑定CPU调度模式,vCPU会根据系统负载被随机分配到空闲的CPU超线程上,当主机负载较大时,可能由于不同桌面vCPU争抢物理CPU资源而导致桌面性能波动不稳定。 企业版办公型如表1所示。 表1 企业版套餐 套餐类型 套餐ID vCPU 内存 CPU架构 企业办公型-2U4GB workspace.x86.enterprise.large2 2核 4GB X86计算 企业办公型-2U8GB workspace.x86.enterprise.large4 2核 8GB X86计算 企业办公型-4U8GB workspace.x86.enterprise.xlarge2 4核 8GB X86计算 企业办公型-4U16GB workspace.x86.enterprise.xlarge4 4核 16GB X86计算 企业办公型-8U16GB workspace.x86.enterprise.2xlarge2 8核 16GB X86计算 企业办公型-8U32GB workspace.x86.enterprise.2xlarge4 8核 32GB X86计算 尊享版办公型如表2所示。 表2 尊享版套餐 套餐类型 套餐ID vCPU 内存 CPU架构 尊享办公型-2U4G workspace.x86.ultimate.large2 2核 4GB X86计算 尊享办公型-2U8G workspace.x86.ultimate.large4 2核 8GB X86计算 尊享办公型-4U8G workspace.x86.ultimate.xlarge2 4核 8GB X86计算 尊享办公型-4U16G workspace.x86.ultimate.xlarge4 4核 16GB X86计算 尊享办公型-8U16G workspace.x86.ultimate.2xlarge2 8核 16GB X86计算 尊享办公型-8U32G workspace.x86.ultimate.2xlarge4 8核 32GB X86计算 鲲鹏计算型如表3所示。 表3 鲲鹏计算型套餐 套餐类型 套餐ID vCPU 内存 CPU架构 鲲鹏基础办公型-2U4G workspace.k.large2.uosv20pro 2核 4GB 鲲鹏计算 鲲鹏基础办公增强型-2U8G workspace.k.large4.uosv20pro 2核 8GB 鲲鹏计算 鲲鹏通用办公型-4U8G workspace.k.xlarge2.uosv20pro 4核 8GB 鲲鹏计算 鲲鹏通用办公增强型-4U16G workspace.k.xlarge4.uosv20pro 4核 16GB 鲲鹏计算 鲲鹏高级办公型-8U16G workspace.k.2xlarge2.uosv20pro 8核 16GB 鲲鹏计算 鲲鹏高级办公增强型-8U32G workspace.k.2xlarge4.uosv20pro 8核 32GB 鲲鹏计算 Flexus办公型如表4所示。 表4 Flexus办公型套餐 套餐类型 套餐ID vCPU 内存 CPU架构 Flexus办公-4U8G workspace.x86.flexus.xlarge2 4核 8GB X86计算 Flexus办公-4U16G workspace.x86.flexus.xlarge4 4核 16GB X86计算 Flexus办公-8U16G workspace.x86.flexus.2xlarge2 8核 16GB X86计算 Flexus办公-8U32G workspace.x86.flexus.2xlarge4 8核 32GB X86计算 Flexus办公-16U32G workspace.x86.flexus.4xlarge2 16核 32GB X86计算 Flexus办公-16U64G workspace.x86.flexus.4xlarge4 16核 64GB X86计算 各区域上线的套餐可能不同,请以实际购买页面为准。
  • 计费规则: 按需购买的实例支持关机/休眠不计费,关机/休眠后的计费规则: 实例本身(vCPU,内存,镜像)不计费,其它所挂载的资源如云硬盘,公网IP或带宽则正常计费。 按需计费云桌面支持关机/休眠不计费,即关机/休眠期间,在保留云桌面的前提下,系统将自动回收计算资源(vCPU、内存)。此时,将不再收取计算资源相关费用,仅收取存储资源(系统盘和数据盘)费用,可以降低您的使用成本,再次启动时会重新申请vCPU和内存,在资源不足时会有启动失败的风险,您可以通过稍后启动或更改实例规格的方式来恢复。 按需计费的特殊实例不支持关机/休眠不计费。特殊实例关机/休眠后仍然正常收费,同时vCPU和内存等资源也会保留。 不支持关机不计费的特殊实例包括: 含本地盘的实例,如磁盘增强型实例、超高I/O型实例等。 公网/ 私网NAT网关 根据您选择的公网NAT网关规格和使用时长计费。详细的价格说明请参考NAT网关价格计算器。 除特殊公共镜像,其他公共镜像为免费,如果公共镜像转为私有镜像,则会根据云市场价格收取镜像费用。 云桌面删除或者退订(具体操作请参考云桌面《用户指南》的“桌面退订”章节),桌面的弹性公网IP会自动解绑、弹性公网IP会继续保留并计费,请前往弹性公网IP页面手动删除。 Flexus规格小时包桌面购买后不支持退订。 应用中心中文件使用OBS存储时进行计费,详情参考 对象存储服务 OBS的计费说明。
  • 云桌面支持的操作系统列表 支持购买如表1中所示操作系统的云桌面。 表1 操作系统支持说明 操作系统类型 操作系统版本 操作系统规格 说明 Linux UOS统一操作系统 V20 1050 OEM 64位 云桌面目前支持购买UOS(统信,UnionTechOS)统一操作系统、麒麟操作系统和Windows操作系统的普通桌面。后续云桌面将持续为您提供更多操作系统桌面版本,丰富办公环境。 麒麟 V10 SP1 64位 Windows Windows Server 2016 64位 Windows Server 2019 64位
  • 云桌面支持的客户端列表 通过客户端可以登录您购买的云桌面,请根据您的本地设备的操作系统下载对应的客户端版本,客户端软件包可从华为云桌面客户端下载页面获取。 软终端 支持如表2所示操作系统版本的软终端登录云桌面。 表2 软终端支持说明 终端设备操作系统 说明 Windows 10 支持Windows 10操作系统的PC,通过安装的云桌面客户端登录桌面。 macOS 10.14~13.6(64位) 支持macOS(64位,版本10.14到13.6)的PC,通过安装的云桌面客户端登录桌面。
  • 请求示例 请求示例,创建在线服务。 POST https://{endpoint}/v1/{project_id}/services { "infer_type" : "real-time", "service_name" : "mnist", "description" : "mnist service", "config" : [ { "specification" : "modelarts.vm.cpu.2u", "weight" : 100, "model_id" : "0e07b41b-173e-42db-8c16-8e1b44cc0d44", "instance_count" : 1 } ] } 请求示例,创建在线服务且配置多版本分流。 POST https://{endpoint}/v1/{project_id}/services { "service_name" : "mnist", "description" : "mnist service", "infer_type" : "real-time", "config" : [ { "model_id" : "xxxmodel-idxxx", "weight" : "70", "specification" : "modelarts.vm.cpu.2u", "instance_count" : 1, "envs" : { "model_name" : "mxnet-model-1", "load_epoch" : "0" } }, { "model_id" : "xxxxxx", "weight" : "30", "specification" : "modelarts.vm.cpu.2u", "instance_count" : 1 } ] } 请求示例,创建专属资源池自定义规格在线服务样例。 POST https://{endpoint}/v1/{project_id}/services { "service_name" : "realtime-demo", "description" : "", "infer_type" : "real-time", "cluster_id" : "8abf68a969c3cb3a0169c4acb24b0000", "config" : [ { "model_id" : "eb6a4a8c-5713-4a27-b8ed-c7e694499af5", "weight" : "100", "cluster_id" : "8abf68a969c3cb3a0169c4acb24b0000", "specification" : "custom", "custom_spec" : { "cpu" : 1.5, "memory" : 7500 }, "instance_count" : 1 } ] } 请求示例,创建在线服务设置自动停止。 POST https://{endpoint}/v1/{project_id}/services { "service_name" : "service-demo", "description" : "demo", "infer_type" : "real-time", "config" : [ { "model_id" : "xxxmodel-idxxx", "weight" : "100", "specification" : "modelarts.vm.cpu.2u", "instance_count" : 1 } ], "schedule" : [ { "type" : "stop", "time_unit" : "HOURS", "duration" : 1 } ] } 请求示例,创建批量服务且输入数据映射方式为“file”。 POST https://{endpoint}/v1/{project_id}/services { "service_name" : "batchservicetest", "description" : "", "infer_type" : "batch", "cluster_id" : "8abf68a969c3cb3a0169c4acb24b****", "config" : [ { "model_id" : "598b913a-af3e-41ba-a1b5-bf065320f1e2", "specification" : "modelarts.vm.cpu.2u", "instance_count" : 1, "src_path" : "https://infers-data.obs.xxxxx.com/xgboosterdata/", "dest_path" : "https://infers-data.obs.xxxxx.com/output/", "req_uri" : "/", "mapping_type" : "file" } ] } 请求示例,创建批量服务且输入数据映射方式为“csv”。 POST https://{endpoint}/v1/{project_id}/services { "service_name" : "batchservicetest", "description" : "", "infer_type" : "batch", "config" : [ { "model_id" : "598b913a-af3e-41ba-a1b5-bf065320f1e2", "specification" : "modelarts.vm.cpu.2u", "instance_count" : 1, "src_path" : "https://infers-data.obs.xxxxx.com/xgboosterdata/", "dest_path" : "https://infers-data.obs.xxxxx.com/output/", "req_uri" : "/", "mapping_type" : "csv", "mapping_rule" : { "type" : "object", "properties" : { "data" : { "type" : "object", "properties" : { "req_data" : { "type" : "array", "items" : [ { "type" : "object", "properties" : { "input5" : { "type" : "number", "index" : 0 }, "input4" : { "type" : "number", "index" : 1 }, "input3" : { "type" : "number", "index" : 2 }, "input2" : { "type" : "number", "index" : 3 }, "input1" : { "type" : "number", "index" : 4 } } } ] } } } } } } ] } 请求示例,创建边缘服务样例。 POST https://{endpoint}/v1/{project_id}/services { "service_name" : "service-edge-demo", "description" : "", "infer_type" : "edge", "config" : [ { "model_id" : "eb6a4a8c-5713-4a27-b8ed-c7e694499af5", "specification" : "custom", "instance_count" : 1, "custom_spec" : { "cpu" : 1.5, "memory" : 7500 }, "envs" : { }, "nodes" : [ "2r8c4fb9-t497-40u3-89yf-skui77db0472" ] } ] }
  • URI GET /v2/{project_id}/training-quotas 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 表2 Query参数 参数 是否必选 参数类型 描述 user_id 否 String 用户ID。 resource 否 String 配额的资源类型,当前支持的传参:job-num,作业个数的配额。
  • 响应参数 状态码:200 表3 响应Body参数 参数 参数类型 描述 quotas Array of TrainingQuotaResponse objects 训练作业配额组。 表4 TrainingQuotaResponse 参数 参数类型 描述 resource String 配额的资源类型,当前支持:job-num,作业的个数配额。 quota Integer 配额个数。 used Integer 已使用的个数。
  • 响应示例 状态码:200 OK { "description" : "api-test", "feature" : "NOTEBOOK", "flavor" : "modelarts.vm.cpu.2u", "id" : "f9937afa-4451-42db-a76b-72d624749f66", "image" : { "description" : "description", "id" : "e1a07296-22a8-4f05-8bc8-e936c8e54090", "name" : "notebook2.0-mul-kernel-cpu-cp36", "swr_path" : "swr.xxxxx.com/atelier/notebook2.0-mul-kernel-cpu-cp36:3.3.2-release_v1", "tag" : "3.3.2-release_v1", "type" : "BUILD_IN" }, "lease" : { "create_at" : 1638841744515, "duration" : 6327212, "enable" : true, "type" : "TIMING", "update_at" : 1638844471727 }, "name" : "notebooks_test", "status" : "STARTING", "token" : "5cc60e8b-8772-7690-efd6-a5874ca387c0", "url" : "https://authoring-modelarts-xxxxx.xxxxx.com/f9937afa-4451-42db-a76b-72d624749f66/lab", "volume" : { "category" : "EFS", "ownership" : "MANAGED", "mount_path" : "/home/ma-user/work/", "capacity" : 50 }, "workspace_id" : "0" }
  • URI POST /v1/{project_id}/notebooks/{id}/start 表1 路径参数 参数 是否必选 参数类型 描述 id 是 String Notebook实例ID,可通过调用查询Notebook实例列表接口获取。 project_id 是 String 用户项目ID,获取方法请参见获取项目ID和名称。 表2 Query参数 参数 是否必选 参数类型 描述 duration 否 Long 启动后运行时长(单位:毫秒)。 type 否 String 自动停止类别,默认为timing。 timing:自动停止。 idle:空闲停止。
  • URI DELETE /v1/{project_id}/notebooks/{instance_id}/storage/{storage_id} 表1 路径参数 参数 是否必选 参数类型 描述 instance_id 是 String Notebook实例ID,可通过调用查询Notebook实例列表接口获取。 project_id 是 String 用户项目ID,获取方法请参见获取项目ID和名称。 storage_id 是 String OBS存储ID。
  • 响应参数 状态码:200 表2 响应Body参数 参数 参数类型 描述 category String 存储类型。可选值为OBS。 id String 动态挂载实例ID。 mount_path String 在Notebook实例中挂载的路径。 status String 动态挂载OBS状态。枚举值如下: MOUNTING:挂载中 MOUNT_FAILED:挂载失败 MOUNTED:已挂载 UNMOUNTING:卸载中 UNMOUNT_FAILED:卸载失败 UNMOUNTED:卸载完成 uri String OBS对象路径。 状态码:204 No Content
  • 响应示例 状态码:200 OK { "arch" : "x86_64", "create_at" : 1671708630448, "description" : "", "dev_services" : [ "NOTEBOOK", "SSH" ], "id" : "708ca95d-c601-4dc7-86b9-670adfd5e818", "name" : "pytorch_1_8", "namespace" : "op_svc_modelarts_container2", "origin" : "CUSTOMIZE", "resource_categories" : [ "CPU" ], "service_type" : "UNKNOWN", "size" : 3376133259, "status" : "ACTIVE", "swr_path" : "swr.xxx.com/op_svc_modelarts_container2/pytorch_1_8:train-pytorch_1.8.0-cuda_10.2-py_3.7", "tag" : "train-pytorch_1.8.0-cuda_10.2-py_3.7", "type" : "DEDICATED", "update_at" : 1671708630448, "visibility" : "PRIVATE", "workspace_id" : "0" }
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全