Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

2021-2022 机器之心年度趋势报告 | 趋势解读:软硬协同设计挖掘性能提升空间

本文是《2021-2022 年度 AI 技术趋势发展报告》中计算工程篇章关于软硬协同设计挖掘性能提升空间的趋势解读,点击「机器之心2021-2022年度AI技术趋势报告 」,获取报告。


随着 AI 应用的快速发展,如何在云、边、端等硬件场景高效的部署运行 AI 模型,成为 AI 落地的重要一环;纯算法层面的优化难以发挥不同硬件平台的加速特性。软硬协同优化,可以更加极致地挖掘不同硬件平台的性能潜力。软硬件协同设计的本质,是希望把软件和硬件的设计及优化统一起来,从而在系统层面获得高于单一优化的收益 [1]。而软硬件协同的主要难点在于软件层面语言、编译模式的不同,导致算法到架构的映射过程高度复杂。


平头哥含光 800 软硬协同设计,实现训练性能突破

平头哥是阿里巴巴集团的全资半导体芯片业务主体。平头哥拥有端云一体全栈产品系列,涵盖数据中心人工智能芯片、处理器IP授权等,实现芯片端到端设计链路全覆盖。平头哥接连推出了玄铁、无剑、含光。其中,玄铁解决指令集、算法等架构问题;无剑是一个芯片开发平台,它提供芯片开发的基础设施;而含光800是平头哥真正意义的第一款芯片,它是一款具有超级算力的AI芯片。

在2019年8月的云栖大会上,阿里达摩院发布了AI推理芯片含光800。在当时的MLPerf基准联盟公布首轮AI推理基准测试中,含光800在适用于图像分类任务的Resnet50 v1.5基准测试的四个场景中均都取得了单芯片第一的成绩。

平头哥含光是一颗高性能人工智能推理芯片,基于 12nm 工艺, 集成 170 亿晶体管,性能峰值算力达 820 TOPS。含光 800 采用平头哥自研架构,通过软硬件协同设计实现性能突破。平头哥自主研发的人工智能芯片软件开发包,让含光 800 芯片在开发深度学习应用时可以获得高吞吐量和低延迟的高性能体验。在业界标准的 ResNet-50 测试中,含光800推理性能达到78563IPS,比目前业界最好的AI芯片性能高4倍;能效比500IPS/W,是第二名的3.3倍。在杭州城市大脑的业务测试中,1颗含光800的算力相当于10颗GPU。本质上含光800是一款算力强劲的AI芯片,它的使用将解决很多交通、电商、支付等领域的重大计算难题,它今后还将通过阿里云向外界提供算力服务。

含光800的产品特性具体包括:

  • 单芯片最高AI推理性能。含光NPU采用TSMC 12nm工艺制程,提供全球最高单芯片AI推理性能。在HGAI模型的推理应用中,含光NPU每秒钟可处理高达78000 IPS的图片,是同类处理器的数十倍性能。

  • 阿里云自研神龙裸金属虚拟化平台。阿里NPU云服务器采用阿里云自研神龙裸金属虚拟化平台,实现全Hypervisor卸载,为用户提供功能无损,性能无损的AI计算加速服务,同时兼容阿里云整体产品生态,为客户提供数据传输、计算、存储等一系列完整解决方案。

  • 完善的自动化开发工具。阿里平头哥HGAI自动化开发工具,支持主流开源框架TensorFlow、Caffe、MXNet和ONNX;支持离线量化、编译以及图优化;支持多模型动态部署以及多设备管理;完善的设备驱动调试工具。

  • 针对业务场景深度优化。针对CNN及视觉类算法,如ResNet-50,SSD/DSSD,Faster-RCNN,DeepLab等模型进行了深度优化。因有效优化了计算、存储密度,可实现大网络模型在一颗NPU上完成计算。


2020年3月,阿里云飞天AI加速引擎AIACC与含光800的组合,打败了Google,推理延迟最低,能效比达500IPS/W。AIACC是业界首次统一加速Tensorflow、PyTorch、MXNET、Caffe等主流开源框架的性能加速引擎,AIACC-Inference充分了挥发含光800超高的计算能力,这是阿里云软硬件一体化极致性能优化的又一典范。


