深度解读达芬奇架构:华为AI芯片的“秘密武器”

640?wx_fmt=jpeg

本文转自华为官网

2019年6月,华为发布全新8系列手机SoC芯片麒麟810,首次采用华为自研达芬奇架构NPU,实现业界领先端侧AI算力,在业界公认的苏黎世联邦理工学院推出的AI Benchmark榜单中,搭载麒麟810的手机霸榜TOP3,堪称华为AI芯片的“秘密武器”,这其中华为自研的达芬奇架构举足轻重。

640?wx_fmt=jpeg

2019年8月20日数据

那么,达芬奇架构AI实力究竟怎么样?一起来深入了解下~

源起

为什么要做达芬奇架构?

华为预测,到2025年全球的智能终端数量将会达到400亿台,智能助理的普及率将达到90%,企业数据的使用率将达到86%。可以预见,在不久的将来,AI将作为一项通用技术极大地提高生产力,改变每个组织和每个行业。

基于这样的愿景,华为在2018全联接大会上提出全栈全场景AI战略。作为重要的技术基础,AI芯片在其中发挥着重要作用,而华为也基于AI芯片提供了完整的解决方案,加速使能AI产业化。

为了实现AI在多平台多场景之间的协同,华为创新设计达芬奇计算架构,在不同体积和功耗条件下提供强劲的AI算力。

初见

达芬奇架构的核心优势

达芬奇架构,是华为自研的面向AI计算特征的全新计算架构,具备高算力、高能效、灵活可裁剪的特性,是实现万物智能的重要基础。

具体来说,达芬奇架构采用3D Cube针对矩阵运算做加速,大幅提升单位功耗下的AI算力,每个AI Core可以在一个时钟周期内实现4096个MAC操作,相比传统的CPU和GPU实现数量级的提升。

640?wx_fmt=jpeg

3D Cube

同时,为了提升AI计算的完备性和不同场景的计算效率,达芬奇架构还集成了向量、标量、硬件加速器等多种计算单元。同时支持多种精度计算,支撑训练和推理两种场景的数据精度要求,实现AI的全场景需求覆盖。

深耕

达芬奇架构的AI硬实力

01

常见的AI运算类型有哪些?

在了解达芬奇架构的技术之前,我们先来弄清楚一下几种AI运算数据对象:

  • 标量(Scalar):由单独一个数组成。

  • 向量(Vector):由一组一维有序数组成,每个数由一个索引(index)标识。

  • 矩阵(Matrix):由一组二维有序数组成,每个数由两个索引(index)标识。

  • 张量(Tensor):由一组n维有序数组成,每个数由n个索引(index)标识。

其中,AI计算的核心是矩阵乘法运算,计算时由左矩阵的一行和右矩阵的一列相乘,每个元素相乘之后的和输出到结果矩阵。

在此计算过程中,标量(Scalar)、向量(Vector)、矩阵(Matrix)算力密度依次增加,对硬件的AI运算能力不断提出更高要求。

典型的神经网络模型计算量都非常大,这其中99%的计算都需要用到矩阵乘,也就是说,如果提高矩阵乘的运算效率,就能最大程度上提升AI算力——这也是达芬奇架构设计的核心:以最小的计算代价增加矩阵乘的算力,实现更高的AI能效。

02

各单元角色分工揭秘,Da Vinci Core如何实现高效AI计算?

在2018年全联接大会上,华为推出AI芯片Ascend 310(昇腾310),这是达芬奇架构的首次亮相。

640?wx_fmt=jpeg

其中,Da Vinci Core只是NPU的一个部分,Da Vinci Core内部还细分成很多单元,包括核心的3D Cube、Vector向量计算单元、Scalar标量计算单元等,它们各自负责不同的运算任务实现并行化计算模型,共同保障AI计算的高效处理。

640?wx_fmt=jpeg

  • 3D Cube矩阵乘法单元:算力担当

刚才已经提到,矩阵乘是AI计算的核心,这部分运算由3D Cube完成,Buffer L0A、L0B、L0C则用于存储输入矩阵和输出矩阵数据,负责向Cube计算单元输送数据和存放计算结果。

  • Vector向量计算单元:灵活的多面手

