TinyML:AI 的下一个技术方向 在边缘侧实现超低功耗机器学习

煤油灯科技2022-09-11 13:06

TinyML,这是一个最先进的领域,它带来了 ML 的执行能力来缩小深度结构化盈利网络,以适应微小的硬件。它是边缘计算的一种新方法,研究了边缘设备上机器学习模型的部署和训练。

TinyML到底是什么?

TinyML正处于嵌入式机器学习应用程序、硬件、软件和算法之间的交叉点。它是嵌入式系统和常规机器学习的交叉,它不仅需要软件方面的专业知识,还需要嵌入式系统方面的专业知识——两者都有各自的重大挑战。

TinyML是ML中的一个子领域,它将机器学习和深度学习模型应用于运行在微控制器或数字信号处理器或其他超低功耗专用处理器上的嵌入式系统。从技术上讲,嵌入式系统需要小于1兆瓦的电力,这样它们就可以运行几个月,甚至几年,而不需要充电或更换电池。

TinyML与Edge AI非常相似,但TinyML可以让Edge AI更进一步,允许你在最小的微控制器(MCU)上运行机器学习算法。

ABI Research预测,到2030年,TinyML设备的全球出货量将达到25亿部,经济价值将超过700亿美元。目前有几家公司正在研究芯片和框架,用于构建更系统化的TinyML设备:

  • Arduino的一个新的TinyML工具包
  • 来自谷歌的微控制器的Tensorflow Lite
  • Microsoft Azure Sphere,一个用于构建更快、更安全的物联网设备的综合安全平台。

名单还在持续增加。

TinyML的硬件和软件是什么?

TinyML令人印象深刻的是,它打算在硬件方面开发一些非常平庸的技术。在某些方面,TinyML的真正目的是用尽可能少的功率进行ML推断。

被广泛认为是TinyML创始人的Pete Warden在他关于这个主题的原创作品中声称,TinyML应该立志在能源使用低于1兆瓦的情况下运行。这个随机数量的原因是,1兆瓦的消耗允许设备运行几个月到一年的正常硬币电池。在考虑TinyML的电源时,可以考虑小型锂电池、硬币电池和能量收集设备。

TinyML与大多数机器学习应用不同,它不依赖于GPU、ASIC或微处理器进行计算。我们几乎完全被降级到性能较差的处理设备,如MCU和数字信号处理器,以实现雄心勃勃的1兆瓦目标(DSP)。这些设备通常是基于Cortex-M的,只有几百KB的RAM,相当数量的闪存和几十兆赫兹的时钟速率。

传感器(例如,摄像头,麦克风)和BLE(低功耗蓝牙)连接是你可能在TinyML设备上找到的其他组件。

Python通常是构建ML模型的首选方法。然而,当使用TensorFlow Lite时,你可以利用C、c++或Java来构建机器学习模型。

连接到网络是一个消耗能量的操作。利用Tensorflow Lite,您可以创建机器学习模型,而无需连接到互联网。此外,这解决了安全问题,因为嵌入式系统不太容易被黑客攻击。

Tensorflow Lite提供了用于日常使用的预训练机器学习模型。这包括:

  • 对象检测:这可以识别图像中的许多对象,允许多达80个不同的东西。
  • 智能回应:创建智能回应,类似于你从聊天机器人或对话AI得到的回应。
  • 推荐:它提供基于用户行为的定制推荐系统。

Tensorflow Lite有几个可行的替代品,两个很好的竞争者是:

  • CoreML苹果库,为iOS设备建立机器学习模型。
  • Facebook的PyTorch深度学习库的手机版。

为什么我们要转向TinyML?

具有成本效益的

对于便宜的东西,有硬件的限制(连接)。例如,在一个计算能力被定价的世界里,这些设备就不足。此外,在设计和功能上,这些设备都是比较基础的。因此,单位成本可以保持在较低水平。在各种行业中,这些技术已被接受用于物联网架构。电子保健、农业和娱乐都属于这些行业。

