“拍照优化、语音助手以外,手机AI还有什么?”
今年全新一代骁龙8移动平台发布时,高通再次翻译翻译了,什么叫脑洞大开——
让手机学会“听诊”,通过识别出用户可能存在的疾病,比如抑郁症、哮喘;
让手机实现“防偷窥”,通过识别陌生用户的视线,实现自动锁屏;
让手机游戏搞定超分辨率,将以往PC端才有能力运行的画质,搬到手机上体验……
更重要的是,这些AI功能,骁龙8有能力**同时运行**!
高通声称,骁龙8搭载的第7代AI引擎,性能相比上一代最高提升了**4倍**。
这意味着我们玩手机的时候,同时“多开”几个AI应用也没问题。更重要的是,它不仅仅是简单的AI性能提升,更能给用户带来流畅的应用体验感。
在硬件制程升级如此艰难的今天,高通是如何在第7代AI引擎的性能和应用上“翻”出这么多新花样的?
我们翻了翻高通发表的一些研究论文和技术文档,从中找到了一些“蛛丝马迹”:
在高通发布的AIMET开源工具文档里,就有提到关于“如何压缩AI超分辨率模型”的信息;
在与“防偷窥”相关的一篇技术博客中,介绍了如何在隐私保护的前提下使用目标检测技术……
而这些文档、技术博客背后的顶会论文,全都来自一家机构——高通AI研究院。
可以说,高通把不少研究院发表的AI论文,“藏”在了第7代AI引擎里。
顶会论文“藏身”手机AI
先来看看第7代AI引擎在**拍照算法**上的提升。
针对智能识别这个点,高通今年将面部特征识别点增加到了300个,能够捕捉到更为细微的表情变化。
但同时,高通又将人脸检测的速度提升了**300%**。这是怎么做到的?
在一篇高通发表在CVPR上的研究中,我们发现了答案。
在这篇文章中,高通提出了名为Skip-Convolutions(跳跃卷积)的新型卷积层,它能将前后两帧图像相减,并只对变化部分进行卷积。
没错,就像人的眼睛一样,更容易注意到“动起来的部分”。
这使得骁龙8在做目标检测、图像识别等实时检测视频流的算法时,能更专注于目标物体本身,同时将多余的算力用于提升精度。
可能你会问,这样细节的人脸识别对于拍照有什么用?
更进一步来说,这次高通与徕卡一起推出了Leica Leitz滤镜,用的是基于AI的智能引擎,其中就包括了人脸检测等算法,使得用户能更不经思考智能地拍出更具艺术风格的照片。
不止人脸检测,高通在智能拍摄上所具备的功能,还包括超分辨率、多帧降噪、局部运动补偿……
然而,在高分辨率拍摄中的视频流通常是实时的,AI引擎究竟如何智能处理这么大体量的数据?
同样是一篇CVPR论文,高通提出了一个由多个级联分类器组成的神经网络,可以随着视频帧的复杂度,来改变模型所用的神经元数量,自行控制计算量。
面对智能视频处理这种“量大复杂”的流程,AI现在也能hold住了。
智能拍照以外,高通的语音技术这次也是一个亮点。
像开头提到的,第7代AI引擎支持用手机加速分析用户声音模式,以确定哮喘、抑郁症等健康状况的风险。
那么,它究竟是如何准确分辨出用户声音,而且又不涉及收录数据的?
具体来说,高通提出了一种手机端的联邦学习方法,既能使用手机用户语音训练模型,同时保证语音数据隐私不被泄露。
像这样的AI功能,有不少还能在高通AI研究院发表的论文中找到。
同样也能寻到蛛丝马迹的,是开头提及的AI提升手机性能的理论支撑。这就不得不提到一个问题:
**同时运行这么多AI模型,高通究竟是怎么提升硬件的处理性能的?**
这里就不得不提到高通近几年的一个重点研究方向**“量化”**了。
从高通最新公布的技术路线图来看,模型量化一直是AI研究院这几年钻研的核心技术之一,目的就是给AI模型做个“瘦身”。
由于电量、算力、内存和散热能力受限,手机使用的AI模型和PC上的AI模型有很大不同。
在PC上,GPU动辄上百瓦功率,AI模型的计算可以使用16或32位浮点数(FP16、FP32)。而手机SoC只有几瓦功率,也难存储大体积AI模型。
这时候就需要将FP32模型缩小成8位整数(INT8)乃至4位整数(INT4),同时确保模型精度不能有太大损失。
以AI抠图模型为例,我们以电脑处理器的算力,通常能实现十分精准的AI抠图,但相比之下,如果要用手机实现“差不多效果”的AI抠图,就得用到模型量化的方法。
为了让更多AI模型搭载到手机上,高通做了不少量化研究,发表在顶会上的论文就包括**免数据量化**DFQ、**四舍五入机制**AdaRound**,以及联合量化和修剪技术**贝叶斯位**Bayesian Bits等。
其中,DFQ是一种无数据量化技术,可以减少训练AI任务的时间,提高量化精度性能,在手机上最常见的视觉AI模型MobileNet上,DFQ达到了超越其他所有方法的最佳性能:
AdaRound则可以将复杂的Resnet18和Resnet50网络的权重量化为4位,大大减少了模型的存储空间,同时只损失不到1%的准确度:
贝叶斯位作为一种新的量化操作,不仅可以将位宽度翻倍,还能在每个新位宽度上量化全精度值和之前四舍五入值之间的残余误差,做到在准确性和效率之间提供更好的权衡。
这些技术不仅让更多AI模型能以**更低的功耗**在手机上运行,像原本只能在电脑上运行的游戏AI超分辨率*(类似DLSS)*,现在实现能在骁龙8上运行的效果;
甚至其中一些AI模型,还能“同时运行”,例如其中的姿态检测和人脸识别:
事实上,论文还只是其中的第一步。
要想快速将AI能力落地到更多应用上,同样还需要对应的更多平台和开源工具。
将更多AI能力释放到应用上
对此,高通保持一个开放的心态。
这些论文中高效搭建AI应用的方法和模型,高通AI研究院通过合作、开源等方法,将它们分享给了更多开发者社区和合作伙伴,我们也因此能在骁龙8上体验到更多有意思的功能和应用。
**一方面,高通与谷歌合作,将快速开发更多AI应用的能力分享给了开发者。**
高通在骁龙8上搭载了谷歌的Vertex AI NAS服务,还是每月更新的那种,意味着开发者在第7代AI引擎上开发的AI应用,其模型性能也能快速更新。
采用NAS,开发者就能自动用AI生成合适的模型,包括高通发表在顶会上的智能拍照算法、语音翻译、超分辨率……都能包含在AI的“筛选范围”中,自动为开发者匹配最好的模型。
这里用上了高通的运动补偿和插帧等算法。而类似于这些的AI技术,开发者们也都能通过NAS实现,还能让它更好地适配骁龙8,不会出现“调教不力”的问题。
想象一下,你将来用搭载骁龙8的手机打游戏时,会感觉画面更流畅了,但是并不会因此掉更多的电(指增加功耗):
同时,关于AI模型的维护也变得更简单。据谷歌表示,与其他平台相比,Vertex AI NAS训练模型所需的代码行数能减少近80%。
**另一方面,高通也已经将自己这些年研究量化积累的工具进行了开源。**
去年,高通就开源了一个名为AIMET*(AI Model Efficiency Toolkit)*的模型“提效”工具。
其中包含如神经网络剪枝、奇异值分解(SVD)等大量压缩和量化算法,有不少都是高通AI研究院发表的顶会论文成果。开发者用上AIMET工具后,就能直接用这些算法来提效自己的AI模型,让它更流畅地在手机上运行。
高通的量化能力也不止开源给普通开发者,同样能让头部AI企业的更多AI应用在骁龙8上实现。
在新骁龙8上,他们与NLP领域知名公司Hugging Face进行合作,让手机上的智能助手可以帮用户分析通知并推荐哪些可优先处理,让用户对最重要的通知一目了然。
在高通AI引擎上运行它们的情绪分析模型时,能做到比普通CPU速度快30倍。
正是技术研究的沉淀和技术上保持的开放态度,才有了高通不断刷新手机业界的各种AI“新脑洞”:
从之前的视频智能“消除”、智能会议静音,到今年的防窥屏、手机超分辨率……
还有更多的论文、平台和开源工具实现的AI应用,也都被搭载在这次的AI引擎中。
而一直隐藏在这些研究背后的高通AI研究院,也随着第7代AI引擎的亮相而再次浮出水面。
高通AI的“软硬兼备”
大多数时候,我们对于高通AI的印象,似乎还停留在AI引擎的“硬件性能”上。
毕竟从2007年启动首个AI项目以来,高通一直在硬件性能上针对AI模型提升处理能力。
然而,高通在AI算法上的研究,同样也“早有筹谋”。
2018年,高通成立AI研究院,负责人是在AI领域久负盛名的理论学者Max Welling,而他正是深度学习之父Hinton的学生。
据不完全统计,高通自成立AI研究院以来,已有数十篇论文发表在NeurIPS、ICLR、CVPR等AI顶级学术会议上。
其中,至少有4篇模型压缩论文已在手机AI端落地实现,还有许多计算机视觉、语音识别、隐私计算相关论文。