手机结构件-手机报
苹果神经引擎芯片A11 Bionic有什么用?详细解释一下
2017-09-18
分类:手机结构件
苹果神经引擎芯片A11 Bionic有什么用?详细解释一下
 
   苹果最近举行了发布会,推出iPhone X和iPhone 8,同时苹果还推出A11 Bionic芯片,这是一个6核CPU,它是苹果的定制GPU,苹果管它叫作“Neural Engine”(神经引擎)。对于这个新硬件,苹果没有谈太多,只是说:
 
  “新A11 Bionic神经引擎采用多核设计,实时处理速度最高每秒可以达到6000亿次。A11 Bionic神经引擎主要是面向特定机器学习算法、Face ID、Animoji及其它一些功能设计的。”
 
  上面所说的话基本都是宣传资料。所谓的每秒运算6000亿次对你来说没有任何意义。当然,这个数字应该是真实的,但是它并不能告诉我们底层架构是怎样的、真实性能又是怎样的,因为我们不知道苹果所谓的“运行”到底是什么意思。当我们谈论GPU性能,会用TFLOPs评估,例如,厂商会提供GPU在理想环境下执行浮点运算的速度。一般来说,执行特定任务时,GPU的表现与理论数据有差距,就苹果芯片来说应该也是一样的。
 
  到底苹果硬件的具体规格如何?我们无法确切知道,尽管如此,我们还是可以推断一下。
 
  什么是机器学习
 
  机器学习是AI技术的分支,它的目标是创建算法,让算法通过数据自动学习。机器学习的种类很多,其中有两种尤其引人关注,一种是监督式学习,一种是无监督学习。
 
  如果是监督式学习,处理的数据已经贴上标签,分了类。例如,如果你拥有某个城市的数据库,它会告诉你公寓的租赁情况,还有每个公寓占地面积是多少。如果你将这些数据放进算法,用于监督式学习,它会在占地面积与租赁情况之间构建图表,将二者联系起来,你给它一个面积,它可以预测相对应的租赁情况,不需要再写一个特定程序执行相同的任务。你可能会向模型下命令,让它预测1000平方英尺的公寓租金是多少,然后查看1000平方英尺的公寓实际租金是多少,用查到的数据对预测进行检查。输入模型的数据越多,模型越出色,预测的结果越精准。
 
  如果是无监督学习,输给算法训练的数据没有贴标签。在监督式学习中,你知道自己想在面积与月租金之间建立联系。如果是非监督式学习,你不知道每个数值与什么有关。此时算法会在数据内寻找关系。
 
  让我们举一个例子。假设你有一个更大的数据库,不只包含平方面积和公寓租赁数据,还有其它数据。比如本地房产的估价数据、犯罪率数据、人口统计数据、学校质量数据、月租金数据、信用评估数据。所有这些因素都会影响公寓的租赁价格,不过各因素的影响到底有多大呢?很难确定。此时,你可能想开发一套算法,将各因素的关系勾勒出来,将相似的结果归成一类,让关系突显出来。这就是所谓的“clustering”(分类归并),它是无监督学习算法的一种基本类型。