虽然Cube的算力很强大,但只能完成矩阵乘运算,还有很多计算类型要依靠Vector向量计算单元来完成。Vector的指令相对来说非常丰富,可以覆盖各种基本的计算类型和许多定制的计算类型。

  • Scalar标量计算单元:流程控制的管家

Scalar标量运算单元主要负责AI Core的标量运算,功能上可以看作一个小CPU,完成整个程序的循环控制,分支判断,Cube、Vector等指令的地址和参数计算以及基本的算术运算等。

03

3D Cube计算方式的独特优势

不同于以往的标量、矢量运算模式,华为达芬奇架构以高性能3D Cube计算引擎为基础,针对矩阵运算进行加速,大幅提高单位面积下的AI算力,充分激发端侧AI的运算潜能。

以两个N*N的矩阵A*B乘法为例:如果是N个1D 的MAC,需要N^2(即N的2次方)的cycle数;如果是1个N^2的2D MAC阵列,需要N个Cycle;如果是1个N维3D的Cube,只需要1个Cycle。

640?wx_fmt=jpeg

图中计算单元的数量只是示意,实际可灵活设计

华为创新设计的达芬奇架构将大幅提升算力,16*16*16的3D Cube能够显著提升数据利用率,缩短运算周期,实现更快更强的AI运算。

这是什么意思呢?举例来说,同样是完成4096次运算,2D结构需要64行*64列才能计算,3D Cube只需要16*16*16的结构就能算出。其中,64*64结构带来的问题是:运算周期长、时延高、利用率低。

达芬奇架构的这一特性也完美体现在麒麟810上。作为首款采用达芬奇架构NPU的手机SoC芯片,麒麟810实现强劲的AI算力,在单位面积上实现最佳能效,FP16精度和INT8量化精度业界领先,搭载这款SoC芯片的华为Nova 5、Nova 5i Pro及荣耀9X手机已上市,为广大消费者提供多种精彩的AI应用体验。

同时,麒麟810再度赋能HiAI生态,支持自研中间算子格式IR开放,算子数量多达240+,处于业内领先水平。更多算子、开源框架的支持以及提供更加完备的工具链将助力开发者快速转换集成基于不同AI框架开发出的模型,极大地增强了华为HiAI移动计算平台的兼容性、易用性,提高开发者的效率,节约时间成本,加速更多AI应用的落地。

640?wx_fmt=jpeg

预见

达芬奇架构解锁AI无限可能

基于灵活可扩展的特性,达芬奇架构能够满足端侧、边缘侧及云端的应用场景,可用于小到几十毫瓦,大到几百瓦的训练场景,横跨全场景提供最优算力。

640?wx_fmt=jpeg

以Ascend芯片为例,Ascend-Nano可以用于耳机电话等IoT设备的使用场景;Ascend-Tiny和Ascend-Lite用于智能手机的AI运算处理;在笔记本电脑等算力需求更高的便携设备上,由Ascend-Mini提供算力支持;而边缘侧服务器上则需要由Multi-Ascend 310完成AI计算;至于超复杂的云端数据运算处理,则交由算力最高可达256 TFLOPS@FP16的Ascend-Max来完成。

正是由于达芬奇架构灵活可裁剪、高能效的特性,才能实现对上述多种复杂场景的AI运算处理。

同时,选择开发统一架构也是一个非常关键的决策。统一架构优势很明显,那就是对广大开发者非常利好。基于达芬奇架构的统一性,开发者在面对云端、边缘侧、端侧等全场景应用开发时,只需要进行一次算子开发和调试,就可以应用于不同平台,大幅降低了迁移成本。

640?wx_fmt=jpeg

不仅开发平台语言统一,训练和推理框架也是统一的,开发者可以将大量训练模型放在本地和云端服务器,再将轻量级的推理工作放在移动端设备上,获得一致的开发体验。

在算力和技术得到突破性提升后,AI将广泛应用于智慧城市、自动驾驶、智慧新零售、机器人、工业制造、云计算AI服务等场景。华为轮值董事长徐直军在2018华为全联接大会上表示,“全场景意味着可以实现智能无所不及,全栈意味着华为有能力为AI应用开发者提供强大的算力和应用开发平台;有能力提供大家用得起、用得好、用得放心的AI,实现普惠AI”。

