[原创] 从高通骁龙855的AI加速器看行业的趋势

2018-12-10 14:00:09 来源: 半导体行业观察

最近,高通发布了最新的骁龙855系列SoC,是其下一代旗舰级芯片。骁龙855最大的特点除了5G之外,可以说就是能加速AI应用的Tensor Engine了。与以往高通通常强调其通用DSP可以解决AI计算问题不同,这次高通第一次在SoC上明确集成了一块专属AI计算的加速器,可见高通对于AI的重视不同于以往。除此以外,骁龙855的ISP模组也能高效执行AI相关的计算机视觉算法,因此称为CV-ISP。由于手机端AI绝大部分是计算机视觉应用,因此CV-ISP对于手机端AI应用也是一个重要支撑。

高通骁龙855的AI性能强劲

这次骁龙855与AI加速相关的芯片模块亮点主要在DSP和ISP两部分。

首先看DSP部分。DSP部分对于AI的加速主要用于通用AI加速,因为对于非系统应用(例如拍照预测食物卡路里这类应用)来说,DSP更容易调用一些。这次骁龙855里的DSP代号为Hexagon 690,其标量和矢量运算能力相对于上一代骁龙845分别有1.2倍和2倍的提升。在DSP中,标量计算通常用于最基础的实时数据流计算,其特点是数据的并行性不高,同时数据将以数据流的形式进入DSP并实时完成计算(不同于累积了很多数据再一次完成计算的数据块模式),在数字滤波等经典通信信号处理算法中有广泛应用。随着手机智能化,通信之外的许多计算(例如多媒体应用等计算)也需要在手机端完成,这些计算往往拥有并行性(即许多数据之间彼此独立,因此可以同时计算,不存在需要先完成数据A的计算才能做数据B的计算的约束),因此这些计算就非常适合使用矢量计算。

标量和矢量DSP计算属于传统DSP计算。随着AI应用在手机端的兴起,势必需要新的计算加速单元。目前手机端的AI主要应用包括语音和视觉,尤其以视觉应用为主,而对于视觉相关的AI应用,主流的神经网络结构是卷积神经网络(CNN)。CNN中,数据计算以张量计算的形式完成,因此传统的标量和矢量DSP都不是最适合加速CNN张量计算的计算单元。为此,高通在这一代DSP Hexagon 690中新加入了张量计算加速单元,可以充分加速手机AI应用中占算力大多数的CNN张量计算。

除了DSP之外,这次骁龙855里集成的Spectra 380 CV-ISP也对于AI应用起了很强的支撑作用。与DSP完成通用AI计算不同,CV-ISP主要是针对拍照相关的专用AI计算。目前,事实上很多手机端的AI应用都与拍照有关,例如智能场景识别,背景虚化,美颜等等。这部分运算往往会同时结合传统计算机视觉算法和AI算法,那么究竟应该放在执行专用计算机视觉算法较强的ISP中,还是放在加速AI应用的AI加速器模块中呢?当然,不同的选择都有自己的优劣:选择使用专用ISP加速计算机视觉算法的计算效率更高,但是往往计算灵活度不足,难以支持芯片流片后再出现的新算法;而使用AI加速器做计算机视觉加速则部分牺牲了效率以换取灵活性。高通在骁龙855的选择是在CV-ISP中做系统自带的计算机视觉算法,对于目前常规的物体分类、目标分割、景深估计等有很好的支持,如果有一些新的算法出现,则可以用Hexagon DSP来支持,可谓是希望兼顾灵活性和计算效率。

在骁龙855中,高通把所有能执行通用AI计算(CPU,GPU和DSP)的模组都统一划归到AI Engine下,从而可以实现算力的动态最优化分配和平衡。AI Engine的软件接口支持TensorFlow,Caffe,PyTorch等主流深度学习框架,同时也支持OpenCL等底层库调用。骁龙855的AI Engine的总算力(包括CPU,GPU和DSP)可达7TOPS。

异构计算与Dark Silicon:

高通与其他手机厂商对于AI加速的思路比较

高通的骁龙855与其他带AI加速器的手机SoC 相比,最大的区别在于高通更强调整体的概念。其他厂商(如华为等)试图用异构计算的思路打造一款非常强劲的专用AI加速器模组以满足手机端AI加速的需求,但是异构计算的另一面却是dark silicon,即AI任务仅仅由专用的AI加速器来完成,虽然能效比来看是提升了,但是从另一个角度来看,芯片上的其他模块在芯片处理AI任务的时候却是闲置了,造成了浪费。在测量芯片发热的时候,常常使用红外线来估计温度,在红外照片上越忙碌的芯片部分亮度会越高,而闲置的芯片部分则会看上去很暗,这也是“dark silicon”一词的来源。

随着异构计算越来越流行,Dark Silicon的问题也会随之出现

高通显然知道异构计算的优势以及伴随的dark silicon问题,因此在骁龙855中即集成了专用的张量计算单元用于AI加速,另一方面,又在系统层面将所有能执行AI计算的CPU、GPU和DSP划归一个统一的AI Engine来调度,这样当张量加速模组忙于AI计算时,其他的模组也能助其一臂之力帮助分担一些计算负担,而不是在旁边闲置。当然,这样的动态调度设计一定会比简单地“一个模块负责一个任务”这样的模式要复杂许多,同时也会引入一些硬件和软件上的额外开销,具体的效果还需要看实际使用中的情况,让我们拭目以待。

骁龙855对于手机SoC AI加速器市场的影响

在高通之前,大多数面向中高端智能手机的手机SoC厂商,包括苹果、华为等都已经推出了包含AI加速能力的SoC,今天高通终于也加入了这一行列。除了手机SoC厂商之外,Cadence,CEVA等厂商也都推出了(可以应用在手机SoC中的)AI加速器IP。在这样的情况下,我们认为对于AI的加速将不再是手机的亮点,而将成为近期手机的一个常规功能 。

从应用端来看,随着手机SoC对于AI的支持,必然会鼓励更多的手机App引入AI相关功能。然而,我们也必须看到,手机端AI还没有出现爆款应用,未来手机端AI应用发展的时间表还很难确定。我们不妨盘点一下现有的手机端AI应用。目前手机端AI的最大应用仍然在图像方面,包括手机厂商力推的拍照增强(场景自动识别,背景虚化,美颜,超分辨等)、人脸识别(用于解锁),以及App开发者正在探索的应用,例如直播中的实时美颜,加入虚拟装饰等等。应该说,这些应用对于大部分用户来说都属于痒点而非痛点,并不会给用户体验带来质的区别。

相比手机SoC厂商对于AI的计算能力每代都有两倍以上提升的节奏,手机App端对于AI的探索速度可以说是较慢的。在尚未出现AI应用爆款之前,AI App应用普及的慢节奏和芯片AI算力的快速提升有可能会造成AI算力过剩的问题。这并不是说手机端不需要AI加速器,而是说以设计手机端AI加速器IP的厂商恐怕会面临更多压力——硬件上,大厂都推出自己的AI加速器方案,且计算速度每年都提升;应用上,软件对于AI算力需求的提升却没有跟上硬件提升的速度,这样两相挤压会造成给手机SoC提供AI加速器IP的厂商非常大的压力。事实上,我们认为AI加速器IP公司,尤其是拥有新技术的初创公司,目前可以考虑其他的细分市场。

责任编辑:Sophie

相关文章

半导体行业观察
摩尔芯闻

热门评论