弹性云服务器 ECS弹性云服务器 ECS

更新时间:2021/07/27 GMT+08:00
分享

鲲鹏AI推理加速型

概述

鲲鹏AI推理加速型实例kAi1s是以华为昇腾310(Ascend 310)芯片为加速核心的AI加速型弹性云服务器。基于Ascend 310芯片低功耗、高算力特性,实现了能效比的大幅提升,助力AI推理业务的快速普及。通过AI推理加速型实例kAi1s将Ascend 310芯片的计算加速能力在公有云上开放出来,方便用户快速简捷地使用Ascend 310芯片强大的处理能力。

鲲鹏AI推理加速型实例kAi1s基于Altas300加速卡设计,更多详细信息请参考:昇腾开发者社区

鲲鹏AI推理加速型云服务器可用于机器视觉、语音识别、自然语言处理通用技术,支撑智能零售、智能园区、机器人云大脑、平安城市等场景。

规格

表1 kAi1s型弹性云服务器的规格

规格名称

vCPU

内存(GiB)

最大带宽/基准带宽

最大收发包能力(万/PPS)

网卡多队列数

网卡个数上限

Ascend 310个数

虚拟化类型

kai1s.xlarge.1

4

4

3/0.8

20

2

2

1 x Ascend310

KVM

kai1s.2xlarge.1

8

8

4/1.5

40

2

3

2 x Ascend310

KVM

kai1s.4xlarge.1

16

16

6/3

80

4

4

4 x Ascend310

KVM

kai1s.3xlarge.2

12

24

8/4

100

4

4

4 x Ascend310

KVM

kai1s.4xlarge.2

16

32

10/6

140

4

5

6 x Ascend310

KVM

kai1s.6xlarge.2

24

48

12/8

200

8

6

8 x Ascend310

KVM

kai1s.9xlarge.2

36

72

12/8

200

8

6

12 x Ascend310

KVM

kai1s.12xlarge.2

48

96

12/8

200

16

6

12x Ascend310

KVM

功能

kAi1s加速型弹性云服务器功能如下:

  • 处理器与内存配比为1:1/1:2。
  • 处理器:Huawei Kunpeng 920 2.6GHz。
  • 支持Ascend310芯片,每张Atlas300加速卡包含4个Ascend310芯片
  • 单芯片半精度(FP16)8TeraFLOPS
  • 单芯片整数精度(INT8)16TeraOPS
  • 单芯片提供8GiB显存,内存带宽50GiB/s
  • 内置硬件视频编解码引擎, 支持H.264/265

使用须知

  • kai1s实例支持如下版本的操作系统:
    • Ubuntu Server 16.04 64bit
    • CentOS 7.6 64bit
  • kAi1s型弹性云服务器不支持规格变更。
  • kAi1s型云服务器所在物理机发生故障时,云服务器支持自动恢复。

如何使用Ai加速型云服务器

