案例| MindSpore Lite for Micro超轻量AI引擎助力华为WATCH 3发布
案例| MindSpore Lite for Micro超轻量AI引擎助力华为WATCH 3发布
1 生活中的AI
MCU的全称是Microcontroller Unit,中文可以称为微控制器或者单片机。MCU既可用于汽车电子、工业控制等领域,也可应用于小型和低功耗设备中。全球有数十亿台物联网(IOT)设备,大到扫地机器人、微波炉、音箱,小到手表、手环、电动牙刷等,都离不开MCU。MCU不仅承担计算任务,还可扩展接入众多外设,比如按键、麦克风、扬声器、摄像头和传感器等,实现与周围环境的互动。即便五年前,大部分MCU小型设备都不具备智能能力。近几年,随着深度神经网络技术的快速发展,出现了TinyML的细分领域。TinyML(微型机器学习)是指机器学习或者深度学习应用于微型设备上的场景。简单来说,它是指在MCU设备上进行AI模型训练和推理。有了TinyML,再小的设备也可以具备智能化,而无需依赖昂贵的硬件或者可靠的互联网传输。TinyML的另一项优势是隐私保护,所有操作均在本地完成,无需向云侧发送任何数据。
2 现实问题
智能手表是华为消费者业务除手机外另一个重要的产品,也是典型的MCU设备。华为在2015年发布了第一款智能手表。前两代手表自发布后,经常收到用户反馈在抬腕亮屏这个功能上体验不佳,比如亮屏时延较大、概率性不亮屏和误亮等,这些问题也间接造成了手表续航时间的减少,对华为品牌声誉造成影响。造成该问题长期存在的原因很多,比如早期使用的是传统算法(非深度学习);使用了友商的推理框架,由于该框架没有对MCU设备进行优化,导致程序的ROM和RAM占用均较高,这对于资源受限的MCU设备来说,无疑雪上加箱。另外,该框架算子计算性能不佳,导致推理时延也比较大,最终导致亮屏时延较大。
3 解决方案
2020年,华为自研的深度学习框架MindSpore正式对外开源。作为一款优秀的全场景AI框架,MindSpore也提供对TinyML模型端到端的部署能力。MindSpore训练框架可以让用户快速入门AI应用,简单高效地训练出自己专属的AI模型。而MindSpore Lite for Micro作为一款超轻量AI推理引擎,让用户轻松部署自己的TinyML模型。MindSpore Lite for Micro核心理念是“模型即代码”,会根据目标硬件的CPU体系结构、内存状况,以低功耗、高性能和无第三方依赖为优化目标,为每个模型生成专属的高效推理代码。

该方案分为Host和Device两个阶段。在Host阶段,我们会对AI模型进行各种算子转换和图优化操作,大幅缩减冗余计算,力求在目标硬件上达到最优推理性能。这里的模型不单指MindSpore的模型,还支持其他主流模型格式接入,比如TF、TFLITE、ONNX和CAFFE等。我们还支持训练后量化,实现模型更小、推理更快。Device阶段,用户需要将生成的目标源代码进行交叉编译,部署到目标硬件上。我们生成代码的同时,配套提供了CMake的构建工程,大大方便了用户集成;对于IDE集成的用户,我们在官网也提供了操作指南。
4 助力Watch3

2021年6月2日,HarmonyOS及华为全场景新品发布会上,作为华为旗舰智能腕表的WATCH 3正式发布。该款产品内置了我们MindSpore Lite for Micro超轻量AI引擎,实现了误亮屏减少50%、超长续航模式下续航提升1.2天、ROM和RAM占用均大幅减少的优秀成绩,取得了不俗的市场评价和用户口碑。在解决长期困扰手表用户的抬腕亮屏问题背后,是MindSpore Lite for Micro针对MCU设备的精准定位。首先,它在模型小型化上做到极致,通过模型优化和代码裁剪大幅降低代码量,从而降低ROM的空间占用。其次,它通过代码优化提升内存块复用,从而减少RAM空间占用。最后,基于开源CMSIS-NN算子库进行卷积类算子优化,进一步提升性能,降低时延。
5 结语
MindSpore Lite for Micro超轻量AI引擎不仅助力了Huawei Watch3,在智慧屏、智能音箱、蓝牙耳机、打印机等众多华为IOT设备上都有它的身影。未来,我们也将助力整个中国的物联网和AI产业迈向成功,使用MindSpore Lite for Micro超轻量AI引擎实现“模型即代码”,使能IOT设备的AI能力,让AI智慧化无处不在。
如需要进一步了解这个MCU模型部署利器,请访问官网https://www.mindspore.cn/