更新时间:2026-03-13 GMT+08:00
分享

配置专属资源池算力切分

算力切分介绍

算力切分功能(又称为虚拟化实例功能)是指通过资源虚拟化的方式将物理机或虚拟机配置的NPU(昇腾AI处理器)切分成若干份vNPU(虚拟NPU)挂载到容器中使用,虚拟化管理方式能够实现多个AI业务共用一张卡,提升资源利用率。

ModelArts提供的算力切分功能可实现真正的资源隔离(不同于时分复用技术),该功能的优点是可实现多AI业务按需申请共同使用一张卡,降低了用户使用NPU算力的门槛和成本。多个用户共同使用一台服务器的NPU,并借助容器进行资源隔离,资源隔离性好,保证运行环境的平稳和安全,且资源分配,资源回收过程统一,方便多租户管理。算力切分更多介绍可参考昇腾虚拟化实例(AVI)用户指南

图1 算力切分原理

目前,部分大模型的算子对昇腾NPU的snt9b算力切分卡支持不完整,因此在某些场景下,这些模型无法在vNPU切分卡上成功运行。

需要特别说明的是,ModelArts提供了算力切分的资源管理与调度能力,其本身并不改变NPU硬件对算子的执行支持能力。是否能在切分卡上成功运行模型,最终取决于昇腾NPU硬件对相关算子的支持情况。

如果您已自行验证其模型能够在算力切分卡上正常运行时,则可尝试使用ModelArts的算力切分功能,相关调度问题可以联系ModelArts的技术支持协助定位。然而,对于因算子不支持导致的切分卡执行失败类问题,属于硬件兼容性问题,ModelArts无法提供解决方案。

因此,建议您在未确认模型兼容性前,谨慎使用算力切分卡部署,以避免运行失败。

约束限制

  • 虚拟卡由于不支持参数面网络,所以不支持分布式组网。
  • 虚拟卡切分需要按照模板进行切分。
  • 仅专属资源池支持使用虚拟NPU,专属异构资源池不支持使用算力切分。
  • 仅snt3P和snt9B支持算力切分。
  • snt3P仅支持在推理部署中使用虚拟NPU,snt9B在训练和推理中都支持使用虚拟NPU。
  • 使用算力切分时,集群中所有机器所有卡均需切分,且切分组合需要保持相同。
  • 仅新建资源池支持算力切分。
  • 资源池安装modelarts-device-plugin插件且版本>=1.2.0。

虚拟化模板

算力切分需要按照模板进行切分,可执行如下命令查询资源规格支持的模板。

curl -kv -X GET \
https://modelarts.{{region-id}}.myhuaweicloud/v1/{{project_id}}/resourceflavors/{{resourceflavor_name}}\
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/json' \
-H 'X-Auth-Token:${token}'

其中,“token”参见获取IAM用户Token获取。

响应信息示例如下:

图2 响应信息

资源规格spec.virtualResourceTemplateName表示该资源规格支持虚拟化资源模板名称。如果为空,则表示不支持虚拟化。

获取到虚拟化资源模板名称后,可执行如下命令查询虚拟化实例模板列表。

curl -kv -X GET \
https://modelarts.{{region-id}}.myhuaweicloud/v1/{{project_id}}/virtualresourcetemplates/{{virtualresourcetemplate_name}} \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/json' \
-H 'X-Auth-Token:${token}'

其中,“token”参见获取IAM用户Token获取。

响应信息示例如下:

图3 响应信息

虚拟化资源模板spec.virtualResources表示支持虚拟化实例模板列表。

由于芯片可能会有多种规格,虚拟化实例模板以实际查询为准,下表仅作为示例参考。虚拟卡切分需要按照模板进行切分。

表1 snt3P虚拟化实例模板对应的资源信息

处理器型号

虚拟化实例模板

AI Core核数

内存

AI CPU

VPC

VDEC

JPEGD

PNGD

VENC

JPEGE

备注

snt3P

vir04

4

12G

4

6

6

8

NA

2

4

推理部署当前仅支持vir02和vir02_1c

vir04_3c

4

12G

3

6

6

8

NA

1

4

vir02

2

6G

2

3

3

4

NA

1

2

vir02_1c

2

6G

1

3

3

4

NA

0

2

vir01

1

3G

1

1

1

2

NA

0

1

vir04_3c_ndvpp

4

12G

3

0

0

0

NA

0

0

vir04_4c_dvpp

4

12G

4

12

12

16

NA

3

8

表2 snt9B3虚拟化实例模板对应的资源信息

处理器型号

虚拟化实例模板

AI Core核数

内存

AI CPU

VPC

VDEC

JPEGD

PNGD

VENC

JPEGE

备注

snt9B3

vir10_3c_32g

