科技行业的巨头们看似已经完全接受了人工智能革命. 苹果, 高通和华为已经制造了一种移动芯片, 而这些芯片的设计目的是提供机器学习一个更好的平台, 而不同公司设计这种芯片都采用了略微不同的方式. 华为在今年的IFA上发布了Kirin 970, 他们称其为第一款带有专用神经单元处理器(NPU)的芯片组. 然后, 苹果发布了A11仿生智能芯片, 该芯片为iPhone8, 8Plus和x提供引擎动力. A11仿生芯片的特点是, 它的神经引擎处理器是专门为机器学习而设计的.
上周, 高通发布了骁龙845, 该芯片能够将人工智能任务发送至最合适处理器的核心系统. 这三家公司的设计方法并没有太大的区别——最终归结为每种芯片向开发者提供的访问权限, 以及每一种设置所消耗的电量.
在我们讨论这个问题之前, 我们先来弄清楚一个人工智能芯片跟现有的cpu有怎样的不同. 在业界, 你会经常听到叫 '异构计算' 的有关人工智能的术语. 它指的是使用多种处理器的系统, 并且每一种处理器都有专门的功能, 以获得更高的性能及节省能源. 这个术语并不新鲜, 而且许多现有的芯片组都使用了它——例如这三款新产品在不同程度上采用了这个概念.
过去三年来, 智能手机的cpu使用了ARM的big.LITTLE架构, 它能够将相对较慢的节能核心与速度更快, 能耗更低的核心结合起来. 我们的主要目标是让这款芯片尽可能少占用电能, 以获得更好的电池续航时间. 首批采用这种架构的手机包括三星Galaxy S4, 它只入了其公司自主生产的Exynos5芯片, 以及华为的Mate8和荣誉6.
今年的 '人工智能芯片' 让这一概念更进一步, 它通过添加一个新的专用组件来执行机器学习任务, 或者可以使用其他低功耗内核来执行机器学习任务. 例如, 骁龙845可以利用它的数字信号处理器(DSP)来处理需要大量重复计算的长时间运行的任务, 比如在一段长对话里通过分析找到一个用户需要的热词. 高通的产品管理总监加里布洛特曼告诉Engadget, 在另一方面, 像图像识别这样的需求可以通过GPU更好地管理, 布罗特曼专门负责为骁龙智能平台开发人工智能和机器学习技术.
与此同时, 苹果的A11仿生学应用在其GPU上添加了一个神经引擎, 以加速人脸识别, 动话表情反馈和一些第三方应用的使用. 这意味着, 当你在iPhoneX上启动这些进程时, A11会打开神经引擎进行计算来验证用户的身份, 或者把你的面部表情倒入到 '会说话的便便' 这款应用中.
在Kirin 970芯片中, NPU会处理一些任务, 比如扫描和利用微软翻译来翻译图片里的文字. 这是迄今为止唯一针对这款芯片进行优化的第三方应用. 华为表示, 其 'HiAI' 异构计算结构将其芯片组的大部分组件的性能最大化, 因此它可能会将人工智能任务分配给更多, 而不仅仅是NPU.
抛开这些差异不说, 这种新的架构意味着过去只能在云端处理机器学习计算, 现在可以在设备本体上更高效地运行. 通过使用非CPU的部分来运行人工智能任务, 用户的手机可以在同一时间处理更多的事情, 这样你在等待应用为你翻译或例如寻找宠物狗的图片时就不会遇到延迟的烦恼.
此外, 在手机上运行这些程序不用将用户的使用数据发送到云端, 这对用户隐私也有了更强的保护, 因为这样可以减少黑客获取数据的机会.
这些人工智能芯片的另一大优势是节约能源. 因为有些工作是重复的, 我们手机电池消耗量需要针对这些重复的进程进行更合理地分配. GPU往往会吸收更多的能量, 所以如果取而代之的是更节能的DSP, 并且它可以实现与GPU类似的效果, 那么最好是选择后者.
需要明确的是, 在决定执行某些任务时, 芯片本身并不决定使用哪个核心系统作为驱动. '在今天, 开发者们和oem厂商都想要运行人工智能芯片, ' Brotman说. 程序员可以使用像Google的TensorFlow这样的支持数据库(或者更确切地说是它的Lite移动版本)来选择运行他们的模型的核心. 高通, 华为和苹果都采用了TensorFlow Lite和Facebook的Caffe2等最受欢迎的选项作为他们设计的支持程序. 高通也支持新的开放神经网络交换(ONNX)系统, 而苹果则通过其核心的ML框架为更多机器学习模式添加了兼容性.
到目前为止, 这些芯片都没有在现实世界中带来明显的影响. 芯片制造商们将会吹捧他们自己的测试结果和基准, 但这些测试结果直到人工智能程序成为我们日常生活中重要的一部分之前都毫无意义. 因为我们正处于让设备进行机器学习的发展早期阶段, 并且使用新硬件的开发者少之又少.
不过现在很明显的是, 竞争已经开始了, 竞争者们着重研究如何让机器学习相关的任务在用户设备上运行地更快, 更省电. 我们只需要等待一段时间, 就能看到从传统芯片到人工智能芯片的转变带给我们生活上的帮助.