0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用阿里云倚天实例g8y对深度学习推理性能进行测试和比较

jf_9aVl32Dp 来源:阿里云开发者社区 作者:弹性计算-百晓生 2022-11-25 10:33 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

简介:本次实测涵盖图像分类识别、图像目标检测、自然语言处理以及搜索推荐等四种常见的深度学习推理场景

近几年,深度学习在视觉、自然语言处理、搜索广告推荐等工业界的各个领域广泛落地。深度学习模型参数量的指数级上升、以及新的业务对复杂模型的需求,都要求云厂商的弹性计算能够降低算力成本、提高计算效率,尤其是深度学习的推理,将会成为优化的重点。在此因素影响下,阿里云平头哥团队推出了全球首个5nm 制程的 ARM Server 芯片倚天710。该芯片基于 ARM Neoverse N2 架构,支持最新的 ARMv9 指令集,其中包括 i8mm,bf16等扩展指令集,能在科学/AI计算领域获得性能优势。

在本文中,我们聚焦于采用倚天710芯片的 ECS倚天实例g8y,对深度学习推理任务的性能进行了测试和比较。

01 Workloads

本次分析,我们选择了四种常见的深度学习推理场景,涵盖图像分类识别、图像目标检测、自然语言处理以及搜索推荐领域。所使用的代表性模型如下:

Area Task Model
Vision Image Classification Resnet50-v1.5 and VGG19
Vision Object Detection SSD-Resnet34
Language Natural Language Processing BERT-Large
Recommendation Click-Through Rate Prediction DIN

02 Platforms

实例类型

我们在阿里云两种实例类型上进行测试,分别是ECS g8y(倚天710) 和 ECS g7(Ice Lake),实例均为 8-vCPU

Deep Learning Framework

在所有平台,我们使用 TensorFlow v2.10.0 和 PyTorch 1.12.1。

在 Arm 设备上,TensorFlow 支持两种后端,我们使用 OneDNN 后端。OneDNN 是一个开源的跨平台深度学习库,并且能够集成 Arm Compute Library(Arm设备的机器学习计算库)。在 Arm 设备上使用该后端能够取得更高的性能。

OneDNN 在 PyTorch 上的支持仍然是实验版本,因此在 PyTorch 框架上使用默认的 OpenBLAS 后端。

BFloat16

BFloat16 (BF16) 是一种浮点数表示形式,其指数位与单精度浮点数(IEEE FP32)保持一致,但是小数位只有 7 位,因此 BF16 的表示范围与 FP32 几乎一致,但是精度较低。BF16 非常适合深度学习,因为通常精度下降并不会显著降低模型的预测精度,但是16位的数据格式却能够节省空间、加速计算。

03 TensorFlow Performance Comparison

g8y 借助新的 BF16 指令,大幅提升了深度学习模型的推理性能,在多个场景下跑出了比 g7 更优秀的数据。此外,倚天 710 作为自研芯片,相比 g7 最大有 30% 的价格优势。

下面四幅图分别是 Resnet50,SSD,BERT 和 DIN 模型下的对比结果,其中,Resnet,SSD 和 BERT 都来自 MLPerf Inference Benchmark 项目,DIN 是 alibaba 提出的点击率预测模型。蓝色柱状条是直接性能对比,橙色柱状条是考虑了单位价格的性能对比,例如在 Resnet50 上,g8y 的性能是 g7 的 1.43倍,单位价格的性能是 g7 的 2.05 倍。

b3637baa-6c03-11ed-8abf-dac502259ad0.png

Figure 1: Resnet50 在 g8y 和 g7 上的推理性能对比图

说明:此处设置 Batch Size = 32,测试图像尺寸为 224 * 224

b3a2567c-6c03-11ed-8abf-dac502259ad0.png

Figure 2: SSD 性能对比图

说明:此处 Batch Size = 1,测试图像尺寸为1200 * 1200

b3bdb886-6c03-11ed-8abf-dac502259ad0.png

Figure 3: BERT 性能对比图

b3dae80c-6c03-11ed-8abf-dac502259ad0.png

Figure 4: DIN 性能对比图

04 PyTorch Performance Comparison

Arm 上的 OneDNN 后端的 PyTorch 版本仍然是实验性质,因此本次实验采用默认的 OpenBLAS 后端。OpenBLAS 是一个开源的线性代数库,我们为其添加了针对 Arm Neoverse N2 的 BFloat16 矩阵乘法计算的优化实现。