2022年4月7日,全球权威AI基准测试MLPerf发布最新榜单,在聚焦低功耗、高能效的IoT领域Tiny v0.7榜单中,在不使用加速器的情况下,阿里基于平头哥玄铁RISC-V C906处理器提交的软硬件联合优化结果,在满足精度要求的同时,刷新了全部4个benchmark指标的纪录,创造了RISC-V架构在AI基准测试的最好成绩。MLPerf是业界衡量机器学习软硬件性能的通用基准。这意味着在AIoT领域,RISC-V架构能以极低的计算代价实现定制化AI功能。基于RISC-V架构的玄铁处理器已服务各行业企业,例如人工智能企业云天励飞、老牌芯片商炬芯科技等。

玄铁C906这一成绩的取得,主要是得益于阿里软硬件协同创新优化的实力,包括了从硬件的处理器,到软件的编译框架、算法、网络结构优化,再到应用的各个方面[4],最终是阿里云AI团队与平头哥团队协作的结果。

  • 首先,在硬件层面,玄铁C906处理器是业界最早量产的向量扩展RISC-V指令集处理器。采用5~8级流水线设计,配备性能优异的单双精度浮点和128位矢量运算单元,支持INT8 / INT16 / INT32 / INT64 以及 BF16 / FP16 / FP32 / FP64多种格式的矢量运算。同时,C906在数据预取上也做了优化,采用多通道多模式的数据预取技术,可大幅提升数据访问带宽。

  • 其次,在编译层面,平头哥进一步优化了针对玄铁CPU平台的神经网络模型部署工具集HHB(Heterogeneous Honey Badger) 及开源神经网络加速库CSI-NN2,将AI算子更好地与硬件适配,使得玄铁CPU实现了AI性能升级。

  • 第三,在算法层面,借助阿里云震旦异构计算加速平台SinianML对各个benchmark的神经网络进行了压缩、蒸馏、伸缩、网络结构搜索等多方位的优化,在保证达到要求精度目标的情况下,得到远高于标准模型的计算效率,同时集成阿里IoT、蚂蚁IoT、达摩院语音实验室等在各自领域的优化经验和能力,进一步拓展细分领域的优化的效果。

  • 第四,在应用层面,玄铁RISC-V处理器经过数年的发展,目前已覆盖低功耗、高能效、高性能等各类场景,并支持了OpenXuantie的多操作系统(AliOS、FreeRTOS、RT-Thread、Linux、Android等),广泛应用于智能家电、车载、工业控制、边缘计算等领域。这也使得玄铁RISC-V处理器能够针对各种不同应用端的需求进行持续优化。


阿里云震旦异构加速平台释放异构芯片算力

阿里云自研震旦异构计算加速平台,适配 GPU、ASIC 等多种异构AI芯片,优化编译代码,深挖和释放异构芯片算力,支持 TensorFlow、Caffe、PAI 等多种深度学习框架,可实现 AI 框架及算法的无缝迁移适配,支持云变端多场景快速部署,大幅提升 AI 应用开发效率。

阿里基于平头哥玄铁RISC-V C906处理器提交的MLPerf的软硬件联合优化结果就得益于阿里云震旦异构计算加速平台。具体到硬件层面阿里云震旦异构加速平台主要是依靠其稳定强大的软硬件协同优化能力,基于搭载自研ARM架构处理器的磐久服务器M系列,利用模型优化工具SinianML进行了针对图像分类的神经网络架构搜索(Neural Architecture Search,NAS)和模型压缩,并通过震旦算子Autotune能力得到适配ARM架构处理器的最佳算子实现,在保证达到基准测试精度目标同时,能得到远高于标准ResNet50 v1.5的计算效率,在数据中心、边缘计算和IoT领域的多项测试场景中获得最高分。此外,震旦平台进行了多层次算子融合并对ARM架构处理器优化,从而大大提高了CPU算力利用率。阿里云磐久服务器M系列获得CPU领域提交数据性能第一,且单颗芯片的总体性能在数据中心和边缘侧均是第一。

基于搭载自研ARM架构处理器的磐久服务器M系列,阿里云震旦异构计算加速平台利用模型优化工具SinianML进行了针对图像分类的神经网络架构搜索(Neural Architecture Search,NAS)和模型压缩,并通过震旦算子Autotune能力得到适配ARM架构处理器的最佳算子实现,在保证达到基准测试精度目标同时,能得到远高于标准ResNet50 v1.5的计算效率。

