自从AI热潮降临,MCU上的AI处理能就越来越强大。对MCU来说,TinyML就是正在发生的变革。其最大的优点就是可移植性。在具有小电池和低功耗的廉价MCU上运行意味着,使用 TinyML,人们可以很容易地将ML以便宜的价格集成到几乎任何东西中。
SensiML作为TinyML的先驱,前两日宣布计划贡献核心IP、SensiML Analytics Studio作为新的开源社区协作项目的基础,从而在开源道路上迈出了大胆的一步。
商业解决方案核心全都开源
SensiML为QuickLogic公司旗下的子公司,能够提供数种不同的软件用以撷取数据、建立模型与测试验证。其软件支持非常多不同的硬件开发板,如Arduino Nano 33 BLE Sense、Arduino Nicla Sense ME、M5Stack M5StickC PLUS, Nordic Thingy、Raspberry Pi等,甚至连8位的Microchip Technology AVR128DA48 Curiosity也能使用。
国内方面,2022年风标电子宣布,正式代理SensiML Analytics Toolkit。
由于其提供软件功能完整使用便利,并且能布署TinyML模型在多种不同的中低阶MCU上,也能弹性搭配各类传感器(如IMU、麦克风等)进行收集数据,不管是在商业开发或社群上一直都备受好评。
过去,虽然SesniML是商业解决方案,但也有社群版本让开发者进行实验。
2021年QuickLogic就正式启动SensiML开源计划,以巩固在边缘、端点、物联网领域AI应用方面的领导地位。
不过,那时候,SensiML主要开源了嵌入式SDK、网关、数据接口、移动测试应用程序,专注于为传感器数据接口协议和由此产生的物联网边缘推理模型提供更高的透明度。
这一次,不一样的是,SensiML将基于服务器的AutoML引擎Analytics Studio和核心IP都开源了,并预计在接下来的几周内,SensiML将提供有关开源项目GitHub repo和OSS项目网站的最新信息,这些网站计划于今年夏初推出。
开源对SensiML商业计划有什么影响?官方表示,与RedHat的Linux模型类似,SensiML将继续在双重许可策略下提供传统的企业许可证选项。
同时官方补充,开源的主要动机是受益于协作开源开发模式带来更快创新步伐,除代码贡献外,还包括增强的代码质量、与新硬件的集成、额外的预训练模型模板、示例应用程序、改进的文档、QA测试和错误提交。与此同时,SensiML将继续提供其现有的托管云SaaS服务计划,并为希望获得更高支持水平的客户提供TinyML模型开发的用户咨询和定制工程服务。
开源TinyML,解决现有难题
SensiML在公布中,非常强调AI/ML的“黑匣子”这个问题。他们表示,看到了更多的TinyML生态系统挑战和相应的开源机会,激发了扩展开源计划,包括核心AutoML引擎Analytics Studio。
“我们开始相信,一个充满活力的开源软件工具社区的存在对于推动TinyML生态系统的发展至关重要。”
根据Linux基金会进行的2023年OSS调查显示,人工智能/机器学习(AI/ML)被全球IT经理列为对行业未来最有价值的开源技术。
当考虑开源AI/ML项目和技术时,大部分是框架、库和模型定义格式(例如 TensorFlow、PyTorch、Scikit-learn、OpenCV 和 ONNX 等),但不是完整的端到端工具链,更不用说那些专注于AI/ML和嵌入式物联网推理代码优化的交叉复杂性的工具链了。
而SensiML认为,这是一个关键的差距,也是一个机会,可以帮助加速那些没有精通数据科学的开发人员所需的复杂步骤的采用和民主化。很多IT经理更优先选择开源软件而不是专用软件:
创新和敏捷性:开源项目协作性质可以加速创新,因为世界各地开发人员都会贡献新的特性和功能,可以帮助开源软件和使用企业通过快速采用新技术和方法来保持竞争力;
避免供应商锁定:开源提供了一种被锁在特定供应商生态系统和产品路线图中的替代方案,企业可以从各种支持选项中进行选择,并且不依赖于单个供应商的更新、改进或安全补丁;
社区和支持:开源项目通常拥有活跃的社区,这些社区提供响应式支持网络、广泛的文档和丰富的共享知识,用户可以利用这些社区进行故障排除、建议和最佳实践;
质量和安全性:许多开源项目都是在高度透明、同行评审的环境中开发的,可以产生高质量和安全的软件解决方案,任何人都可以检查和改进代码,这有助于快速识别和修复安全漏洞;
人才吸引和留住:许多开发人员更喜欢使用开源技术,采用开源软件可以帮助企业吸引和留住人才,特别是那些重视透明度和社区参与工作的人;
战略优势:使用开源软件可以提供战略优势,例如培养创新的企业文化、与开放技术的行业趋势保持一致以及参与更广泛的数字化转型计划。
当然,上面所说的还是有些抽象,具体来看,开源能够帮助TinyML解决许多挑战:
挑战 #1 – TinyML传感器应用特有的数据集瓶颈
使用深度学习技术创建准确的预测模型依赖于足够的模型训练数据的可用性,以涵盖实际使用中可以预期的方差来源和范围。因此,这种训练数据集需求可能相当大。比较极端的情况就是大型语言模型 (LLM),它具有数万亿个模型参数、数十万个GPU训练小时,以及接近Internet上可用的人类文本总数的训练数据集。
TinyML模型所依赖的训练数据集规模显著小于其他模型,然而,由于传感器衍生输入数据的特性,这一数据集的挑战实际上比大型语言模型(LLM)更为棘手。尽管LLM规模庞大,但它们受益于人类语言文本这一可扩展的数据源,这些数据源通常通过自动从互联网抓取文本、文档和Wiki页面等获得。然而,在传感器应用方面,通常不存在这种易于扩展的等效数据源。
想象一下,为了满足实际用例的需求,如预测特定电机负载下大框架直流电机的故障状态,或者从与位置相关的振动传感器输入和麦克风中收集数据,要在网络上抓取足够的原始传感器数据是一项巨大的挑战。几乎可以肯定的是,如果不设计自己的实验,很难找到完全符合给定应用程序需求的数据集。
数据集瓶颈问题在TinyML领域多数用例中都普遍存在。它要求开发人员投入大量的时间、精力和成本来收集针对其特定用例的经验数据。他们必须确保数据足够多样化,并在足够多的条件下进行训练,以便模型能够有效地应对实际使用中可能遇到的各种条件。例如,在电机案例中,大型跨国电机制造商可能拥有或能够生成足够的数据来开发稳健的模型,但缺乏此类资源的小型公司和创新者则可能仅限于更简单的模型。
数据集瓶颈最终限制了TinyML的广泛采用,因为为许多这样的应用程序获取训练和测试数据的门槛非常高。
而开源TinyML工具能够减少训练数据集瓶颈,包括迁移学习、数据增强、从模拟和GAN生成合成数据、半监督学习和模型压缩等技术。这些方法正在迅速发展,在TinyML中包含的许多用例中,有效的方法各不相同。
例如,用于图像识别的数据增强通常涉及旋转、平移、缩放或色移,而音频数据将涉及一组完全不同的音高、音色、节奏和噪声叠加的转换。面对快速变化的最先进的方法和途径的步伐,这些方法和途径因应用而异,因此对基于开源社区的协作的需求至关重要。开源开发模型为问题带来了规模和洞察力的多样性,这是封闭的开发团队无法比拟的。通过为社区贡献和改进开放一个通用的TinyML开发平台,SensiML相信生态系统可以从克服数据集瓶颈的集体努力中更快地受益。
挑战 #2 – TinyML 软件工具碎片化和锁定
过去几年中,许多AutoML开发工具的竞争对手被硬件供应商收购,这些供应商想要通过绑定软件来用户锁定在它们的芯片产品中。虽然从芯片供应商的角度来看,这种动机是可以理解的,但从物联网开发人员的角度来看,由此产生的碎片化生态系统远超想象。
想要工具包X,但出于其他设计或业务原因需要使用硅Y,借助这些专属解决方案,用户面临着在软件工具功能和硬件选择的难题(如数据表规格、成本和第二来源替代方案)。当这两个目标发生冲突时,常见的结果是,物联网开发人员只会开发简单的ML功能,直到ML工具成熟并且存在针对特定所需硬件和应用程序需求的功能支持。
开源TinyML工具为TinyML实施者提供选择和灵活性可以更好地满足用户的需求,而不是与特定硬件供应商的产品捆绑在一起。这种灵活性甚至可以被看作是一种战略决策,它保留了在开发机器学习工具技能和数据集方面的投入价值,这些技能和数据集可以跨硬件和特定工具实现进行移植。
通过为开源贡献一个基线AutoML工具链,就像供应商和Eclipse基金会维护通用IDE技术一样,开源后的TinyML的潜力会非常大。
用工具,降低AI开发门槛
嵌入式系统专家、嵌入式联谊会秘书长何小庆则曾表示,嵌入式产业端侧AI是三大趋势之一——在设备上一部分以前使用的Cortex A 嵌入式处理器(MPU)正在被Cortex M /RISC-V 微控制器(MCU)替代,在MPU上操作系统以前使用的Linux, 正在让位于嵌入式实时操作系统(RTOS)。
很多工程师对于MCU放入AI功能抱有一定看法,并反问道,“自行车装上发动机就能去跑摩托越野赛了?”
现有MCU的CPU核一定不适合做AI/ML,会极大占用计算资源,让功耗上升。所以现在MCU中不仅加入DSP、FPU,也加入NPU,解决AI算力问题,还能保持低功耗。
而对于边缘AI,何小庆指出,目前嵌入式系统端侧AI开发缺乏AI专家人才,工具则是解决开发团队缺少AI专家的关键。工具提供商如Edge Impulse、SensiML和Sensory AI,通过工具的配置实现端侧智能模型和算法建立。
其实很容易理解,MCU开发者,不一定就都是AI专家,其实用工具降低开发门槛FPGA早就这么做了,比如AMD(赛灵思)、Altera(英特尔)都支持C语言开发FPGA,好的工具链能够让TinyML落地更简单。
他还指出,工具型开发方式需要解决问题是拓宽模型的适应性以及便捷的数据采集和优化方法。目前在该领域,国际嵌入式企业比如ST、芯科和瑞萨走在前面,更重要的是,大多数开源AI软件还是免费的:
ST在2019年发布STM32Cube.AI工具,在今年使用NVIDIA TAO 工具套件拓展STM32边缘AI生态;
NXP在2018年就推出机器学习软件eIQ®机器学习(ML)软件;
Microchip在2020年将Edge Impulse和Motion Gestures的软件和解决方案接口引入其设计环境;
Renesas在2022年完成对美国从事机器学习模型开发的初创企业Reality AI(以TinyML为业务)的收购;
TI在2023年推出了Edge AI Studio;
Infineon今年5月收购瑞典的TinyML和AutoML领域初创公司Imagimob AB。
国内企业才起步。在智能视觉识别和语音唤醒等市场有进展,比如嘉楠科技、启英泰伦和星宸科技,未来发展空间很大。
可以看到,国际玩家都开始做开源工具,既为我们做出更多选择,也为国产后续工具链指明道路。