苹果神经引擎芯片A11 Bionic有什么用?详细解释一下
  上图告诉我们同一数据集分类归并之前和之后的形态。Clustering只是一种类型的无监督学习算法,没有任何一种算法是完美的,各有优缺点,有时算法找到的关系只是“背景噪音”,没有价值。Netflix、亚马逊用推荐引擎推荐产品和服务,它用的就是这种类型的算法。
 
  例如,如果你正在观看《星际迷航》,Netflix怎么知道你喜欢《神盾局特工》呢?因为Netflix拿到了观众的数据,知道它们有关系。如果你知道《星际迷航》影迷有90%看了漫威剧集,你就知道自己应该向他们推荐更多漫威影片。如果处理的数据点只有一个或者两个,要找到这种联系似乎很简单。如果有成百上千个数据点呢?那就麻烦了,此时机器学习能发挥作用。
 
  面部识别是深度学习、机器学习、AI的主要研究领域之一。正因如此,苹果才会说它的神经引擎用在Face ID上,或者说它是它是专门用来执行特定算法的。Animojis到底有什么作用?现在还不太清楚,让我们先放在一边不去理会。
 
  苹果曾说过,Face ID不只使用了传统摄像头。按照苹果的描述,新技术用3万个红外光点给面部绘图,这些图像存储起来,当你解锁设备,系统会将存储的图像与它看到的脸部图像对比。整个过程有大量数据需要处理,而且还不能消耗太多的电能。
 
  为什么开发特殊硬件
 
  有许多公司也在研究如何将AI、深度学习、机器学习技术应用于硬件。谷歌开发了Tensorflow、英特尔开发了MIC、Nvidia开发Volta、富士通也在搭建自己的解决方案,甚至连AMD都想将深度学习技术放进Radeon Instinct产品。这些硬件解决方案到底有何区别,我没法一一介绍。深度学习的推断方式、训练深度学习的模型是不同的,这些平台的能力也不一样,它们无法装进相同的硬件,解决相同的问题。
 
  并不是说它们没有相似的地方。大体来说,这些技术瞄准的都是硬件的特定功能,目标是缩短计算时间,降低计算能耗。与Nvidia Volta和AMD Radeon Instinct对比,苹果A11 Bionic的TDP(热设计功耗)肯定不同,降低每次运行的能耗至关重要。下面的图表告诉我们执行特定运算需要消耗多少电能。AMD与Nvidia积极倡导16位运算,为什么?看看下图就知道了,左边“Operation”一栏指的是执行的运算,“Energy”指的是能耗,“Relative Energy Cost”说的是执行运算需要的能耗;“Area”代表面积,“Relative Area Cost”指出执行相应运算硬件需要多少面积。
 
  要提高机器学习的运算性能与效率,将数据存放在本地也很关键。总线中传输的数据越少,能耗越低。为了构建一个“低能耗网络”,企业们花了很多精力研究。苹果之所以想为设备引进AI与机器学习技术也是出于这个原因,因为电能有限,提高效率至关重要,它还可以为AI、HPC留下发展空间。如果能够构建低能耗网络,未来可以轻松将CPU放进更大的设备,或者提高CPU的运行速度,但是不会产生更多的热量。
苹果神经引擎芯片A11 Bionic有什么用?详细解释一下
  要提高机器学习的运算性能与效率,将数据存放在本地也很关键。总线中传输的数据越少,能耗越低。目前我们看到的架构全都是高度并行的架构,它们同步计算大型数据集,目标不是提高频率、减少线程。
 
  为什么现在推出?
 
  在过去几年里,许多企业开始研究深度学习、机器学习、AI。当中一些用来执行特殊任务,比如让无人驾驶汽车行驶。为什么会出现这样的热潮呢?之前硅芯片的性能提升很快,2004年之后形势变了,之后很长一段时间增长变慢。从2004年到2011年,企业增加CPU内核、改进架构,进步的速度还算可以。但是到了2011年之后,高端CPU的单线程速度止步不前,前进速度像乌龟一样。AMD Ryzen做得不错,它在消费市场恢复了一点生机,但在纯粹的单线程性能上AMD还没有打败英特尔。
 
  如何让芯片继续前进呢?有三种趋势越来越明显。
 
  首先,要提高计算性能,只能开发新的软件模型,用新的特殊内核运行软件模型。曾几何时通用CPU飞速进步,如果这种进步无法重现,也许特殊、执行特定任务的内核可以让性能快速提升。
 
  其次,晶体管密度继续提高,能耗继续降低,芯片可以收集更多数据,以更快的速度处理数据,之前我们做不到,因为受到能耗的制约,也没有可以处理的硬件。
 
  再次,消费PC相当于处理“中心”,但是云数据中心对数据集中处理,正因如此,微软、谷歌等企业才会想着开发特殊硬件,执行特定处理任务。英特尔不会开发一款特殊CPU,为搜索引擎的后端处理做优化,制造这样的芯片没有市场。微软不同,早在2015年,它就用FPGAs技术提高必应的性能。
 
  苹果所走的道路与数据中心所走的路没有什么不同,不过走这条路的不只有苹果。高通之前也曾说过,骁龙835是一个平台,里面有许多计算功能开发者可以拿去用。未来苹果会如何强化该技术,我们拭目以待。虽然苹果已经远离外设业务,不代表它未来某一天不会回来,它可能会推出高频版A11 Bionic,装进附件,手机对TDP有要求,对外形有要求,附件不会有这样的要求。
分享到
下一篇:iPhone X/8拍照效果怎么样?详细解析新款iPhone摄像头