此外,震旦平台进行了多层次算子融合并对ARM架构处理器优化,从而大大提高了CPU算力利用率。依靠软硬协同优化,阿里云磐久服务器M系列成为MLPerf有史以来首个获得CPU Only推理性能第一的服务器,且单颗芯片的总体性能在数据中心和边缘侧均是第一。


Tiny场景是MLPerf近年新增的性能测试分类,有别于Datacenter等大规模、高算力的情景,Tiny聚焦于低功耗、高性价比的IoT场景,聚焦于IoT智能应用场景下的软硬件性能和优化能力。在此次公布的MLPerf Tiny 0.7性能数据榜单中,震旦异构计算加速平台结合平头哥自研RISC-V玄铁C906处理器在MLPerf Tiny所有4项Benchmark上的CPU性能数据均是第一。硬件方面,平头哥自研RISC-V玄铁C906处理器和工具链提供了强大的硬实力;软件层面,阿里云震旦异构计算加速平台SinianML对各个benchmark的神经网络进行了压缩、蒸馏、伸缩、网络结构搜索等多方位的优化,在满足模型精度要求的同时,得到了远高于标准模型的计算效率,同时集成阿里IoT、蚂蚁IoT、达摩院语音实验室在各自领域的优化经验和能力,在细分领域进一步拓展优化。


百度飞桨与国内外芯片进行广泛适配和深度融合优化

面对趋于多样化的应用场景,AI 推理对软硬件的性能和功耗正提出更严苛的要求,并对原始数据保护产生越来越高的诉求。对此,百度飞桨总架构师于佃海指出,飞桨团队在模型压缩优化的基础上持续投入,同时在构建端边云全场景的推理引擎,希望在推理侧做到较高的硬件覆盖广度和支持度,形成特色优势。

飞浆在WAVE SUMMIT 2022 介绍,飞浆的路线是“联合硬件生态伙伴,通过技术的联合研发和生态共建,一起开拓出更多软硬件协同的产品和功能,共创飞桨和硬件合作共赢的生态”。飞桨框架针对不同的硬件设计,提供了算子接入、图引擎接入和编译器接入等多种方案,并与众多硬件厂商共同进行了软硬协同的深度优化,充分发挥了软件和硬件的性能优势。在框架层面,飞桨提供了便利的 Pass 二次开发能力,统一的 Kernel 开发接口” Kernel Primitive API”,并通过编译器CINN提供更多自动融合及代码生成优化。

目前,Intel、NVIDIA、瑞芯微、Arm、Imagination、Graphcore、灵汐科技、昆仑芯、天数智芯、爱芯元智等硬件厂商伙伴已发布或即将发布基于飞桨开发的定制版框架、模型库及培训内容等[7]。在WAVE SUMMIT 2022 主论坛上,5家硬件伙伴代表分别介绍了当前共创计划的合作进展。

  • Intel--“从2018年合作开始,百度飞桨和Intel不断拓展了合作的深度和广度。”Intel表示,双方成立了联合技术团队,从硬件上积极适配英特尔全栈AI产品。在软件层面,Intel的oneAPI也集成进了飞桨,并对大多数模型进行了性能优化;IntelAI推理工具套件OpenVINO 2022.1版本的升级发布也正式直接支持飞桨模型,大大提升了模型在Intel异构硬件上的推理性能。

  • NVIDIA--NVIDIA亚太区资深产品经理郑彬表示,针对用户的多层次需求,NVIDIA与飞桨进行了软硬件的深度集成和优化,2022年双方携手开发了三大主要产品,包含基于NVIDIA GPU定制优化的飞桨容器、易于训练和部署的飞桨深度学习模型示例。

  • 瑞芯微--瑞芯微图形计算器平台中心总监熊伟表示,以更好践行让AI赋能更多应用场景为目标,瑞芯微在RKNN模型库中与飞桨共同发布飞桨模型部署示例,继旗下RK1808等芯片适配飞桨轻量化推理引擎后,瑞芯微最新旗舰芯片RK3588也将兼容适配飞桨模型,在软硬一体的场景标杆打造、培训共同客户等方面与飞桨一同努力,帮助开发者更快、更好地落地AI应用。

  • Arm--Arm物联网兼嵌入式事业部业务拓展副总裁Chloe Ma表示:“Arm将与飞桨持续共创深度学习软硬件一体生态,将最新的Arm虚拟硬件与飞桨平台深度结合,同时双方还合作推出高效运行于Arm物联网平台的产业级模型库Model Zoo。”

  • Imagination--Imagination计算产品副总裁Shreyas Derashri表示:“2021年,Imagination和百度飞桨在全球人工智能(AI)生态系统方面开展合作,在算力和算法方面优势的深度融合,可为行业提供更优化的解决方案。”


