如果把人工智能(AI)和物联网(IoT)相结合,会得到什么呢?答案很简单,智能物联网(AIoT),不过还有一系列的微控制器新应用,得益于神经网络技术的进步,机器学习不再局限于超级计算机的世界了。如今,智能手机应用处理器可以(也确实已经在)执行AI推理,用于实现图像处理、推荐引擎和其它复杂的功能。
未来几年,数十亿IoT设备的生态系统将拥有机器学习能力(图源:NXP)
将上述功能应用到不起眼的微控制器中意味着巨大的机遇。想象一下,助听器可以使用AI来滤除对话中的背景噪音;智能家电可以识别用户人脸并切换到其个性化设置;支持AI的传感器节点仅需很小的电池即可运行数年。在端点处理数据具有不可忽视的优点,比如低延迟、高安全性和隐私保护等。
然而,利用微控制器级器件实现有意义的机器学习并非易事。例如,AI计算的关键标准——内存——通常受到严重限制。但数据科学正在迅速发展,以缩小模型的尺寸。此外,设备和IP供应商正通过开发工具并整合针对现代机器学习需求量身定制的功能来应对此挑战。
TinyML崭露头角
作为该行业快速发展的标志,TinyML峰会(本月初在硅谷举行的新型行业盛会)正变得越来越强大。据主办方称,去年举办的首届峰会有11家赞助公司,而今年有27家,且门票售罄时间也早很多。主办方还表示,针对工程师的全球月度聚会活动的参与会员数量也急剧增加。
“我们看到了一个新的世界,TinyML技术带来了数以万亿的智能设备,可以共同感知、分析和自主行动,为所有人创造一个更健康、更可持续的环境,”TinyML委员会联合主席、高通公司(Qualcomm)的Evgeni Gousev在峰会开场白中如是说。
Gousev将这种增长归因于更节能的硬件和算法的发展,以及更成熟的软件工具的开发。他指出,企业和VC投资正在增加,初创公司和企业并购案例也在增多。
如今,TinyML委员会认为此技术已经得到验证,且预测在微控制器中使用机器学习的初始产品将在2-3年内上市。“杀手级应用”预计将在3-5年内问世。
去年春季,谷歌首次演示了用于微控制器的TensorFlow框架版本,这是技术验证的重要部分。微控制器的TensorFlow Lite设计为在只有千字节内存的设备上运行(Arm Cortex M3的内核可在16 KB内运行,加上足够运行语音关键字检测模型的运算符,总共占用22 KB)。它仅支持推理(不支持训练)。
大玩家
当然,大型微控制器制造商正饶有兴趣地关注着TinyML社区的发展。随着研究使神经网络模型越来越小,其机会也越来越大。
大多数神经网络模式都支持机器学习应用。例如,意法半导体 (STMicroelectronics) 有扩展包STM32Cube.AI,能够在基于Arm Cortex-M的STM32系列微控制器上映射和运行神经网络。
Renesas(瑞萨)有自己的e-AI开发环境,可在微控制器上实现AI推理,它能有效地将模型转换为一种在其e2 studio中可用的形式,并且与C/C++程序兼容。
NXP表示,已有客户将其低端Kinetis和LPC MCU用于机器学习应用。该公司正在将AI硬件和软件解决方案结合起来,尽管起初主要围绕其较大的应用处理器和交叉处理器(介于应用处理器和微控制器之间)进行。
强大的Arm支持
大多数微控制器领域的老牌公司都有一个共同点,就是基于Arm内核。嵌入式处理器内核巨头以Cortex-M系列产品主导着微控制器市场。该公司最近宣布了全新的Cortex-M55内核,是专门为机器学习应用设计的,特别用于与Ethos-U55 AI加速器结合时。二者皆为资源受限的环境而设计。
Arm的Cortex-M55和Ethos-U55协同使用,在手势识别、生物识别和语音识别等领域具有足够的处理能力(图源:Arm)
但是,初创公司和小公司怎样才能在这个市场上与大公司竞争呢?
“不是通过构建基于Arm的SoC 来竞争的!因为他们在这方面已经做得很好。” XMOS首席执行官Mark Lippett笑着说。“与这些对手竞争的唯一机会是拥有架构优势……(也就是)Xcore在性能方面具有独特优势,也不失灵活性。”
虽然XMOS最新发布的语音接口交叉处理器——Xcore.ai,不会与微控制器展开直接竞争,此观点仍是正确的。任何公司要制造基于Arm的SoC来与大公司竞争,都最好要在他们的秘密武器中有一些比较特别的东西。
扩展电压和频率
初创公司Eta Compute在TinyML展会期间发布了备受期待的超低功耗器件。该器件可以用于永远在线图像处理和传感器融合应用中的机器学习,其功率预算为100µw。该芯片采用Arm Cortex-M3核心加NXP DSP核心,其中任一内核或两者一起都可用来处理ML工作负载。该公司的秘密武器有几个关键要素,但最主要的是在这两个内核上连续扩展时钟频率和电压的方式。这样可节省大量电能,尤其是在没有PLL(锁相环)的情况下。
Eta Compute的ECM3532使用Arm Cortex-M3核心加NXP CoolFlux DSP核心。机器学习的工作量可以由其中一核心来处理,也可以由两者来处理(图源:Eta Compute)
如今,Arm有有力的竞争对手,包括RISC-V基金会开发出的指令集架构,未来可期。既如此,为什么Eta Compute选择使用Arm核心来实现超低功耗的机器学习加速呢?
Tewksbury告诉EETimes:“答案很简单,Arm的生态系统已经发展得很好。”“[用Arm]进行生产比用现在的RISC-V进行生产要容易得多。这种情况将来可能会有变化。 RISC-V有自己的优势,这肯定会对中国市场有利,但我们现在主要是利用[我们的器件]构建生态系统来服务美国国内和欧洲市场。”
Tewksbury指出,AIoT面临的主要挑战是应用的广度和多样性。市场相当分散,许多相对利基的应用仅占很小的数量。然而,该领域总共可能扩展到数十亿设备。
Tewksbury表示:“开发人员面临的挑战是,他们负担不起为每个用例开发定制解决方案要耗费的时间和金钱。”“这就是灵活性和易用性变得至关重要之处。这也是我们选择Arm的另一个原因,因为Arm有自己的生态系统,有自己的工具,客户无需进行大量定制便可以很容易地快速开发产品,并将其快速推向市场。”
在Arm对其指令集架构(ISA)锁定数十年之后,终于在去年10月宣布,允许客户构建自定义指令来处理机器学习之类的专业工作负载。如果使用得当,该功能还可能有机会进一步降低功耗。
Eta Compute还不能利用这一功能,因为它不适用于现有的Arm内核,所以也不适用于Eta正在使用的M3核心。但是,Tewksbury 能否看到Eta Compute在未来的产品中使用Arm定制指令来而进一步降低功耗呢?
“当然会。”他如是说。
可选的ISA
今年,RISC-V受到广泛关注。开源ISA允许不付许可费便能设计自己的处理器,而基于RISC-V ISA的设计可以像任何其它类型的IP一样受到保护。设计人员可以选择要添加的扩展,并可以添加自定义的扩展。
有多家公司使用RISC-V内核瞄准超低功耗机器学习领域,法国初创公司GreenWaves便是其中之一,其芯片GAP8和GAP9分别使用8核和9核计算集群。
GreenWaves的GAP9超低功耗AI芯片架构现在使用了10个RISC-V核心(图源:GreenWaves)
GreenWaves负责业务开发的副总裁Martin Croome向EETimes解释了公司使用RISC-V内核的原因。
Croome称:“第一个原因是RISC-V让我们能够在指令集级别上定制内核,我们常常使用此功能。”他解释说,定制扩展是用来减少机器学习和信号处理的工作量。“公司刚成立的时候,如果想用其它处理器架构来完成这件事,要么不可能,要么就要花一大笔钱。而要花费的这笔钱实际上是投资者的钱,白白给了另一家公司,这很难令人信服。”
与未修改的RISC-V核心相比,GreenWaves的自定义扩展使其内核的能耗改善了3.6倍。但Croome也表示,RISC-V之所以具有基本的技术优势,就是因为它是全新的。
“这是一套非常简洁、非常现代化的指令集,没有任何冗余。所以从执行的角度来看,RISC-V核心实际上结构更简单,简单就意味着更少的能耗,” Croome说道。
Croome还认为控制是一个重要因素。GAP8在其计算集群中有8个内核,而GreenWaves需要对内核执行进行非常精细、具体的控制,以实现最大的能效。他说,RISC-V能够做到这一点。
他开玩笑说:“最后,如果我们可以用Arm来实现所有上述功能,那我们就会用Arm,这个选择更合理……因为从来没有人因为购买Arm而遭解雇。”“其软件工具的成熟度远远高于RISC-V……但话又说回来,现在RISC-V受到如此广泛的关注,其工具的成熟度提高得非常快。”
总之,尽管一些人认为,Arm对微处理器市场的控制正在减弱,在一定程度上是因为RISC-V的竞争加剧,但GreenWaves从一开始就采取定制扩展指令的策略,针对机器学习开发全新的内核来应对竞争。
事实上,Arm和非Arm器件都将会进入超低功耗机器学习应用的市场。随着TinyML社群继续致力于缩小神经网络模型的尺寸,开发专用的框架和工具,该领域将发展成为一个健康的应用领域,支持各种不同类型的器件。
(参考原文:Adapting the Microcontroller for AI in the Endpoint)
责编:Amy Guan
本文为《电子工程专辑》2020年4月刊杂志文章,版权所有,禁止转载。点击申请免费杂志订阅