未来,AI将应用更加广泛的领域,并逐渐覆盖至生活的方方面面。达芬奇架构作为AI运算的重要技术基础,将持续赋能AI应用探索,为各行各业的AI应用场景提供澎湃算力。

8月23日,采用达芬奇架构的又一款“巨无霸”——AI芯片Ascend 910,正式商用发布,与之配套的新一代AI开源计算框架MindSpore也同时亮相。


640?wx_fmt=jpeg

张亚勤、刘慈欣、周鸿祎、王飞跃、约翰.翰兹联合推荐

这是一部力图破解21世纪前沿科技大爆发背后的规律与秘密,深度解读数十亿群体智能与数百亿机器智能如何经过50年形成互联网大脑模型,详细阐述互联网大脑为代表的超级智能如何深刻影响人类社会、产业与科技未来的最新著作。

《崛起的超级智能;互联网大脑如何影响科技未来》2019年7月中信出版社出版。刘锋著。了解详情请点击:【新书】崛起的超级智能:互联网大脑如何影响科技未来

未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/490518.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记忆化搜索 codevs 2241 排序二叉树

codevs 2241 排序二叉树 ★ 输入文件:bstree.in 输出文件:bstree.out 简单对比时间限制:1 s 内存限制:128 MB 【问题描述】 一个边长为n的正三角形可以被划分成若干个小的边长为1的正三角形,称为单位三角形。 …

窥探当今AI芯片中的类脑模型

来源:脑人言撰文丨邓 磊(加州大学-圣塔芭芭拉分校UCSB 博士后)责编丨高茂森 Soma排版丨夏獭科学研究的动机,并非仅仅是出于能看到多酷炫的应用,而是因为我们尚有诸多未知世界需要探寻,这是一切应用的前提。…

mysql调优_MYSQL企业常用架构与调优经验分享

一、选择Percona Server、MariaDB还是MYSQL1、Mysql三种存储引擎MySQL提供了两种存储引擎:MyISAM和 InnoDB,MySQL4和5使用默认的MyISAM存储引擎。从MYSQL5.5开始,MySQL已将默认存储引擎从MyISAM更改为InnoDB。MyISAM没有提供事务支持&#xf…

SpringMVC学习--参数绑定

spring参数绑定过程 从客户端请求key/value数据,经过参数绑定,将key/value数据绑定到controller方法的形参上。springmvc中,接收页面提交的数据是通过方法形参来接收。而不是在controller类定义成员变更接收。 默认支持的类型直接在controll…

现代物理学7大经典问题,你能理解几个?或许一个都不能理解

来源:搜狐新闻算法与数学之美相对论相对论是物理学中两大著名理论之一,两者都是阿尔伯特爱因斯坦提出的。1905年爱因斯坦出版了狭义相对论,后者确定最终宇宙速度极限:光速。并称时间因某物体移动的速度而实现加速或者减慢。1916年…

unity asset store下载不了_Unity手游实战:从0开始SLG——资源管理系统-基础篇(三)AssetBundle原理...

先用一句话介绍一下AssetBundle吧。AssetBundle系统提供了一种压缩文件的格式,可以把1到多个文件进行索引和序列化。Unity项目在交付安装之后,会通过AssetBundle对不包含代码的资源进行更新。这就允许开发人员先提交一个小的应用程序包,将运行…

matlab中GUIDE的UItable居中方法

需要借助JAVA,代码示意如下: import javax.swing.*; %导入javax.swing类 table findjobj(handles.uitable1); %需要findjobj.m文件,matlab中是没有的 table1 get(table,Viewport); jtable get(table1,View); renderer jtable.getCellRe…

MySQL Workbench运行脚本

首先在SCHEMAS区域右击,选择创建“create schema” 填入自定义名称,点击“apply” 在弹出来的框中点击“apply”,再在弹出来的框中点击finish 点击菜单栏“file”——“run SQL script”,选择sql文件,在下面选择刚刚创…