昆仑XPU

昆仑芯科技是一家AI芯片公司,2021年4月完成了独立融资,首轮估值约130亿元。公司前身是百度智能芯片及架构部,在实际业务场景中深耕AI加速领域已十余年,是一家在体系结构、芯片实现、软件系统和场景应用均有深厚积累的AI芯片企业昆仑芯1代在百度搜索引擎、小度等业务中部署超过2万片,是国内唯一一款经历过互联网大规模核心算法考验的云端AI芯片产品。昆仑芯2代采用7nm制程,也已于2021年8月量产。更先进的昆仑芯3代、自动驾驶芯片等多个产品均已启动研发[8]。

昆仑 XPU 基于 Kernel Primitive API,不仅复用了大部分原有算子实现,还通过对 Kernel Primitive API 的统一优化使算子在 XPU 上达到最佳性能。Graphcore IPU 通过自定义 Pass,充分发挥了飞桨框架在 IPU 上的训练和推理性能,达到了与 Graphcore 原生图引擎一致的性能。编译器 CINN使用更加通用的“基础算子”组合实现复杂算子,并通过丰富的自动融合技术和代码生成技术进
行优化,在 GPU 上达到了与手工优化一致的性能。

昆仑芯XPU架构如下图所示,其中,核心张量计算单元SDNN(软件定义神经网络引擎)用于加速卷积和矩阵乘法;Cluster为通用计算部件;支持GDDR6;Shared Memory片上共享内存,有力保证了计算单元的高并发、低时延访问;提供高达200GB/s的片间互联带宽,有效提升了大规模分布式训练中的数据传输效率,减少通讯延时;支持PCIe第四代接口,双向带宽可达到64GB/s。



华为·昇腾 CANN 5.0 通过软硬协同优化,实现训练性能再翻倍

CANN (Compute Architecture for Neural Networks)是华为公司针对AI场景推出的异构计算架构,通过提供多层次的编程接口,支持用户快速构建基于昇腾平台的AI应用和业务。它对上支持业界主流前端框架,向下对用户屏蔽系列化芯片的硬件差异,以丰富的软件栈功能满足用户全场景的人工智能应用诉求。

2018年9月,华为发布CANN 1.0 昇腾AI使能平台。2020年8月,CANN 3.0版本发布,CANN3.0的三大使能特点包括:

  • 使能全场景:通过支持业界主流AI框架,支持14+种主流操作系统,实现一次开发,全场景各种硬件形态和运行环境的灵活部署。CANN通过Plugin适配层,能轻松承接基于不同框架开发的AI模型,将不同框架定义的模型转换成标准化的Ascend IR(Intermediate Representation)表达的图格式,屏蔽框架差异,大大方便了开发者切换平台的工作。

  • 使能极简开发:通过统一编程接口AscendCL(Ascend Computing Language),为开发者屏蔽底层处理器的差异,支持开发者只需要掌握一套API,就可以全面应用于昇腾全系列芯片+推理、训练全场景。AscendCL是昇腾硬件的统一编程接口,包含了编程模型、硬件资源抽象、AI任务及内核管理、内存管理、模型和算子调用、媒体预处理接口、加速库调用等一系列功能,充分释放昇腾系统多样化算力,使能开发者快速开发AI应用。

  • 使能极致性能:通过软硬协同优化,亲和昇腾的图编译技术,以及超过1200个高性能算子,来释放昇腾芯片的澎湃算力。内置TBE算子开发工具:预置丰富API接口,支持用户自定义算子开发和自动化调优,缩短工期,节省人力。基于昇腾处理器,深度协同优化的高性能算子库。图编译器将具有较高抽象度的计算图,根据昇腾AI处理器的硬件结构特点,进行自动算子融合、Buffer融合等编译优化,从而能够高效执行。当计算图中含有多类型的计算任务时,CANN充分利用昇腾AI处理器丰富的异构计算资源,在满足图中依赖关系的前提下,将计算任务分配给不同的计算资源,实现并行计算,提升各计算单元的资源利用率,最终提升计算任务的整体效率。引入自动混合精度,实现模型加速执行。集成HCCL(Huawei Collective Communication Library,华为集合通信库),为昇腾AI处理器多机多卡训练提供了数据并行/模型并行的高性能集合通信方案。