这些单元有各种形状和大小,它们经常被用作物联网的终端设备,它们也可以被重新编程。这些部署设备的低成本、异构性和可编程性为智能创造了一个引人注目的案例。因此,会出现适应性更强、更智能的系统。

能量一致性

GPU和强大的处理器的使用需要大量的处理能力。数据传输,无论是有线还是无线,都是非常消耗能源的。

当与前面提到的GPU和处理器一起使用时,基于MCU的解决方案即使在最高的工作负载下使用的功耗也要低得多。这给MCU提供了依赖电池的选择,它还能使单片机进行一些能量收集。由于它们的能源效率,它们几乎可以安装在任何地方,它们不需要连接到电网。

由于其低功耗,智能设备可以与更大的电池供电设备集成在一起,创建一个连接智能实体的网络。

数据安全性和系统可靠性

通过有损和不可靠的无线网络从终端设备到云的原始数据传输使整个系统面临几个问题:首先,无线传输需要大量的能量。第二,这些广播需要大量的带宽。这种传递方式也容易出错。另一个令人担忧的来源是网络攻击的威胁,终端设备与云之间的信息收集可由第三方进行。

此外,将数据存储在一个地方(在这种情况下,云)会降低其安全性。如果出现漏洞,所有依赖存储数据的系统都将受到影响,系统的可靠性受到了威胁。

在设备上进行数据处理是防止这些问题的一个好方法,传输量将保持在最低限度。对于潜在的攻击者来说,被传输的数据可能不是那么关键。这是因为(数据)处理和决策能力将在地方一级进行。云和设备之间交换的数据可能不是很有价值,因此,系统变得更加稳定和安全。

TinyML面临的挑战

TinyML仍处于起步阶段,该领域的探索和开发正以惊人的速度发展。这一领域的研究涵盖了广泛的主题,其成功将取决于在多个学科的交叉领域的突破,如机器学习算法、计算机架构和硬件设计。这项技术在发展过程中还需要克服许多障碍,包括:

硬件和软件异构性:

TinyML领域与物联网领域一样,拥有广泛的硬件组件和算法,因此很难把握不同TinyML实现之间的权衡。

限制基准测试工具:

为了全面了解TinyML的性能,必须对运行基于TinyML算法的系统进行全面的比较。为了分析、量化和系统地捕捉系统之间的不同性能变化,需要一组基准测试工具和过程。TinyMLPerf是TinyML社区建立的一个新组织,为TinyML系统的基准测试提供规则和过程,考虑了许多因素,如功耗、性能、硬件差异和内存使用。

缺乏普遍接受的模型:

一旦一套标准的、得到广泛认可的模型公开可用,基于单片机的嵌入式设备的机器学习的大规模接受将是可以实现的。由TinyML社区建立的一套广泛适用的基于TinyML的学习模型可以推动TinyML框架的采用,类似于MobileNet如何成为测试移动边缘计算设备替代神经网络模型的基线模型。

还需要其他类型的机器学习模型:

由于性能的改善,TinyML社区目前正专注于创建深度神经网络模型。由于其较低的复杂性和资源需求,该框架应研究各种形式的机器学习算法(如SVM、集成模型、决策树等)。

结论

TinyML有潜力在工业和消费领域打开一个全新的智能应用世界。这一领域虽然还处于起步阶段,但发展很快。TinyML目前的重点是确定资源受限的嵌入式系统的几个组成部分(机器学习算法、硬件和软件)之间的性能边界和权衡。为了让TinyML获得广泛的接受,基准测试标准必须处理硬件和软件的可变性。

TinyML将开辟新的研究途径,重点关注边缘推理如何影响复杂系统的其他特性,例如连接、自治和网络攻击弹性。它有很大的希望从一个新的角度实现机器学习的研究和开发,这可以在各个领域带来创新的解决方案。


原文链接:https://www.artiba.org/blog/tinyml-the-future-of-machine-learning

你可能也喜欢这些文章

科技互联网,科技,资讯,动态,洞察,量子,计算,AI,人工智能,机器人,区块链,Web3,分布式,操作系统,OS,芯片,视频,深度,论文