为了改善电脑系统在资料处理上的效能,科学家将主意打到了人类的神经网络上。这个念头并不是神来一笔,而是观察到人类的脑神经在处理视觉、听觉和语言方面,有非常卓越的表现。
 
这种参考人类神经元结构所产生的资料处理程序,被称为「类神经网络」或者「人工神经网络(Artificial Neural Network,ANN)」,它就是一种模仿生物神经网络结构和功能的数学模型的演算法。
 
ANN 技术其实已问世超过 50 年,且不断的进行改良和突破,例如卷积类神经网络(Convolutional Neural Networks,CNN)就是相当著名的一支,由于它的结构简单易用,因此发展迅速,并被广泛的运用在大型图像的处理上。
 
到了近几年,随着芯片技术的突破和人工智能应用的崛起,让神经网络技术又进一步受到重视。目前主要的推力则是机器学习(Machine Learning),它是人工智能的基础所在,而机器学习的核心是基于神经网络的多层资料处理技术的「深度神经网络(Deep Neural Network)」,也因此,想办法来提升神经网络资料处理的效能,就成了目前各家终端产品设计的突破点。
 
而眼前,最火热的战场,就是智能型手机。
 
神经网络智能手机的新卖点
神经网络运算有多项优势,包含平行处理、内容定址记忆、容错特性、能处理一般演算法难以胜任的问题等,因此很适合运用在经常需要处理非常复杂的任务的应用上,而手机就是一个这样的产品。
 
智能手机是当代人们每天都要随身的电子装置,它不仅时时要能连线上网,而且经常会同时开启多个 App 软件,影像和语音的处理更是家常便饭。而随着人工智能功能的导入,更让手机功能的优化与执行变得复杂,此时,神经网络技术就成了最好的解决方案之一。
 
由于神经网络技术具有自我学习的能力,能学习使用者的操作特性,并设定出一个最佳的输入和输出的路径。因此一旦学习完成之后,后续的各项操作皆能相对以往的软件程序快上不少,对于使用者体验有大幅的改善。
 
目前主要的手机处理芯片供应商也已经在其解决方案中,加入了神经网络处理器的技术。
 
苹果 Bionic 处理器加入神经网络引擎
苹果的 iPhone 就是最著名的产品。苹果在 2017 年的 iPhone A11 Bionic 处理器上首度加入了神经网络处理引擎(Neural Engine)的技术。根据苹果的资料,这个神经网络引擎是一个双核的设计,每秒运算次数最高可达 6000 亿次,能大幅提升机器学习的效能。
 
图一: 苹果最新的 A12 处理器,神经网络引擎的核心数已达 8 个。(source: Apple)
 
而实际的使用情形也证实苹果所言不假,神经网络处理技术的的确确让机器学习有了脱胎换骨的表现。也因此,苹果最新一代的处理器 A12 更进一步增强了神经网络处理单元的性能,更正确的说,是增加了 4 倍。
 
在硬件设计上,苹果的神经网络引擎是透过一块 FPGA 区域来达成,因此在机器学习性能上有很强的自定义能力。而在最新使用 7 纳米制程的 A12 处理器上,神经网络引擎的核心数已达 8 个(A11 是双核),且每秒可进行 5 万亿次运算(约 8.33 倍),至于执行 Core ML 的速度则是上一代的 9 倍,但功耗却只有前代的十分之一。
 
图二: 各家芯片商的神经网络运算技术比较。
 
也因为如此,采用 A12 处理器的 iPhone 学习能力惊人,除了能快速甚至即时的运行各项应用程式外,更能够迅速的辨认模式并做出预测,且不断的进行改良,堪称是当代最聪明的智能型手机。也由于新的处理器,iPhone 在智能语音和影像辨识的能力有了绝伦的表现。
 
高通骁龙 NPE 技术以 DSP 突破运算性能
神经网络技术的优势明显,各家手机处理器芯片商当然也就陆续投入相关的技术研发,高通(Qualcomm)就是其中一个。旗下的骁龙(Snapdragon)处理器就已经搭载了神经网络处理引擎(Neural Processing Engine; NPE)技术。
 
图三: 高通 Hexagon DSP 神经网络执行性能,相比在 CPU 上执行,能快出 5 至 8 倍。(source: 高通)
 
根据高通的资料,骁龙的 NPE 是一种整合了多种软硬件的元件,用来加速终端装置上(on-device)的 AI 功能,以改善使用者的体验,但原则上,高通的 NPE 是以软件为中心(software-centric)的解决方案。
 
而在软件架构上,高通的 NPE 是属于开放的架构,能支援多种神经网络的框架,包含 Tensorflow、Caffe、Caffe2 和 ONNX,此外,高通也开发了自有的 Hexagon Neural Network(NN)函式库,让开发者可以让其 AI 演算法在骁龙处理器里的 Hexagon DSP 上执行。
 
而在最新一代的骁龙处理器 855 上,NPE 已经发展到了第四代,其效能已较第三代有 3 倍的成长,可对影像、影音、AR/VR 与游戏等智能功能进一步优化。只不过高通并没有具体的说明其 NPE 的技术细节,硬件的架构也不得而知,也没有解释为何是在 DSP 上运行。但依据高通自己的说法,高通的 Hexagon DSP 的神经网络执行性能,相比在 CPU 上执行,能快出 5 至 8 倍。
 