OpenBLAS BFloat16 矩阵乘法优化

矩阵乘法和深度学习存在非常紧密的关系,例如深度学习中常见的 Fully Connected Layer,Convolutional Layer等,最终是被转换成矩阵乘法实现的。因此,加速矩阵乘法最终能加速模型的计算。

OpenBLAS 是一个广泛使用的计算库,默认作为 Numpy,PyTorch 等库的后端,我们在调研中发现该库不支持倚天 710 的 bf16 指令扩展,在和社区交流后,我们决定利用倚天 710 支持的 BFMMLA 等向量指令实现支持 bf16 数据格式的矩阵乘法,实现后性能的到大幅提升,性能对比如图 5 所示。该实现目前已经贡献给开源社区,OpenBLAS 的最新版本 0.3.21 也已经合入。

b3fcf8c0-6c03-11ed-8abf-dac502259ad0.png

Figure5: OpenBLAS 矩阵乘法性能对比

说明:参与运算的矩阵的行数和列数均为 1000。

PyTorch CNN Performance

OpenBLAS 作为 PyTorch 的默认后端,在矩阵乘法上的优化可以体现在 PyTorch 实现的深度学习模型中,我们以卷积计算占比较高的模型 VGG19 为例,该模型推理时,所有的卷积算子会被转换为矩阵乘法,并调用 OpenBLAS 完成计算。下图是 VGG 19 的性能对比:

b41e7e28-6c03-11ed-8abf-dac502259ad0.png

Figure 6: VGG19性能对比图

05 结论

本文的分析显示,在阿里云倚天实例g8y上,多个深度学习模型的推理性能高于同规格 g7,这主要得益于 Arm Neoverse N2 的新指令以及不断更新的软件支持(OneDNN、ACL 和 OpenBLAS)。在这个过程中,阿里云编译器团队贡献了一部分软件优化,后续我们将继续关注该领域的软硬件优化,提高 Arm 系列实例在 ML/AI 方面的竞争力。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    462

    文章

    53534

    浏览量

    459080
  • ARM
    ARM
    +关注

    关注

    135

    文章

    9499

    浏览量

    388695
  • 深度学习
    +关注

    关注

    73

    文章

    5590

    浏览量

    123902

原文标题:性能最高提升50%,ECS倚天实例深度学习推理性能实测