2021年12月,CANN发布5.0版本,利用图计算的原理,来分析集群训练的流水线分布、内存分配,针对不同机器的特点进行了架构上的设计,合理分配各个节点中的内存和通讯时间,来提高机器整体的计算效率。CANN 5.0相比于3.0版本,在典型推理场景,性能可实现30%到140%的提升;大规模集群训练及常用模型训练,更可达到性能翻番。具体来说,包括下述四个自研技术:

  • 自动流水--CANN 5.0 将计算指令和数据载入实现多流水并行,该优化允许用户对载入数据进行分段,当载入数据满足分段数据量时即刻启动后续计算逻辑,同时后续数据持续载入,当后续分段数据载入完成且流水空闲时,依次再启动后续计算,充分发挥昇腾AI处理器多流水并行能力,实现无缝多流水衔接。

  • 算子融合--CANN 5.0 在 3.0 基础上识别了更多的融合场景,通过多算子自动融合减少计算节点数,有效减少内存拷贝;并且通过灵活可定制的融合规则让计算图中的算子得以最大程度融合,为开发者赢得了更多的计算性能收益。

  • 自适应梯度切分--CANN 5.0 通过智能梯度切分算法,自动搜索出最优梯度参数切分方式,为梯度传输选择合适的通信时机和通信量,最大限度让计算和通信并行执行,将通信拖尾时间降至最低,可促使集群训练达到最优性能。

  • AutoTune 智能计算调优--CANN 5.0 通过智能化数据切分技术,为网络量身定制一个最优的切分策略,实现单个计算单元满载计算,充分利用硬件资源,而带来可观的性能收益。

CANN作为AI领域的异构计算架构,不仅能极大程度释放硬件性能,为AI应用提供强大的算力支持,还借助“基于AI Core切分的算力虚拟化技术”,最高可支持切分成32个分片,充分提升了硬件的资源利用率。下图为CANN 5.0 的算力虚拟化框架,基于该框架,可支持虚拟机、容器的单一或混合部署,并能支持不同类型算力单元的划分,实现算力、内存、带宽的灵活切分、隔离。



参考资料
[1] 陈瑶,郝聪,边缘 AI 软硬件协同设计的机遇与挑战,中国计算机学会通讯,2021年第3期
https://dl.ccf.org.cn/article/articleDetail.html?type=xhtx_thesis&_ack=1&id=5354023236405248[2]https://ishare.ifeng.com/c/s/v002Gx6x8UPKrDg7ujnydYArv4VjR5vWdpV8f-_cCKyloVuM__[3]https://www.aliyun.com/daily-act/ecs/npu_sales spm=a2ouz.23251504.0.0.181810adKTF7G7[4] https://www.sohu.com/a/538158149_128469
[5] https://mp.weixin.qq.com/s/m5dDtIRGIJvE0S00kVN2UQ
[6] https://zhidx.com/p/331354.html
[7] https://blog.csdn.net/PaddlePaddle/article/details/125108854
[8] https://www.kunlunxin.com.cn/93.html
[9] https://e.huawei.com/cn/products/cloud-computing-dc/atlas/cann
[10]https://bbs.huaweicloud.com/blogs/301096?utm_source=zhihu&utm_medium=bbs-ex&utm_campaign=other&utm_content=content



点击「机器之心2021-2022年度AI技术趋势报告 」,获取报告。已获得「机器之心Pro 会员」全功能账号权限的用户可直接下载查看。如您还没有「机器之心Pro会员」,扫描下方二维码关注「机器之心Pro」服务号(id:almosthuman2014pro),进入服务号主页,点击对话框,编辑发送「机器之心Pro会员」咨询,客服值班时间为工作日的10:00 - 19:00。


研究报告AI 芯片
暂无评论
暂无评论~