AI随“芯”落地

《电脑爱好者》2017年第20期 2018-04-08 13:33专题 标签:AI

曾经,AI都是需要依托于云(网络)才能展现其恐怖的效率。随着新一代移动处理器平台的诞生,AI也终于落地。这意味着,未来哪怕没有网络,搭载这些“AI芯脏”的移动设备也能变得足够聪明和可靠。

00

iPhone X让AI从云端落地

在上个章节中,我们重点介绍了AlphaGO和TPU。如果说谷歌的AI策略是生于云端,那苹果iPhone X就是找到了一种让AI落地的舞台。恰好刚才我们是以人脸识别结尾,本章我们就从苹果的面部ID(Face ID)重新上路。

人脸识别貌似自古有之

人脸解锁其实早在Android 4.0系统时就被谷歌引入到解锁方式之中(图1)。在那个连指纹都没有普及的时代,刷脸解锁的体验完爆了数字和图案密码。可惜,这个功能并没有被后续系统继承,直到iPhone X发布之后,后续上市的几款Android新品才重新开始引入并重点宣传人脸解锁这种“复古功能”。

01

安全系数不甚理想

实际上,以小米和vivo等重新引入人脸解锁功能的手机品牌代表,大都采用的都是旷视公司(Face++)提供的面部识别算法,和Android 4.0时期的算法相比,新技术在解锁时不会被机主的截屏或翻拍照片所欺骗。但即便如此,这种人脸解锁方案依旧不够完美,比如哪怕你闭眼时也能解锁,对光线的要求较高等。

没办法,为了降低硬件部署成本,现有的面部识别方案都是基于前置摄像头+系统层面的软件算法,只能抓取一个2D的面部信息,缺少景深等3D采样,注定它的安全系数没有数字、图案和指纹更高。因此,各手机品牌在激活人脸解锁功能前,系统都会弹出并非100%安全的警告信息(图2)。

02

02-1(和02拼一起)

iPhone X的不一般

iPhone X面部ID与其他智能手机所用的人脸解锁有着本质上的区别,它实现了对面部信息收集从2D到3D的进化。简单来说,iPhone X在采集面部信息时,前置摄像头基本就是摆设,而是依靠红外镜头、泛光感应元件和点阵投影器的协同配合(图3)。其中,点阵投影器会发射30000多个肉眼不可见的光点投影在你的脸部,绘制出三维建模的立体面谱,红外镜头则会读取这些点阵图案,并将信息发送到A11仿生芯片的安全隔离区进行匹配对照,而泛光感应则是确保识别面部不受环境光线的影响。

03

据苹果在发布会的介绍,原先的Touch ID在任意50000人中可能会有一人能用他的指纹解锁你的手机。而使用Face ID时,在1000000人中才会有一个人可能会被误判解锁成功,使用照片、头像模具来解锁的可能性基本为零。在完成首次对面部ID的录入后,随着时间的推移即使你戴了眼镜、长了胡子、戴了帽子面部ID仍然能继续认出你(图4),并不断根据新的数据来校准识别模型(有关FaceID更详细的原理解读,请参看本期PXX相关内容)顺页码时补充。

04

因此,苹果才敢让面部ID在解锁手机之外,还能用于购买应用以及支付 Apple Pay,足见苹果对其安全性的信心。

问题来了,从准确性来说,iPhone X的面部ID甚至远胜前文提到到百度寻人平台和MIUI的面孔相册。最关键的是,面部ID还实现了“秒解”。要知道,面部ID是可以用于支付的信息,不可能被上传到云端借助云服务器的强大运算能力进行识别,从采集、保存到对照匹配都需要在手机本地才能完成,这就对手机的计算性能提出了极为苛刻的要求。

A11仿生芯片是幕后功臣

iPhone X面部ID的优秀体验是建立在全新A11仿生处理器的基础之上(图5),而苹果之所以用“仿生”命名,就是因为A11内部除了CPU、GPU、DSP等单元外,还加入了特别定制的神经网络引擎(Neural Engine)。

05

这个神经网络引擎采用双核设计,每秒运算次数最高可达6000亿次,相当于0.6TFlops,是专门用于面部ID的ASIC模块,在加速处理人脸数据的同时还能减少对电量的消耗。。我们都知道,AI学习分为训练(Training)和推理/应用(Inference)两部分,其中训练部分所需的计算量比应用阶段的要大上许多。而A11最神奇的地方则是,用户面容适应(化妆、佩戴眼镜、长胡子、随着年龄增长而变容改变等)过程需要用到的深度学习训练也是在本地完成的!

苹果的软件工程高级副总裁Craig Federighi也曾表示,“我们不会在用户注册Face ID时收集数据,它会保留在你的设备上,不会被发送到云端进行训练。”换句话说,A11仿生处理器的神经网络引擎,就是“本地的云服务器”,完全不用担心个人3D面部信息有泄露的风险。

值得一提的是,A11仿生处理器支持苹果在今年WWDC开发者大会上推出的新机器学习API——Core ML(图6),它支持深度神经网络、循环神经网络、卷积神经网络、支持向量机、树集成、线性模型等,可用于人脸追踪、人脸检测、自然语言处理、文本检测等任务,Core ML本身虽不具备建模的能力,但可整合来自于外部机器学习工具所生成的模型。

06

总之,苹果通过iPhone X提出了更完整的AI框架。除了苹果自己开发的面部ID、Animoji和AR应用程序用到了A11的神经网络引擎以外,还允许开发者把训练完成的机器学习模型封装进APP之中。和云端AI不同的是,苹果的这种为终端(本地设备)赋能的方式,免去了与云端交互数据的延迟和限制,有利于保证终端设备的安全和使用体验。

麒麟970成就手机AI芯片