文章出处:【微信号:Arm软件开发者,微信公众号:Arm软件开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    英特尔助力阿里推出多款实例和存储方案

    AI时代数据爆发式增长,让企业对数据的实时处理、深度分析与智能决策等提出了更高要求,同时也对基础设施在性能、成本效益上的综合能力提出了更迫切的需求。为应对这些挑战,阿里
    的头像 发表于 10-16 10:22 328次阅读

    大模型推理显存和计算量估计方法研究

    方法。 一、引言 大模型推理是指在已知输入数据的情况下,通过深度学习模型进行预测或分类的过程。然而,大模型的推理过程对显存和计算资源的需求较
    发表于 07-03 19:43

    从零复现,全面开源:360 Light-R1-14B/7B带来端侧AI平权时刻

    14B开源飓风,360掀起端侧推理性能革命
    的头像 发表于 03-16 10:47 894次阅读
    从零复现,全面开源:360 Light-R1-14B/7B带来端侧AI平权时刻

    使用NVIDIA推理平台提高AI推理性能

    NVIDIA推理平台提高了 AI 推理性能,为零售、电信等行业节省了数百万美元。
    的头像 发表于 02-08 09:59 1315次阅读
    使用NVIDIA<b class='flag-5'>推理</b>平台提高AI<b class='flag-5'>推理性能</b>

    阿里ECS g9i全球邀测启动

    今日,在备受瞩目的阿里国际开发者大会上,阿里正式向全球用户推出了其第9代企业级实例——ECS g
    的头像 发表于 01-22 15:14 838次阅读

    华为弹性服务器 FlexusX 实例下的 Nginx 性能测试

    的 Nginx 性能测试。   一、华为弹性服务器 FlexusX 实例简介 华为弹性
    的头像 发表于 01-17 09:17 1172次阅读
    华为<b class='flag-5'>云</b>弹性<b class='flag-5'>云</b>服务器 FlexusX <b class='flag-5'>实例</b>下的 Nginx <b class='flag-5'>性能</b><b class='flag-5'>测试</b>

    服务器 Flexus X 实例,镜像切换与服务器压力测试

    服务器 Flexus X 压力测试 1、购买华为 Flexus X 实例 Flexus服务器X实例
    的头像 发表于 01-03 09:23 806次阅读
    <b class='flag-5'>云</b>服务器 Flexus X <b class='flag-5'>实例</b>,镜像切换与服务器压力<b class='flag-5'>测试</b>

    采用华为 Flexus 服务器 X 实例部署 YOLOv3 算法完成目标检测

    一、前言 1.1 开发需求 这篇文章讲解: 采用华为最新推出的 Flexus 服务器 X 实例部署 YOLOv3 算法,完成图像分析、目标检测。 随着计算机视觉技术的飞速发展,
    的头像 发表于 01-02 12:00 1026次阅读
    <b class='flag-5'>采用</b>华为<b class='flag-5'>云</b> Flexus <b class='flag-5'>云</b>服务器 X <b class='flag-5'>实例</b>部署 YOLOv3 算法完成目标检测

    华为 X 实例 CPU 性能测试详解与优化策略

    引言   1. 测试环境搭建   1.1 测试实例的选择   1.2 CPU性能测试工具介绍   1.3 安装和配置Sysbench   2
    的头像 发表于 12-30 14:52 1182次阅读
    华为<b class='flag-5'>云</b> X <b class='flag-5'>实例</b> CPU <b class='flag-5'>性能</b><b class='flag-5'>测试</b>详解与优化策略

    使用 Memtester 对华为 X 实例进行内存性能测试

    前言   1 华为X实例介绍   2 Memtester 简介   2.1 什么是Memtester   2.2 安装 Memtester   3 测试方案设计   3.1 测试目标
    的头像 发表于 12-30 14:52 936次阅读
    使用 Memtester 对华为<b class='flag-5'>云</b> X <b class='flag-5'>实例</b><b class='flag-5'>进行</b>内存<b class='flag-5'>性能</b><b class='flag-5'>测试</b>

    华为Flexus X实例,Redis性能加速评测及对比

    加速 Redis 的选项。本文旨在通过实际测试,展示华为 Flexus X 实例在加速 Redis 方面的性能优势,并与其他业界 U1 实例
    的头像 发表于 12-29 15:47 828次阅读
    华为<b class='flag-5'>云</b>Flexus X<b class='flag-5'>实例</b>,Redis<b class='flag-5'>性能</b>加速评测及对比

    深度评测,华为 Flexus X 实例在 Sysbench 性能测试中的亮眼表现

    前言 本文章评测了华为 Flexus X 实例在 Sysbench 性能测试中的亮眼表现。Flexus X 凭借其新一代处理器和智能算力技术,在 CPU、内存、磁盘 I/O 及网络
    的头像 发表于 12-27 13:47 747次阅读
    <b class='flag-5'>深度</b>评测,华为<b class='flag-5'>云</b> Flexus X <b class='flag-5'>实例</b>在 Sysbench <b class='flag-5'>性能</b><b class='flag-5'>测试</b>中的亮眼表现

    华为 Flexus X 实例 MySQL 性能加速评测及对比

    X 实例加速 MySQL 测试 7 3.1 sysbench 简介 8 3.2 Flexus 服务器 X 实例安装 sysbench
    的头像 发表于 12-25 17:10 852次阅读
    华为<b class='flag-5'>云</b> Flexus X <b class='flag-5'>实例</b> MySQL <b class='flag-5'>性能</b>加速评测及对比

    Flexus X 实例 CPU、内存及磁盘性能实测与分析

    的网络带宽支持。最近华为 828 B2B 企业节正在举办,Flexus X 实例的促销也非常给力,大家可以去看看。为了帮助用户更好地了解其性能表现,我们通过一系列详尽的测试,对 Fl
    的头像 发表于 12-24 17:35 870次阅读

    解锁NVIDIA TensorRT-LLM的卓越性能

    Batching、Paged KV Caching、量化技术 (FP8、INT4 AWQ、INT8 SmoothQuant 等) 以及更多功能,确保您的 NVIDIA GPU 能发挥出卓越的推理性能
    的头像 发表于 12-17 17:47 1604次阅读