随着人工智能和物联网技术的发展,我们看到智能设备正在加速普及。我们的身边,渐渐地有智能音箱、早教机器人、扫地机器人等新智能设备品类出现,同时在智能工业、智能城市和智能零售等领域,智能化的脚步也在向前进展。我们看到,在这样的发展趋势下,传统的MCU芯片也在发生着深刻的变化,在向智能化的方向发展。
智能物联网与MCU智能化
这一波人工智能的兴起起源于大数据和深度学习。随着互联网的发展,人类社会产生了大量数据,而大数据配合深度神经网络等算法可以训练出一些精度极高的机器学习模型,从而能撬动人脸识别,自动驾驶,语音识别等新应用。基于大数据的人工智能中,终端节点负责采集数据并且交给云端,云端服务器反复迭代训练高精度模型,并最终将这些模型部署到应用中。应当说数据采集和模型训练的任务分别在终端和云端做目前得到了一致认可,但是具体部署的机器学习模型在何处执行在不同的应用中却有所不同。
有些应用(如摄像头内容分析)的模型部署在云端,即终端把原始数据完全回传给云端,云端在该数据上执行深度学习模型的推理,之后把结果发回给终端,终端再根据云端的结果执行相应操作;而在自动驾驶等应用中模型必须部署在终端,即终端收集到数据后在本地执行深度学习模型的推理,并根据结果作出相应动作。在智能工业等需要在终端执行深度学习模型推理的场景,原来用来执行相关动作的MCU就必须能够支持这样的深度学习推理计算,这也就是MCU的智能化。
通常来说,机器学习模型必须部署在终端执行的理由包括传输带宽、反应延迟和安全性等。从传输带宽来考虑,目前物联网中节点分布在各种场景中,如果要把原始数据直接传输到云端,则带宽开销非常大,而且无线传输的能量开销也不小。而如果在终端部署机器学习推理则可以省下带宽的开销,只需要有选择性地把部分重要数据传送到云端,而无需传输全部原始数据。
反应延迟也是把深度学习部署在终端的重要理由。目前数据到云端的来回传送时间通常在数百毫秒级,对于工业机器人等对于延迟有高要求的应用来说无法满足要求。即使在5G低延迟网络下,无线网络的可靠性对于智能工业等要求高可靠性的应用来说也难以满足需求,偶尔的高延迟甚至数据丢包都可能会造成要求即时反应的机器发生问题,因此会倾向于选择将深度学习推理的计算放在本地做。
最后,数据的安全性也是一个考量,对于一些敏感应用来说将数据通过网络传送给云端服务器意味着存在着数据被入侵的风险——如果黑客通过破解智能工厂与云端服务器的数据从而控制整个工厂将会给工厂带来巨大损失——而如果把这些计算放在本地则会安全地多。
根据上述的场景,我们认为需要执行本地机器学习推理计算的MCU主要会运行在如下场景中:
-智能生产,需要快速反应且重视数据的安全性,如根据声音识别机器故障等;
-小型机器人,没有人会希望机器人一旦断网就无法工作,如无人机,扫地机器人等;
-智能家电,如智能空调根据人的位置智能送风等;
-智能可穿戴设备,如根据人体的生理信号给出相应提示等。
随着上述在终端部署执行机器学习推理计算的需求,一些原来只负责执行基本程序的MCU也必须要有能力能跑动机器学习推理计算。这对于MCU的挑战在于算力,因为在这一波人工智能的浪潮中,训练好的模型所需要的计算量通常是数十万次计算到数亿次计算不等,如果需要实时执行这些运算则MCU需要的算力将会比原来的MCU强几个数量级。
另外,智能MCU对功耗和实时性也有很高要求,这就需要MCU设计能有相应改变。目前,MCU正处于8位更新换代到32位的过程中,我们预计在32位MCU的基础上,智能化会成为下一个MCU的演进方向。
智能化技术路径一:整合加速器IP
目前MCU领域,ARM占据了领导者的地位,其IP占据了大量的市场份额。对于智能化MCU的兴起,ARM自然也不会袖手旁观,而是起到了推动者的作用,帮助MCU实现智能化。
ARM的Cortex系列架构占据着32位MCU的主导位置,所以ARM推进智能MCU的方法需要兼顾其Cortex架构,不能为了推智能化MCU结果把自己的命给革了。因此,ARM选择的方法是给Cortex核搭配一个独立的加速器IP,当需要执行机器学习相关算法时调用这个加速器IP去做计算,而当做传统操作时还是使用Cortex。
ARM的机器学习加速器系列产品即Project Trillium,其中包括了机器学习处理器(ML Processor),物体检测处理器等硬件IP,同时还包括可以在这些加速器以及Cortex核和Mali GPU上最优化执行相关算法的软件栈ARM NN。以ARM ML Processor为例(如下图),其架构包含了用于加速专用函数的加速引擎Fixed-function Engine,用于加速神经网络的可编程层引擎Programmable Layer Engine,片上内存,用于控制加速器执行的网络控制单元以及用于访问片外内存的DMA。
ARM ML Processor是典型的加速器架构,它有自己的指令集,只能执行和机器学习相关的运算加速而无法运行其他程序,因此必须搭配Cortex核才能发挥作用。ARM ML Processor可以最高实现4.6TOPS的算力,同时最高能效比可达3TOPS/W,性能实属优秀,对于算力需求不高的场合也可以通过降低运行速度来降低功耗,以满足MCU的需求。
除了ARM之外,其他MCU巨头也在纷纷布局AI加速器,其中意法半导体属于技术领先的位置。在去年,意法发布了其用于超低功耗MCU的专用卷积神经网络加速器,代号为Orlando Project,在28nm FD-SOI上可以实现2.9TOPS/W的超高能效比,相信随着技术和市场需求的进一步需求将会转为商用化。
应该说目前基于专用机器学习加速器IP的智能MCU尚处于蓄势待发阶段。顾名思义,专用机器学习加速器通过专用化的设计实现了很高的能效比,然而这也限制了应用范围,只能加速一部分机器学习算法,而无法顾及通用性。
目前,机器学习加速器最主要的加速对象算法是神经网络算法,尤其是卷积神经网络。从技术上说,卷积神经网络在执行过程中并行度高,存在加速空间,一个加速器相比传统处理器往往能把神经网络的执行速度和能效比提升几个数量级。从人工智能的发展脉络来看,这一波人工智能中最成功的应用也是基于卷积神经网络的机器视觉应用,因此大家都专注于卷积神经网络的加速也是顺理成章。
然而,对于MCU来说,专注于卷积神经网络加速却未必是一个最优化的选择。首先,MCU市场的应用存在一定碎片化,而一个专用的加速器很难覆盖多个应用,因此对于习惯了设计标准化MCU并走量覆盖许多个市场的半导体厂商来说是否使用专用化加速器是一个需要仔细考虑的选择。换句话说,许多应用中希望智能MCU能高效执行基于非卷积神经网络的机器学习算法(例如SVM,决策树等等),那么这些应用就无法被一个专用的卷积神经网络加速器覆盖到,而需要设计另外一套加速器。当然,这对于IP商ARM来说不是件坏事,因为ARM可以快速提升其机器学习加速器的IP品类数量并从中获利,但是对于半导体公司来说却有些头疼。
此外,卷积神经网络最成功的应用是机器视觉,然而在MCU应用中除了机器视觉之外还有许多其他应用,甚至可以说智能MCU的应用中机器视觉并非最大的市场,这也限制了只能处理卷积神经网络的专用加速器IP的市场。
智能化路径二:处理器架构改良
根据上面的讨论,ARM因为之前使用Cortex核占领了MCU市场,因此其保留Cortex架构不变并力推能搭配Cortex核使用的专用加速器IP也是必然的商业逻辑。然而,基于专用机器学习加速器IP的智能MCU在碎片化应用中会遇到应用覆盖过窄的问题,这也就是为什么还存在第二条MCU智能化的技术路径——改良处理器架构。
处理器架构改良意味着直接设计一个低功耗高算力的通用处理器,这样就可以覆盖几乎所有MCU应用,从而避免了专用加速器的通用性问题。当然,在处理器设计中,往往需要从指令集开始全盘重新设计,因此需要很大的投入。
根据半导体行业的传统,从头设计一套新的自有指令集往往是吃力而不讨好,因为指令集的设计、验证、可扩展性考虑等等往往不是一个团队就能完成的,而是需要大量人长时间的努力。然而,最近随着RISC-V开源指令集得到越来越多的认可,使用基于RISC-V指令集去做新处理器架构可以大大节省指令集和架构开发的成本以及风险。RISC-V指令集经过开源社区的认证,已经证明非常靠谱,可以无需从头造轮子,而只需要把精力集中在需要改良的部分,因此在这个时间点做新处理器架构可谓是正逢其时。
使用新架构做智能MCU的代表公司是来自法国的初创公司Greenwaves Technologies。Greenwaves正是使用了基于RISC-V的指令集,同时在架构上在MCU中也引入了多核的概念,通过多数据流(SIMD)的方式来加速人工智能算法中的并行计算,可谓是MCU架构上的一个革新。
目前,Greenwaves的第一款产品GAP8已经处于出样阶段。根据网站资料,GAP8拥有8个核,可以在数十毫瓦的功耗下实现8GOPS的算力,该算力已经能满足许多智能MCU的需求。更关键的是,由于GAP8使用的是多核通用处理器而非专用加速器去加速人工智能算法,因此其可以通用性非常好,可以覆盖各种算法以及应用。在应用存在碎片化的MCU市场,这无疑是一个很大的优势。由于使用的是通用处理器,GAP8的能效比相对于ARM的专用加速器在特定的领域较弱,但是GAP8的通用性却是ARM的专用加速器无法企及的。
另外值得指出的是,新处理器架构和专用加速器并非水火不容,完全可以在使用新处理器架构的同时集成一个专用加速器,从而使用专用加速器去加速特定的应用,而使用通用化的新架构处理器去处理高效处理其他应用。这里专用与通用的选择完全则很大程度上取决于市场的需求以及潜在的商业回报。
除了Greenwaves之外,瑞萨也推出了类似的新处理器架构。与Greenwaves略有不同的是,瑞萨并不是做一个新的通用处理器架构,而是做了一个可配置的协处理器,该协处理器可以使用高级语言(如C/C++)编程,在不同的应用场景可以配置为不同的架构,从而兼顾了通用性和专用性。瑞萨将该架构称作为动态可重构处理器(Dynamic Reconfigurable Processor, DRP),该架构之前已经在瑞萨的视频处理器中已经得到了验证,现在瑞萨准备将该架构也搬到MCU中,并将在今年十月正式发布第一代集成DRP的MCU。
结语
人工智能和物联网的结合推进了智能MCU概念。我们预计在未来几年将会看到智能MCU的普及,而在智能MCU的两条技术路径之间选择则不仅会影响MCU市场,更有可能会对于半导体生态造成深远影响——如果专用加速器IP获胜,则ARM将继续成为智能MCU的领导者,反之如果新架构获胜则ARM将会遇到强力的挑战。
评论
查看更多