华为麒麟970的NPU(神经网络处理器)到底是什么鬼

电子说

1.3w人已加入

描述

  所谓的HiAI移动计算架构,主要有四部分组成,CPU、GPU、ISP/DSP和NPU。作为全球第一枚集成专用NPU的移动芯片,华为重点介绍NPU神经网络单元,声称在HiAI架构下AI性能密度大幅优于CPU和GPU,能够用更少的能耗更快的完成更多任务,大幅提升芯片的运算效率。

  AI芯片能够以人类的思考方式来理解人类诉求,具备高处理速度,高密度和高能效比,而麒麟970只是个开始,并超越竞争对手。

  CPU部分,麒麟970与上一代麒麟960一样为八核心设计,由4个主频为2.4GHz的Cortex-A73大内核与4个主频1.8GHz的Cortex-A53内核组成,性能上无变化,毕竟同样架构频率,传闻所说的2.8GHz主频吊打骁龙835并没能实现,但跑分上追平骁龙835应该没问题,并且得益于10纳米工艺的进步能效提升20%。

  更具体来说,在16位浮点数(即FP16)时,麒麟970内置的NPU运算能力达到1.92 TFLOPs,在AI人工智能深度学习下,所有硬件能够协调芯片内部的各个组件及手机硬件,如ISP、DSP,保持处理某些特定任务时,提升速度并低功耗运作。例如有了NPU的加成,在图像识别任务上,对比Cortex-A73 CPU 性能提升25倍,能效提升50倍之多,拍摄1000张照片仅仅消耗4000mAh电池手机0.19%的电量,图像识别速度可达到约2000张/分钟。

  相比之下,三星S8使用CPU处理每分钟仅95张,苹果iPhone 7 Plus同时使用CPU和GPU,每分钟也仅能识别487张,华为完胜。

       简而言之,麒麟970有了NPU单元之后,至少在拍照和图像处理上,比之前单纯依赖CPU和GPU要快得多。而对于竞争对手,麒麟970最直接的就是保持高效率,并且更加的省电。未来AI独立单元内置于芯片一定是趋势,苹果也在做,只是华为抢先开了个头.
 

机器学习

日前,美国知名科技媒体Android Authority主笔Gary Sims对麒麟970进行了深度解读,讲述了麒麟970的人工智能NPU的工作原理,对芯片设计的深远影响,以及为用户使用场景带来的跨越式体验。

“神经网络(Neural Networks)”和“机器学习(Machine Learning)”是近两年移动处理器领域最流行的两个词。华为麒麟970的NPU(神经网络处理器)、Google Pixel 2内置的IPU(图像处理器),以及苹果A11 Bionic,都是实现上述功能特性的专用硬件解决方案。

既然华为、Google和苹果都在都在探索神经引擎处理器,你可能以为机器学习需要特定的硬件。其实不然,神经网络可以在任何形式的处理器上运行,从微处理器到CPU、GPU甚至是DSP。

所以,问题的根本不在于处理器是否能利用神经神经网络和机器学习,而在于它到底有多快,能提升多少效率。

如果时间倒退回30年前,当年的桌面处理器是没有的FPU(浮点运算单元)芯片的,在486之后,Intel把FPU集成到了CPU内部,浮点运算性能大幅提升。而在很多实例计算中,全都是浮点数运算。这样以来,有FPU和没有FPU,运算效率天差之别。

而如今,移动处理器中的NPU也是类似的情况。你可能觉得我们并不需要NPU,就能使用神经网络,但实时情况是,华为正在用事实案例证明,当遇到实时处理运算的情况,NPU是必须的。

简单来说,“神经网络”可以理解为“机器学习”中“教”一台机器区别分辨不同“事物”的一系列技术中的一种。上述“事物”可以是一张照片、一个单词甚至是一种动物的声音,诸如此类。

“神经网络”由很多“神经元”组成,这些“神经元”可以接收输入信号,然后通过网络再向外传播信号,这取决于输入的强度和自身阈值。

举个简单的例子,神经网络正在监测一组灯其中一个的开关,但在网络中,这些灯的状态只能0或者1来表达,但不同的灯可能会出现一样的开关状态。

那么问题来了,神经网络怎么知道是该输出0还是该输出1呢?没有规则或者程序能告诉神经网络,输出我们想得到的逻辑答案。

唯一的方面就是对神经网络进行训练。大量的“样本”和预期结果一起被注入到神经网络中,各种各样的阈值反复微调,不断产生接近预期的结果。这个阶段可以称为“训练阶段”。

这听起来很简单,但实际上相当复杂,尤其是遇到语言、图像这种复杂样本的时候。一旦训练达成,神经网络会自动学会输出预期结果,即便输入的“样本”之前从来没有见过。

神经网络训练成功后,本质上就成了一种静态神经网络模型,它就能应用在数以百万计的设备上用于推理,在CPU、GPU甚至是DSP上运行。这个阶段可以称为“推理阶段”。

Gary Sims指出,“推理阶段”的难度要低于“训练阶段”,而这正是NPU发挥专长的地方。

所以,华为麒麟970最大的不同是,专门设置了NPU硬件芯片,它在处理静态神经网络模型方面有得天独厚的优势,不仅更快,还更有效率。事实上,NPU甚至能以17-33fps实时处理智能手机摄像头拍摄的“直播”视频。

从架构来看,麒麟970像是一台“发电站”,内置8颗CPU和12颗GPU,另有移动网络连接以及多媒体处理模块,晶体管规模达到了史无前例的55亿颗。据华为透露,NPU大约内含1.5亿晶体管,不到整个芯片的3%。

这对于一款移动处理器来说尤为重要。首先,NPU的加入不会明显增大处理器的尺寸、成本,这就意味着,NPU不仅能放入旗舰手机,一些中端手机也能适用。在未来5年,NPU将对Soc设计产生深远影响。

其次是功耗和效率。NPU并非“电老虎”会牺牲手机的续航,相反它能高效的帮CPU承担大量推理运算的任务,反而能节省不少功耗。

在最后的总结中,Gary Sims表示,如果华为能吸引更多第三方App开发者使用NPU,其前景不可限量。想象一下,当App在使用图像、声音、语音识别的时候,全部都能本地处理,不再需要网络连接或者云服务,App的使用体验将大大提升和加强。

试想,一名游客直接通过相机App就能认出当地地标,App能智能识别你的食物并给出相应的卡路里熟知、提醒食物过敏......

你认为,NPU会像当年FPU之于CPU一样,成为移动Soc芯片的标准吗?不妨在评论中发表自己的看法。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分