自动驾驶事故权威揭秘:算法和软件错误太多

本文来源:AutoR智驾自动驾驶发展就好比是登月计划。从传感器到人工智能,经典的电子供应链已经形成了一个协作矩阵,致力于实现自动驾驶车辆的安全性。为此,还需进行大量硬件和软件开发工作,以确保驾驶员、乘客和行人受到…

MySQL新建数据库和表

首先在MySQL Workbench上(如果没有的话建议安装一个)新建一个数据库 首先在SCHEMAS区域右击,选择创建“create schema” 填入自定义名称,点击“apply”,这里我命名为crashcourse 在弹出来的框中点击“apply”&#xf…

【微读书】《人工智能颠覆未来战争》连载之一:机器战胜人类?——AlphaGo人机对战的启示...

来源:中国指挥与控制学会编者按目前,人工智能技术正加速向军事领域渗透,军事智能化既面临千载难逢的发展机遇,也面临前所未有的挑战。如何加强风险研究和预判,防范重大风险,已经客观而现实地摆在我们面前。…

《崛起的超级智能》入选中国好书2019年7月榜单

来源:中国好书中国好书评选活动由中国图书评论学会主办,旨在通过好书推介传递正能量,推动和引导全民阅读。中国图书评论学会是由中宣部出版局创办、国家新闻出版广电总局主管的国家一级学会。自2014年举办首届年度好书盛典至今,“…

.net函数查询_SQL查询语句总是先执行SELECT?你们都错了!

很多 SQL 查询都是以 SELECT 开始的。不过,最近我跟别人解释什么是窗口函数,我在网上搜索”是否可以对窗口函数返回的结果进行过滤“这个问题,得出的结论是”窗口函数必须在 WHERE 和 GROUP BY 之后,所以不能”。于是我又想到了另…

大数据世界要熟悉的5门语言

大数据世界要熟悉的5门语言课程 Python OpenStack Java Hadoop Scala Spark Shell Linux SQL DB JS 华丽分割线 转载于:https://www.cnblogs.com/TendToBigData/p/10501438.html

知识图谱嵌入(KGE):方法和应用的综述

来源:专知导读本文主要是参考《Knowledge Graph Embedding: A Survey of Approaches and Applications》和刘知远的《知识表示学习的研究与进展》做的总结,主要介绍了最近关于知识图谱嵌入所涉及到的研究方法,主要从融合事实信息、融合附加信…

支持向量机matlab代码程序_支持向量机(SVM)小结

什么是SVM?SVM(全称:Support Vector Machine)支持向量机,这只是它的名称,向量就是和我们以前学过的向量一样(下文有介绍),它可以有效解决分类问题(我们只讨论分类问题),何为分类呢?顾名思义&…

俄罗斯拟明年在36万台华为平板安装“极光”操作系统

来源:环球时报据路透社报道,有消息人士表示,俄罗斯政府已经开始与华为公司就36万台平板电脑安装俄罗斯自己研发的操作系统(OS)"极光"(Aurora,也称奥罗拉)的一项计划展开谈判。路透社表示&#xf…

mysql 命令 kill_MySQL之死锁检测

最近,笔者在查看线上服务日志时,发现spring大量异常,异常中都显示了同样的报错信息,信息如下。Deadlock found when trying to get lock; try restarting transaction调研之后发现是mysql发生了死锁,这也是笔者第一次遇…

干货丨清华大学天机芯团队赵明国:《基于自然动力学的机器人控制——无人驾驶自行车及被动行走》...

来源: 机器人大讲堂8月1日,清华大学依托精密仪器系的类脑计算研究中心施路平教授团队在《自然》(Nature)杂志上发表了一篇封面文章,发布了一项最新研究成果——类脑计算芯片“天机芯”。同时,搭载天机芯&am…

判断随机抽取代码_问卷调查:定量研究中的抽样问题(2)- 非随机抽样介绍

所谓抽样,就是从我们需要研究的所有目标群体中,按照某种原则,挑选出一定量的样本,用他们的研究结果,代表目标群体整体结果。既然,抽样的目的是通过对一部分被选择的样本来推断总体,就要求我们抽…