10

32G

3

4

1

12

NA

NA

2

-

vir05_1c_16g

5

16G

1

2

0

6

NA

NA

1

昇腾AI处理器包含AI Core、AI CPU、DVPP、内存等硬件资源,主要用途如下:

  • AI Core主要用于矩阵乘等计算,适用于卷积模型。
  • AI CPU主要负责执行CPU类算子(包括控制算子、标量和向量等通用计算)。
  • DVPP为数字视觉预处理模块,提供对特定格式的视频和图像进行解码、缩放等预处理操作,以及对处理后的视频、图像进行编码再输出的能力,包含VPC、VDEC、JPEGD、PNGD、VENC、JPEGE模块。
    • VPC:视觉预处理核心,提供对图像进行缩放、色域转换、降bit数处理、存储格式转换、区块切割转换等能力。
    • VDEC:视频解码器,提供对特定格式的视频进行解码的能力。
    • JPEGD:JPEG图像解码器,提供对JPEG格式的图像进行解码的能力。
    • PNGD:PNG图像解码器,提供对PNG格式的图像进行解码的能力。
    • VENC:视频编码器,提供对特定格式的视频进行编码的能力。
    • JPEGE:JPEG图像编码器,提供对图像进行编码输出为JPEG格式的能力。

    切分模板名称规则:vir{AICore数量}_{AICPU数量}_{显存大小}_{视觉预处理模块},比如vir10_4c_16g_dvpp,表示该切分模板对应的资源量是AICore为10个,AICPU为4个,显存量为16g,带有dvpp视觉预处理模块。

虚拟化实例组合

以snt3P为例,snt3P支持虚拟化实例组合如图4所示,1个snt3P处理器最大支持切分7个虚拟化实例,用户需要按照组合规格对NPU硬件资源进行虚拟化切分。

由于snt3P只配置7个AI CPU,因此导致对snt3P进行虚拟化时,无法做到资源均衡的划分vNPU,vNPU支持的划分组合如图4所示,因此您在使用snt3P虚拟化实例功能前,需要评估现场服务器上推理应用所需的资源要求,比如划分6个vir01后,无法再切分2个vir01,只能再划分一个vir02_1c(或者一个vir01,但是会浪费一个AI Core),所以建议您的推理应用正式使用vNPU前,可以先划分vNPU进行测试验证,找到最佳的切分策略。

如果您需要了解典型模型在vNPU上推理的性能数据,您可以联系技术支持工程师获取信息。

下面图示为snt3P与snt9B3(snt9B有四种型号:snt9B1、snt9B2、snt9B3、snt9B4)支持的虚拟化实例组合。

图4 snt3P支持虚拟化实例组合
图5 snt9B3支持虚拟化实例组合

一个NPU上创建的所有虚拟化实例包含的资源量总和不能超过卡上的资源总和。如snt3P有8个AI Core和7个AI CPU时,则不能切分成两个vir04,因为两个vir04需要8个AI CPU,超过了snt3P的实际资源量。只能切分成一个vir04,剩余的4个AI Core和3个AI CPU可以按照vir04_3c或者vir02+vir02_1c等模板切分。

专属资源池配置算力切分

专属资源池进行算力切分,算力切分在购买专属资源池时选择切分模板,ModelArts平台根据所选择的模板自动在所有节点上执行创建vNPU命令。

  • 算力切分的资源池不支持资源队列。
  • 由于芯片可能会有多种规格,虚拟化实例模板以实际查询为准。

创建专属资源池时配置算力切分操作如下。

  1. 登录ModelArts管理控制台,在左侧菜单栏中选择“资源管理 > 专属算力资源 > 资源池”(旧版控制台:“资源管理 > 标准算力集群(或专属资源池)”)
  2. 资源池页签,单击“购买专属资源池(旧版:购买标准算力集群)”,进入购买专属资源池界面。
    • “实例规格管理”中选择支持虚拟化模板的资源规格。

      规格为“snt9b”和“snt3p”系列的NPU,当“Ascend驱动”选择“24.1.rc2”及以上版本时支持算力切分。

    • 开启“NPU算力切分”功能,根据“资源总量”,选择一组虚拟化模板。选择完成后,单击“确定”创建资源池。

    创建资源池时,所有节点都会执行已选择的虚拟化模板来进行切分。

    图6 NPU算力切分

    创建专属资源池的其他参数说明请见步骤三:创建专属资源池

  3. 单击“立即购买”确认规格。产品规格和协议许可确认无误后,单击“提交”,即可创建专属资源池。

推理部署中使用虚拟NPU

算力切分完成后,在服务部署页面选择切分后的专属池,并选择要部署的模型与规格即可。

当前仅推理专属资源池支持使用虚拟NPU。

相关文档