联发科曦力处理器加入 NeuroPilot 与 APU 技术
台湾的联发科技(MediaTek)当然也看到了人工智能在行动装置上的应用商机,自 2018 年初起,就推出了 NeuroPilot 的技术,并将之首次运用在其手机处理平台曦力 P60 上。
 
根据联发科的说法,NeuroPilot 是基于他们的核心监控与调节技术 CorePilot 的进阶版。CorePilot 在 2014 年就已经被开发出来,其主要作用就是动态监控手机多核处理器的每个核心的工作负载量,并加调节和分配,以提高手机运行的性能并降低电耗。
 
到了人工智能时代,联发科也顺势推出了 APU 技术,并运用在 CorePilot 所积累的异构运算经验,推出了 NeuroPilot 平台,作为 CPU、GPU 和 APU 间的运作协调,以提升整体的 AI 运算效能。
 
NeuroPilot 平台约可分为三个层级,顶层是各种 APP 应用程式;中间层为程序编写和异构运算(软件层);最底层是各种硬件处理器。而其中最关键的就是中间的软件层。
 
联发科指出,中间层主要由演算法软件构成,包括各种软件的 API、神经网络运行(NN Runtime)、异构运行(Heterogeneous Runtime)。简单来说,就是所谓的人工智能的运行架构(AI framewrok),以及神经网络的演算法。
 
而联发科的 NeuroPilot 也是属于开放式的架构,支援目前市面上主流的 AI framework,包含 TensorFlow、TF Lite、Caffe、Caffe2、Amazon MXNet、Sony NNabla 和 ONNX 等。联发科也提供 NeuroPilot SDK,其包含 Google 神经网络 API(Android NN API)和联发科 NeuroPilot 扩充元件。
 
图四: NeuroPilot 平台可分为三个层级,中间层为程序编写和异构运算,是最关键的一层。(source: 联发科)
 
而在硬件方面,除了原本的 CPU、GPU 外,则是增加了新的人工智能处理器 APU,用来提高人工智能应用和神经网络处理的校能。在最新一款的旗舰处理器 P90 上,联发科的 APU 已升级至 2.0 版本,比前一代快上四倍,算力达 1127GMACs(电脑定点处理能力的量)。
 
中国海思携手寒武纪主攻 NPU 技术
中国华为旗下的海思半导体(HiSilicon),是手机处理器市场一家快速崛起的 IC 设计公司,目前屡屡在技术上有领先业界表现。该公司在 2017 年九月就率先发表了一款采用 10 纳米制程的智能手机处理器-麒麟(Kirin)970,该处理器是产界首款具有人工智能神经处理元件(NPU)的手机处理芯片。
 
海思的 NPU 同样是属于 AI 应用程式的加速处理单元,也就是针对神经网络演算法的处理,特别专注于卷积神经网络(CNN)的应用。根据海思的说法,在相簿模式中,Kirin 970 的 NPU 每秒能处理 2,000 张照片的处理;若没有 NPU 介入,单以处理器运算只能处理约 100 张而已。
 
图五: 最新一代的 Kirin 980 处理器,其 NPU 核心数已增加至两个。(source: 海思)
 
据了解,Kirin 970 的 NPU,是由中国的芯片 IP 商寒武纪(Cambri0con)所提供,并由海思与寒武纪共同合作进行优化的一个模组。
 
而最新一代的 Kirin 980 处理器,其 NPU 核心数已增加至两个。根据华为的资料,双核 NPU 的性能可达到每分钟处理 4,500 张图像,较前一代提升了 120%的辨识速度。可以快速执行人脸识别,物体侦测与辨识,物体识别,影像分割和智能辨识等人工智能的应用。
 
AI 需求成形处理器 IP 商也加入战场
由于神经网络的性能卓越,因此除了 IC 设计商积极投入研发外,处理器 IP 供应商自然也开始跨入此一领域,包含前段所提到的中国寒武纪之外,以色列的 IP 商 CEVA 也开始提供具备神经网络技术的 IP 方案。
 
CEVA 近期所发表的 WhisPro 就是一款基于神经网络技术的智能语音辨识方案,它采用了可扩展递回神经网络(Recurrent Neural Network)技术,可同时辨识多个触发片语,能运用在智能手机、智能音箱、蓝牙耳机和其他语音设备中。
 
然而有趣的是,虽然神经处器技术的势头已经窜起,但处理器 IP 的龙头 Arm 却是动作缓慢,到目前为止,仍未提供任何的神经网络解决方案。虽然 Arm 也看好人工智能的应用市场,但就是迟迟未把具体的产品曝光。
 
而依据 Arm 的时程,最快今年第一季才会推出具备人工智能功能的 AI 处理器-Arm ML CPU。根据 Arm 的说明,Arm ML 处理器也会是一个系列产品,提供多种规格给不同的应用产品,性能范围是 1 至 4 TOP/s,可满足不同的产品需求,包含智能手机、智能手机、智能家居和汽车等。
 
Arm 指出,其 ML 处理器主要有三个部分,一个是 MAC 引擎,主要是执行卷积云神经网络的运算;第二是可程式的运算引擎,可以支援未来新的运算元和网络;第三是资料管理,用来降低 AI 运算的功耗。
 
虽然推出的时间晚了,但 Arm 仍是自信满满,由于其处理器的生态系十分庞大且完整,要后来居上也可能是易如反掌。
 
「我们已经看到机器学习技术正在成熟,市场需求也正在不断增加,我们认为现在是进入市场的最佳时机。」Arm 机器学习副总裁 Dennis Laudick 说。