分享自:

TensorFlow Lite Micro:嵌入式系统上的机器学习框架

期刊:Proceedings of the 4th MLSys Conference

类型b

作者与期刊信息
本文由Robert David、Jared Duke、Advait Jain、Vijay Janapa Reddi(来自Google和哈佛大学)等多位作者撰写,发表于2021年第四届MLSys会议(Proceedings of the 4th MLSys Conference)。文章主要围绕TensorFlow Lite Micro(TFLM)展开,探讨其设计原理、技术实现及其在嵌入式系统中的应用。


主题与背景
本文的主题是介绍TensorFlow Lite Micro(TFLM),一个专为嵌入式系统设计的开源机器学习推理框架。随着嵌入式设备数量的快速增长(全球超过2500亿个微控制器),TinyML(微型机器学习)成为嵌入式系统与机器学习交叉领域的新兴研究方向。然而,嵌入式系统资源受限、硬件生态碎片化等问题限制了TinyML的广泛应用。TFLM通过采用基于解释器(interpreter-based)的设计方法,解决了跨平台互操作性差、优化困难以及开发效率低下的问题,从而为嵌入式设备上的机器学习提供了高效的解决方案。


主要观点及支持内容

1. 嵌入式系统中机器学习框架的核心挑战

嵌入式系统的特点决定了其对机器学习框架的需求与其他计算平台不同。首先,嵌入式设备通常缺乏动态内存管理、虚拟内存、文件系统等现代软件开发的基础功能,导致许多主流技术无法直接应用。其次,嵌入式市场的高度碎片化使得单一框架难以适配多种硬件架构。此外,嵌入式设备的资源限制(如存储容量小、功耗低)进一步增加了开发难度。最后,深度学习模型的快速演进也要求框架具备灵活性以适应新的算法和操作。

这些挑战表明,传统的编译器或代码生成方法在嵌入式领域并不适用,而解释器方法因其灵活性和可移植性成为更好的选择。


2. TFLM的设计原则

TFLM的设计遵循以下几项核心原则:

(1) 最小化功能范围以提升可移植性

TFLM假设模型、输入数据和输出数组已加载到内存中,并仅处理与这些值相关的机器学习计算。这种设计避免了依赖动态内存分配或其他高级功能,从而提高了框架在资源受限环境中的适用性。

(2) 支持硬件供应商优化

TFLM允许硬件供应商针对特定处理器提供优化的内核实现,而无需编写目标特定的编译器。这使得供应商能够轻松集成优化方案并进行性能基准测试。

(3) 复用TensorFlow工具链以提高扩展性

TFLM充分利用了TensorFlow训练环境中的工具链,包括模型导出、量化和优化等功能。通过复用这些工具,TFLM能够快速支持嵌入式机器学习系统的开发。

(4) 构建异构支持的构建系统

为了适应嵌入式市场的多样性,TFLM采用了灵活的构建系统,避免被任何单一平台所束缚。开发者只需将源文件拖放到其IDE或工具链中即可完成编译,无需额外修改。


3. TFLM的技术实现细节

(1) 解释器架构

TFLM采用基于解释器的推理引擎,而非传统的代码生成方法。解释器加载一个明确定义的机器学习模型数据结构,并在运行时动态处理模型参数和操作。这种方法不仅简化了模型更新流程,还显著降低了运行时开销。

(2) 内存管理策略

由于嵌入式系统通常不支持动态内存分配,TFLM通过“双栈分配策略”实现了高效的内存管理。该策略将初始化阶段和评估阶段的内存需求分离,从而减少了内存浪费。此外,TFLM还引入了内存规划器(memory planner),用于优化中间缓冲区的布局。

(3) 操作符支持与平台优化

TFLM的操作符实现具有良好的模块化特性,允许开发者轻松替换默认实现。例如,ARM、Cadence等硬件供应商提供了针对其处理器优化的CMSIS-NN库,显著提升了卷积等操作的性能。

(4) 多租户支持

TFLM支持在同一嵌入式系统上运行多个模型实例,只要这些模型不需要同时运行。通过共享内存区域,TFLM有效减少了资源占用。

(5) 性能基准测试

实验结果表明,TFLM在SparkFun Edge(基于ARM Cortex-M4)和Tensilica HiFi Mini DSP平台上均表现出色。例如,在Cortex-M4上,CMSIS-NN优化后的卷积操作速度提升了4倍以上;在DSP上,优化版本比基线版本快7.7倍。此外,TFLM的解释器开销极低,在长运行模型中占比不到0.1%。


4. TFLM的应用价值

TFLM的成功部署展示了其在实际应用中的巨大潜力。例如,关键词检测(Keyword Spotting)和视觉唤醒词(Visual Wake Words)任务都已在嵌入式设备上成功运行。这些应用不仅证明了TFLM的高效性,还为未来的工业和消费级产品开发奠定了基础。


5. 相关工作对比

与现有框架(如Microsoft的ELL、Glow、STM32Cube.AI等)相比,TFLM的独特之处在于其基于解释器的设计方法。这种方法在灵活性和可移植性方面具有显著优势,特别是在应对嵌入式生态系统的碎片化问题时表现突出。此外,TFLM通过复用TensorFlow工具链,进一步增强了其扩展性和易用性。


6. TFLM的意义与贡献

TFLM的主要贡献体现在以下几个方面:
1. 解决嵌入式生态系统的关键挑战:通过解释器方法克服了硬件异构性、功能缺失和资源限制等问题。
2. 推动TinyML的普及:TFLM为嵌入式设备上的深度学习应用提供了高效的解决方案,加速了TinyML技术的发展。
3. 促进硬件优化与基准测试:TFLM为硬件供应商提供了中立的性能验证平台,并支持行业标准基准测试(如MLPerf)。
4. 开放性与社区支持:作为开源项目,TFLM吸引了众多开发者和硬件供应商的参与,形成了活跃的生态系统。


总结与展望
TensorFlow Lite Micro(TFLM)通过创新的设计和实现,为嵌入式系统中的机器学习推理提供了高效且灵活的解决方案。其基于解释器的方法不仅解决了跨平台互操作性问题,还显著降低了开发成本和复杂性。未来,随着TinyML技术的进一步发展,TFLM有望在更多领域发挥重要作用,包括智能家居、医疗健康、工业自动化等。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com