说到手机AI,如果许多朋友可能都已经不会感到陌生了。一方面来说,“AI加速计算”的能力早已普遍存在于从中低端到旗舰级的全部智能手机硬件平台当中;另一方面,当我们留意各大手机厂商的宣传时,诸如“AI拍照”与“AI系统”这样的语句也实在是太过常见,以至于让我们产生了一种AI算法已经深植于当下的智能手机当中,并且无时无刻不在本地运行着智慧算法的错觉。对,我们说了“错觉”。而这其实源自我们三易生活某位编辑的真实经历,当他有一天试图使用自己的手机将老照片进行“高清化修复”处理时发现,国内某知名图片处理软件厂商虽然曾高调宣布自己拥有强大的AI照片修复算法,但相对应的功能实际上却并不存在于他们家最新版的APP中,反而是要通过微信小程序将照片上传到云端,之后才能得到一张高清化的成品照片。这说明一个什么问题?表面上来看,我们这位同事为了实现一个简单的图像处理需求,可能已经付出了个人隐私泄露的代价。但更进一步地说,就连“图像超分修复”这种在AI领域早已是非常基础的算法,如今甚至都还不能被直接集成到APP里,通过手机本地化处理来完成的这个事实,的确也相当令人感到沮丧。
答案是否定的,因为就在前不久,当苹果发布他们最新的iOS 14时,我们就看到了为不能联网的使用环境,设计的一系列“设备端智能”功能。比如说苹果招牌的Siri语音助手,在iOS 14上就可以实现高度的本地化语义识别处理。这意味着当Siri把用户的问题发送到服务器上时,服务器收到的是问题的文字信息,而非像其他手机的解决方案那样,直接把录音扔给服务器去识别。这样一来,也就避免了用户语音特征泄露的隐患。又比如说,同样是利用这个设备端的本地语音识别能力,如今iPhone可以“听懂”周遭传来的门铃声、警报声、婴儿啼哭声等一系列声音,即使在没有网络信号的情况下,也能第一时间在手机上以振铃和文字信息给出提醒。如此一来,既能方便听障人士的使用,同时甚至有可能在意外事件(比如火灾、地震、家中的婴儿跌倒)时发挥关键的警示作用。除此之外,苹果甚至还将本地化的AI处理与隐私保护功能很好的结合了起来。在iPhone的备忘录、短信、邮件等可能涉及到个人隐私的APP中进行语音听写输入时,系统会自动禁止输入法联网,完全改用本地AI算法来处理定向录音和语义识别的过程。而在iOS 14本次引入的“智能堆叠”功能里,通过时间、用户习惯,及地理位置信息,能够智能提供娱乐与出行等建议的过程,同样也是基于设备端智能进行感知和判断。这样一来,不光是第三方APP,就连苹果自己也无从得知用户的位置和行为信息了。
不难看出,与需要联网和上传数据到服务器的“云计算”型手机AI相比,苹果的“设备端智能”有着延迟低和保密性好等明显优势。尽管从目前来看,它还不能完全取代需要云计算辅助的联网AI,但也已经足够让安卓手机的用户感到羡慕了。那么问题就来了,为什么至今为止没有任何一家安卓手机厂商的宣传中,看到类似苹果“设备端智能”这样不需联网、不会上传数据的AI功能呢?是安卓手机所采用的硬件平台性能不够吗?众所周知,所谓“设备端智能”之所以能够在iPhone上落地,与苹果从数年前就开始在自主设计的A系列芯片中加入神经网络计算单元有关。但是从公开信息不难发现,即便是苹果最新AI性能强到可以直接用普通摄像头完成骨骼动作捕捉计算的A14,其神经网络引擎的算力也才“仅仅”只有11TOPS,实际上是要略低于华为麒麟990 5G的12TOPS,更低于高通骁龙865的15TOPS的算力水准。是安卓系统缺乏本地AI计算的软件平台吗?其实早在2017年10月谷歌推出安卓8.1预览版的时候,就同步官宣了内置于系统中,专用于AI本地加速处理的NNAPI(Neural Networks API,神经网络应用程序接口)。甚至早在初版的NNAPI里,谷歌就已经预想到了分布式异构计算加速AI执行的未来场景,其API能够同时支持DSP、NPU和GPU三种AI加速单元,从设计思路上来说,可能比苹果的反而还更加全面和前卫。除此之外,在AI计算框架方面,相比于苹果只有官方出品的CoreML单一方案,安卓系统如今优秀的AI计算框架可谓是百花齐放。单论比较知名而且公认性能靠谱的,就有小米的MACE、腾讯游戏的FeatherCNN、腾讯的ncnn,以及阿里的TNN等多种选择。它们有的适合用于图像识别,有的在语音方面表现更佳,还有的甚至是专为手机游戏的“电脑对手”所设计。
乍看之下,安卓阵营,特别是高端安卓机型在软硬件两方面,其实都对端侧AI计算有着不错的支持力度。但现实情况却是AI算力更低的iPhone率先拿出了断网也能使用,还更保护隐私的“设备端智能”。那么,究竟是什么原因导致了安卓在端侧AI用户体验方面的实质性落后呢?不得不说,常年困扰整个安卓生态的“碎片化”问题,这次的确也做出了不小的“贡献”。就拿我们刚刚提到的GPU加速AI计算来说,它不仅需要应用程序接口与计算框架的支持,其计算性能高低与AI程序兼容性在很多时候还会受到GPU驱动程序的制约。然而可能很多朋友不知道的是,在安卓手机上,哪怕是相同品牌、相同系列的GPU产品(比如高通的Adreno),其每一个不同的小型号,对应每一个不同的安卓系统版本,所需的驱动都是不一样的。比如骁龙865和骁龙765的GPU驱动便不能通用,而骁龙865在安卓9、10、11所使用的驱动程序,又各自有所不同。当然,苹果iOS不同系统版本底层驱动也有差异,但苹果的解决方式是规定开发者必须只能针对最新版系统进行优化,这样一来,iOS的本地化AI应用就不用考虑那么复杂的适配问题。可谷歌并没有苹果那样强力以及对开发者的掌控能力,一方面大量的安卓手机厂商并不积极给消费者提供系统更新,另一方面很多安卓生态里的软件大厂在新系统适配上也并不积极。于是乎,即便真的有开发者想要为安卓制作设备端AI程序,也会因为难以同时顾及各种不同品牌、不同型号、不同系统版本的硬件,而使得开发难度远大于iOS端,显然也是非常不划算的。其次,正如国内某位互联网企业高管曾经无意中透露的那样,当我们在手机中享受到联网型AI应用所提供的种种好处时,实际上是在拿自己的隐私去交换便利。而这些被上传到远端服务器上的语音命令、行为习惯数据,以及地理位置数据,最终都会变成企业用以训练自家AI的“饵食”,变成让大数据更加“聪明”,能更精准猜出用户需求的基础。换句话说,智能手机里的“在线AI”不仅仅是技术上实现起来更简单,更省钱,同时也更符合了当今互联网企业收集用户数据,锻炼自身AI系统的潜在需求。如此一来,谁还会愿意去推进成本可能更高、挣得可能更少,同时还相当于给自己“上枷锁”的设备端智能应用体系呢?
旗舰机型除了性能优势之外,或许其他方面也同样有着不小的优势。
英特尔今天推出的oneAPI,可能会在未来让异构计算逐渐普及。