我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 1294|回复: 1

[零组件/半导体] 华为麒麟970芯片神经处理单元是个什么鬼?听专家来解释

[复制链接]
  • TA的每日心情
    无聊
    1 小时前
  • 签到天数: 69 天

    [LV.6]常住居民II

    1万

    主题

    8194

    回帖

    5万

    积分

    三级逆天

    积分
    53630

    终身成就奖特殊贡献奖原创先锋奖金点子奖优秀斑竹奖宣传大使奖

    发表于 2017-12-28 19:36:46 | 显示全部楼层 |阅读模式
    [paragraph]
    神经网络和机器学习是今年移动处理器方面两个最重要的流行词。华为海思麒麟970、谷歌Pixel 2手机的成像处理单元和苹果A11仿生,都配置有专门的神经网络/机器学习硬件解决方案。
    由于华为、谷歌和苹果都在宣扬基于硬件的神经处理器或引擎,外界会认为机器学习要求专门的硬件,实际上并非如此。神经网络能运行在任何类型的处理器上,例如微处理器、CPU(中央处理器)、GPU(图形处理器)和数字信号处理器。能运行矩阵乘法应用的处理器,就能运行某种类型的神经网络。问题不是处理器能否运行神经网络和机器学习,而是它们运行的速度和效率。
    我们来回忆一下台式机处理器没有集成浮点单元的时代。英特尔386和486CPU均有两种版本,一个版本集成有浮点单元,一个版本没有。这里的浮点数指的是“实数”,包括有理数、分数和所有无理数。许多类型的计算要求使用实数。计算比例、画圆、货币转换或处理3D图形,这些任务都会用到实数。当时,如果PCCPU没有集成浮点单元,相关的计算就需要由软件来完成。但与硬件浮点单元相比,软件执行实数运算的速度要慢得多。
    30年后的今天,所有通用CPU都集成有硬件浮点单元,甚至一些微处理器(例如Cortex-M4和M7内核)。在神经处理单元方面,我们面临相似的情况。不需要神经处理单元就能运行神经网络,甚至能高效地运行神经网络。但华为等公司提出,实时运行人工智能应用需要神经处理单元。
    训练和推理之间的差别
    神经网络是机器学习中用来“教授”计算机区别不同事务的数种不同技术之一。这里的“事物”可以是照片、语音词汇、动物的声音等。神经网络由一系列“神经元”组成,“神经元”能接收输入信号,然后根据输入信号强度及其阈值在网络中进一步传递信号。
    一个简单的例子是判断数个灯中的一个是否开启的神经网络。每个灯的状态被输入到神经网络中,其结果要么是0(所有灯都没有开启)或1(至少有1个灯处于开启状态)。当然,没有神经网络这一问题也能得到解决,但这一问题表明了一个非常简单的使用场景。这里的问题是,神经网络如何“知道”何时输出为0、何时输出为1?没有规则或程序告诉神经网络我们尝试实现的逻辑结果。


    Android Authority表示,使神经网络正确运转的途径是对它进行训练。一系列输入和预期的结果被注入网络,然后对多个阈值进行略微调整,提高出现期望结果的可能性。针对所有输入重复这一过程。一旦训练完成,即使输入是以前没有出现过的,网络也会生成恰当的输出。这听起来简单,但实际上却可能非常复杂,尤其是对于语音或图像等复杂的输入。
    一旦训练完成,网络基本上就由一系列节点、连接和这些节点的阈值组成。在网络训练期间,其状态是动态的。一旦训练完成,其状态就变成静态的了,可以部署在数以百万计的设备中,并用来进行推理。
    推理阶段比训练阶段容易,这也是神经处理单元的用武之地。
    快速和高效地推理
    一旦完成对神经网络的训练,使用它进行分类和识别就只是通过网络运行输入并使用输出。“运行”部分就是矩阵乘法和点积运算。由于这些只是数学运算,可以在CPU、GPU或数字信号处理器上运行。华为的工作就是设计一个能加载静态神经网络模型的引擎,并利用它对输入进行运算。由于神经处理单元属于硬件,因此它能以高速、低能耗方式完成处理任务。事实上,神经处理单元能实时地处理智能手机相机拍摄的“直播”视频。
    神经处理单元
    麒麟970具有强大的处理能力,它集成有8个CPU内核和12个GPU内核,以及用于处理其他媒体和连接技术的电路。麒麟970集成有55亿个晶体管。神经处理单元(包括其SRAM)隐身其中,它有多大呢?据华为称,神经处理单元有约1.5亿个晶体管组成,不足整个芯片中晶体管数量的3%。
    两个原因使得其大小非常重要。首先,它没有大幅增加麒麟芯片整体尺寸(和成本),很显然,它也是会带来成本的,但与CPU和GPU不是一个级别,这意味着不仅旗舰手机可以配置集成有神经处理单元的片上系统,中档手机也行。未来5年,它可能会对片上系统的设计产生很大影响。
    其次,它节能。神经处理单元并非是电老虎,不会影响到电池续航时间。把推理过程由CPU转移到专用电路,是一种漂亮的硬件解决方案,有助于降低能耗。
    Android Authority称,神经处理单元尺寸小的原因之一是,它只完成推理部分,不完成训练部分。据华为称,在对新神经网络进行训练时需要用到GPU。
    结论
    如果华为向第三方开发者开放其神经处理单元,会带来无穷的可能性。想象一下,使用图像、声音和语音识别的应用,相关处理工作都能在本地完成,再也不需要互联网连接和云。一项旅游功能可以直接在相机应用中识别出本地的地标性建筑,应用可以识别出食物,向用户提供食物包含的卡路里信息,或提醒用户注意过敏。
    也许有一天,就像浮点单元成为CPU的标配那样,神经处理单元也会成为片上系统标配。
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    1138

    回帖

    0

    积分

    二级逆天

    积分
    0

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    QQ
    发表于 2017-12-28 20:33:58 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    论坛开启做任务可以
    额外奖励金币快速赚
    积分升级了


    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

    平平安安
    TOP
    快速回复 返回顶部 返回列表