随着物联网和下一代智能设备的普及,低功耗电子设备和芯片正在越来越多地进入千家万户,低功耗设计也在变得越来越重要。物联网和智能设备一方面对于设备尺寸有限制,另一方面对于成本也有很高的需求,此外在一些使用场景中对于电池的更换和充电周期有需求(例如需要每个月或更长的电池更换周期),因此对于电池的容量有很高的限制,这要求芯片能使用低功耗设计。
另一方面,物联网和智能设备正在越来越多地加入人工智能的特性。人工智能可以为物联网和智能设备提供重要的新特性,例如语音类人工智能可以提供唤醒词识别,语音指令识别等,而机器视觉类人工智能可以提供人脸检测,事件检测等等。如前所述,物联网和智能设备对于低功耗有需求,因此人工智能特性的加入也需要是低功耗人工智能。
目前,人工智能芯片已经在云端和智能设备终端普及,例如在云端以Nvidia和AMD为代表的GPU和以Intel/Habana为代表的人工智能加速芯片;而在终端智能设备则主要是在SoC上的人工智能加速IP,但是无论是GPU和SoC上的人工智能加速IP,都没有考虑到低功耗的需求,因此在未来的物联网和智能设备中的人工智能都需要有新的低功耗相关的设计。
传感器计算:低功耗AI的重要技术路径
在智能设备和物联网应用中的低功耗人工智能需要把功耗降到非常低,从而能实现实时在线(always-on)的人工智能服务。这里所谓的always-on,指的就是人工智能需要永远可用,而不需要用户主动打开后才工作。这一方面需要相关的传感器要一直打开从而实时检测相关模态的信号,另一方面也需要人工智能能做到低功耗。
传统设计中,传感器的功能就是负责高性能信号采集,并且把采集到的信号传输到处理器(SoC或者MCU)上去做进一步计算和处理,而传感器本身并没有计算能力。然而,传统设计的假设是传感器在打开时相关的处理器就要同时打开,而这并不能满足always-on AI的需求,因为SoC和MCU如果一直在运行AI算法的话对于电池的消耗很大。另一方面,从实际角度来看,这类always-on人工智能应用主要是希望人工智能一直运行从而一旦重要的相关事件发生时可以实时响应(例如IMU检测到用户在开车则把智能设备的推送通知关掉等),但是事实上这类相关事件的发生频率并不会很高,如果一直把SoC或者MCU的人工智能模块打开,绝大多数时候AI模型的输出都是“未检测到事件”。
结合这两点,运行在传感器端的计算就在变得越来越得到重视。首先,在always-on的低功耗人工智能中,无论如何传感器是需要一直打开的,因此如果传感器能有人工智能计算能力,那么可以让人工智能模型运行在传感器端,而无需一直打开SoC或者MCU上面的人工智能模块。另外,在传感器端运行人工智能也可以避免传感器和SoC/MCU之间一直传输数据,从而进一步降低功耗。最后,在传感器端的人工智能模块可以做到为传感器量身定制而无需考虑通用性,因此可以为最适合传感器的人工智能算法做定制化优化,从而实现非常高的能效比。
当然,传感器端的人工智能也有其自己的局限。一方面从性能和成本上来说,通常传感器端的计算和存储空间都较小,人工智能模块无法做到支持大模型,因此模型的性能会比较有限。另一方面,如前所述传感器端的人工智能也很难做到支持通用模型,而往往只会支持一些特定的算子和模型结构。
综上所述,传感器端的人工智能可以做到低功耗,但是其模型性能也较为有限;但是另一方面低功耗人工智能场景中,真正需要处理的相关事件的发生频率也并不高。结合这两点,传感器端人工智能最适合运行一些较为专用的小模型,用于过滤掉绝大多数的无关事件;而在传感器端人工智能检测到相关事件后,传感器可以唤醒SoC或MCU上的人工智能进行下一步的确认,从而同时满足低功耗和always-on的需求。
在图像传感器领域,Sony已经推出了IMX500系列传感器,其中把传感器芯片和集成了人工智能计算能力的逻辑芯片做了堆叠,从而可以把像素信号传输给逻辑芯片上的人工智能计算引擎,从而传感器的输出可以是图像,可以是人工智能模型的输出,或者是两者的结合。这样一来,就可以让传感器运行在低功耗always-on状态,而仅仅当其模型输出符合某些特定条件(例如检测到人脸)时才去唤醒MCU或者SoC做下一步动作。我们预计,Sony将会在接下来的传感器芯片中进一步加强其人工智能能力,从而增强在这个领域的领先地位。
传感器和人工智能结合的另一个例子是ST推出的IMU系列产品。ST在拥有相关人工智能特性的IMU中集成了机器学习核(Machine Learning Core)和有限状态机(Finite State Machine),从而可以用非常高效的方式支持IMU上直接进行人工智能计算。ST目前支持的人工智能算法主要是决策树算法,并且可以支持IMU信号的一些重要特征提取(例如信号幅度,信号方差等),从而能在IMU上直接实现用户活动分类(例如静止,行走,骑车,驾驶汽车等等分类),这样能在检测到相关事件时唤醒MCU/SoC进行下一步操作。根据ST公布的资料,MLC的功耗仅仅在微瓦数量级,从而能很好地支持always-on需求。当然,另一方面我们也看到决策树算法事实上的能力有限,难以对于复杂的活动进行建模,因此如同我们之前讨论的,这里的IMU传感器内人工智能适合完成事件的初筛来过滤掉无关事件,而更复杂的分类和确认可以通过运行在MCU或者SoC上的模型来完成。
低功耗人工智能MCU
除了传感器内人工智能之外,另一个重要的低功耗人工智能技术路径是运行在MCU内的人工智能。无论是物联网还是智能设备,都离不开低功耗MCU作为最关键的控制单元,而通常来说MCU的功耗会比SoC要低一到两个数量级。通过在MCU上集成人工智能,我们可以把运行人工智能的任务放到MCU上,从而无需唤醒SoC;或者在一些低成本应用中,成本考量使得无法集成SoC,这时候如果需要人工智能的话,拥有人工智能能力的MCU就是一个重要选项了。
值得注意的是,MCU上的人工智能和传感器端的人工智能并不矛盾。如前所述,传感器里的人工智能通常能运行的模型种类的复杂度都会比较有限,同时一个传感器里的模型显然只能使用该传感器的信号作为输入。另一方面,MCU上的人工智能模块通常可以支持较为通用的人工智能模型,同时也有机会做到使用多个传感器的信号作为模型输入。当然,MCU上的人工智能模块的能效比通常会略逊于传感器端的人工智能模块,因此,在一个系统中可以把具有人工智能能力的传感器和具有人工智能能力的MCU联用,在传感器端运行较为专用的第一级较为简单的模型初筛事件,在需要的时候唤醒MCU上的 人工智能模块去执行较为通用的模型去进行事件确认。
目前,MCU芯片市场上已经有一些相关的产品,例如NXP的RT600 MCU,该产品在ARM M33核之外,还集成了Tensilica HiFi 4 DSP并且拥有4.5 MB的片上存储,从而可以加速通用人工智能模型。除了NXP之外,ADI的MAX78000 MCU集成了ARM M4和RISC-V核心,还集成了CNN加速器用来实现人工智能加速。我们认为,未来会有越来越多的低功耗MCU加入人工智能能力从而满足物联网和智能设备的需求。
低功耗人工智能的市场格局
如我们之前所讨论的,低功耗人工智能更多并非创造一种新的芯片品类,而是在现有的芯片中加入人工智能能力,从而创造一定的差异化竞争优势。我们目前看到,无论是在传感器端还是在MCU端,都有市场中处于领先地位的企业(例如传感器领域的Sony,ST;MCU领域的NXP,ADI等等)在积极加入人工智能功能,未来可望会有越来越多的公司的产品也会在人工智能方面进行投入。
对于中国半导体企业来说,传感器和MCU方面的人工智能也是一个值得重视的方向。目前来看,加入人工智能更多的是一个产品定位和集成度问题(即如何把握好产品对应的市场,并且去集成最合适的人工智能模块),但是在未来随着技术的进步,相关的技术积累也会逐渐加深,因此中国半导体厂商如果能在这个领域从目前就开始布局,可以加深自己在这方面的技术实力并且增加产品在未来智能物联网和下一代智能设备里的竞争力。
转载微信公众号:半导体行业观察
声明:本文版权归原作者所有,转发仅为更大范围传播,若有异议请联系我们修改或删除:zhangkai@cgbtek.com