虽然iPhone X的表现令人惊艳,但它所搭载的A11仿生处理器却并非业内首款手机AI芯片,因为早在9月2日德国IFA大展上,华为就抢先一步推出了麒麟970,实现了为手机赋能的梦想(图7)。

07

来自寒武纪NPU的赋能

麒麟970主打创新的HiAI移动计算架构,由CPU、GPU、ISP/DSP和NPU四部分构成。而麒麟970之所以位列“首款手机AI芯片”的队首,就是因为它在SoC上集成了一颗来自寒武纪的“NPU”(Neural-Network Processing Unit,神经网络处理单元)(图8)。

08

NPU的作用和苹果A11仿生处理器的神经网络引擎相似,都是在手机SoC平台里加入的擅长神经网络计算的硬件模块,它能将和智能深度学习相关的工作接管过来,缓解CPU和GPU的压力并降低功耗,可用于将训练好的深度神经网络模型进行设备端(On Device)的快速推断。

根据华为官方的说法,在图像识别任务上NPU对比Cortex-A73 CPU 性能提升25倍,能效提升50倍之多,拍摄1000张照片仅仅消耗4000mAh电池手机0.19%的电量。如果和苹果A11的神经网络引擎对比,麒麟970运算能力(浮点运算)为1.92TFlops,而A11的性能约0.6TFlops,从理论性能上来堪麒麟970大约是A11的3倍左右。

以图像识别速度为例(相同网络模型下每分钟识别图像的数量),麒麟970可达到约2005张/分钟,而iPhone 8 Plus(搭载A11处理器)只有889张/分钟,iPhone 7 Plus(搭载A10处理器)为487张/分钟,Galaxy S8(搭载骁龙835)更是低至95张/分钟(图9)。

09

还需等待杀手级的应用

作为世界第一大通信设备商,华为充分发挥了自家优势,提出了“数据+终端+云+芯片”协同的打法(图10),要顺应了自身的华为云战略布。但是,由于搭载麒麟970的终端(如Mate 10、P11等手机)还未上市,NPU的智慧还没有太多发挥的舞台。

10

在和麒麟970相关的几次展示中,华为只强调了其在降噪、拍照美化等方面的优势,并没有像iPhone X一样已经成熟的面部ID等落地的AI应用。还好,华为表示将打造一个开放的AI环境(针对AR、计算机视觉、自然语言处理三个常见应用方向),开发者可以直接接入华为NPU功能,也可以通过第三方AI框架接入。

考虑到iPhone X面部识别的技术和成本限制,华为Mate 10等搭载麒麟970的新品应该会延续早前荣耀Magic“Magic Live智慧引擎”的发展策略(图11),只是借助NPU加深自然语义的理解,实现自我进化、智慧推荐等功能,并有机会脱离运算依靠本地计算加以实现。

11

图11 荣耀Magic手机

来自个人隐私的思考

如果说苹果iPhone X的AI主要体现于本地,华为麒麟970则强调本地终端设备和运点的协同。但是,一旦涉及到云,就不得不谈及个人隐私的风险。

曾经,荣耀Magic就因会收集微信聊天信息数据和腾讯打起了官司(荣耀Magic会根据微信聊天内容,自动加载地址、天气、时间等信息,通过对用户数据进行分析感知用户的习惯偏好从而在恰当的时间做出事件提请和各种服务推荐)。腾讯认为华为此举侵犯了自身的数据,侵犯了微信用户隐私;而华为则认为荣耀Magic收集数据前已经取得了用户同意的授权,并不存在争议。

要最大便利还是要绝对的隐私?在AI即将在手机领域普及的当下,这是一个值得深思的问题。

AI彻底普及还得靠它们

苹果凭借最好的应用生态,独家的定制级移动处理器和iOS系统,可以轻松构建AI应用平台。然而,对其他智能手机厂商(也包括其他终端设备)而言,缺少了苹果在产业链的影响力,很难负担和AI相关的巨额研发支出。因此,AI要想迅速普及,还需要更加通用的方案支持。

ARM新架构增加AI属性

移动处理器的根基都来自ARM的指令集授权,在AI进入风口的当下,ARM自然也不能闲着,其最新发布的Cortex-A75和Cortex-A55架构便融入了自家的AI神经网络DynamIQ技术,针对人工智能(AI)和机器学习(ML)能力进行了特别优化。ARM曾表示通过DynamIQ技术在未来3到5年内可实现比当前设备高50倍的人工智能性能,可将特定硬件加速器的反应速度提升10倍!换句话说,明年起凡是基于Cortex-A75和Cortex-A55架构设计的移动处理器都能被冠以AI称号(图12)。

12

NPU不是独家资源

麒麟970身上的NPU并非华为原创,而是来自寒武纪的授权。这意味着除了华为,联发科、小米澎湃系列也可以选择和寒武纪合作,通过现成的NPU赋能AI。此外,高通自2014年开始也公开了NPU的研发(图13),明年的骁龙845将采用更强大的骁龙神经处理引擎软件框架,同时加入类似iPhone X的3D人脸识别技术,让本地AI有了用武之地。

13

更多AI处理器正在路上

对传统移动处理器而言,只要增加一个用于神经网络计算的单元,那就可以被称为AI处理器。好消息是,设计神经网络计算单元的企业会越来越多。这不,GPU厂商Imagination就发布了全新的PowerVR Series 2NX神经网络加速器(NNA),可用于神经网络的高性能计算,而且核心面积超小、功耗超低(图14)。

14

小结

无论你需要与否,都无法阻挡AI走进我们生活的步伐。只是,现阶段大家都喜欢拿AI作为噱头,用来彰显技术实力。而AI真正走向成熟的标志应该是,在享受AI赋能的设备和服务时,我们却已淡忘了AI这个技术名词,过上理当如此的智慧生活。