购买与使用kAi1s加速型云服务器的流程如下:

  1. 创建kAi1s加速型云服务器。

    使用公共镜像创建的kai1s加速云服务器默认已安装驱动、固件和开发套件,并配置环境变量。

    具体操作,请参见购买弹性云服务器。验证可用性请参考步骤3

    如果使用私有镜像创建kAi1s加速云服务器,则需要安装驱动、固件和开发套件,具体请参考安装指南

  2. 远程登录kAi1s加速云服务器。

    对于Linux操作系统的kAi1s加速云服务器,登录时请以SSH密码方式登录。具体操作,请参见密码方式登录Linux弹性云服务器(SSH方式)

  3. kAi1s使用样例

    该样例主要是基于Caffe ResNet-50网络(单输入、单batch)实现图片分类的功能。

    将Caffe ResNet-50网络的模型文件转换为适配昇腾AI处理器的离线模型(*.om文件),在样例中,加载该om文件,对2张*.jpg图片进行解码、缩放、推理,分别得到推理结果后,再对推理结果进行处理,输出最大置信度的类别标识。

    转换模型时,需配置色域转换参数,用于将YUV420SP格式的图片转换为RGB格式的图片,才能符合模型的输入要求。

    1. 模型转换
      1. 以root用户登录kAi1s云服务器。
      2. 设置环境变量(公共镜像中已设置环境变量,如果是私有镜像创建请自行设置)。
        环境变量示例如下,请用实际安装路径替换driver_home和 install_path。
        export driver_home=/usr/local/Ascend
        export install_path=${driver_home}/ascend-toolkit/latest/arm64-linux_gcc7.3.0
        export DDK_PATH=${install_path}
        export PATH=/usr/local/python3.7.5/bin:${install_path}/atc/ccec_compiler/bin:${install_path}/atc/bin:${install_path}/fwkacllib/ccec_compiler/bin:$PATH
        export PYTHONPATH=${install_path}/atc/python/site-packages/te:${install_path}/atc/python/site-packages/topi:${install_path}/atc/python/site-packages/auto_tune.egg/auto_tune/:${install_path}/atc/python/site-packages/schedule_search.egg:${install_path}/opp/op_impl/built-in/ai_core/tbe/:${install_path}/fwkacllib/python/site-packages/topi:${install_path}/fwkacllib/python/site-packages/hccl:${install_path}/fwkacllib/python/site-packages/auto_tune.egg:${install_path}/fwkacllib/python/site-packages/schedule_search.egg:${install_path}/fwkacllib/python/site-packages/te:${install_path}/tfplugin/python/site-packages/npu_bridge:$PYTHONPATH
        export LD_LIBRARY_PATH=/usr/local/lib/:/usr/lib/:${install_path}/acllib/lib64:${install_path}/atc/lib64:${install_path}/fwkacllib/lib64:${driver_home}/driver/lib64:${driver_home}/add-ons:${install_path}/toolkit/lib64:$LD_LIBRARY_PATH
        export ASCEND_OPP_PATH=${install_path}/opp
        export NPU_HOST_LIB=${install_path}/acllib/lib64/stub
        export SOC_VERSION=Ascend310
      3. 准备数据。

        示例:请将以下示例中“/usr/local/Ascend/ascend-toolkit/latest/arm64-linux_gcc7.3.0”替换成acllib实际路径。

        获取ResNet-50网络的权重文件(*.caffemodel),并将获取的文件上传至云服务器的“/usr/local/Ascend/ascend-toolkit/latest/arm64-linux_gcc7.3.0/acllib/sample/acl_execute_model/acl_dvpp_resnet50/caffe_model”目录下

      4. 将ResNet-50网络转换为适配昇腾AI处理器的离线模型(*.om文件),转换模型时,需配置色域转换参数,用于将YUV420SP格式的图片转换为RGB格式的图片。

        切换到“acl_dvpp_resnet50”目录,执行如下命令:

        atc --model=caffe_model/resnet50.prototxt --weight=caffe_model/resnet50.caffemodel --framework=0 --output=model/resnet50_aipp --soc_version=Ascend310 --insert_op_conf=caffe_model/aipp.cfg

        图1 转换模型

        --output参数:生成的resnet50_aipp.om文件存放在“acl_dvpp_resnet50/model”目录下

        关于各参数的详细解释,请参见《ATC工具使用指导》中的“约束及参数说明”。

      5. 将Cast和ArgMaxD两个算子的算子描述信息(*.json文件)编译成适配昇腾AI处理器的离线模型(*.om文件),用于运行算子时使用。切换到acl_dvpp_resnet50目录,执行如下命令:

        atc --singleop=out/op_models/op_list.json --soc_version=Ascend310 --output=out/op_models

        图2 编译模型

        --output参数:生成的om文件必须放在“out/op_models”目录下。

        关于各参数的详细解释,请参见《ATC工具使用指导》中的“约束及参数说明”。

  4. 编译代码

    1. 设置环境变量。

      编译脚本src/CMakeLists.txt通过环境变量所设置的头文件、库文件的路径来编译代码。

      设置环境变量示例,请将/usr/local/Ascend/ascend-toolkit/latest/arm64-linux_gcc7.3.0替换为ACLlib的实际安装路径。

      执行以下命令导入环境变量(公共镜像中已设置环境变量,如果是私有镜像创建请自行设置)。

      export DDK_PATH=/usr/local/Ascend/ascend-toolkit/latest/arm64-linux_gcc7.3.0
      export NPU_HOST_LIB=/usr/local/Ascend/ascend-toolkit/latest/arm64-linux_gcc7.3.0/acllib/lib64/stub
    2. 切换到acl_dvpp_resnet50目录,创建目录用于存放编译文件。
      本例中,创建的目录为“build/intermediates/host”
      mkdir -p build/intermediates/host
    3. 切换到“build/intermediates/host”目录,执行cmake生成编译文件。

      以下示例中“../../../src”表示CMakeLists.txt文件所在的目录,请根据实际目录层级修改。

      cd build/intermediates/host

      cmake ../../../src -DCMAKE_CXX_COMPILER=g++ -DCMAKE_SKIP_RPATH=TRUE

      图3 执行cmake生成编译文件
    4. 执行make命令,生成的可执行文件main在“acl_dvpp_resnet50/out”目录下。

      make

      图4 生成可执行文件main

  5. 运行环境

    1. 设置环境变量。

      如下为设置环境变量的示例,请根据实际安装情况替换路径(公共镜像中已设置环境变量,如果是私有镜像创建请自行设置)。

      export LD_LIBRARY_PATH=/usr/local/Ascend/ascend-toolkit/latest/arm64-linux_gcc7.3.0/acllib/lib64:/usr/local/Ascend/add-ons
    2. 切换到可执行文件main所在的目录“acl_dvpp_resnet50/out”,给该目录下的main文件加执行权限。

      chmod +x main

    3. 切换到可执行文件main所在的目录,例如“/home/HwHiAiUser/acl_dvpp_resnet50/out”,运行可执行文件。

      ./main

      执行成功后,在屏幕上显示最大置信度的类别标识。
      图5 显示类别标识

相关链接

分享:

    相关文档

    相关产品