一文读懂即将引爆的TinyML:在边缘侧实现超低功耗机器学习

导 读

分布最广的物联网设备往往体积很小、电量有限。它们被作为终端硬件,通过嵌入式传感器采集各种数据;计算能力有限,对功耗极为敏感。这类设备也能实现机器学习吗?一个趋势是,人工智能AI正在加快速度从“云端”走向“边缘”,进入到越来越小的物联网设备中。在终端和边缘侧的微处理器上,实现的机器学习过程,被称为微型机器学习,即TinyML。

分布最广的物联网设备往往体积很小、电量有限。它们被作为终端硬件,通过嵌入式传感器采集各种数据;计算能力有限,对功耗极为敏感。这类设备也能实现机器学习吗?

一个趋势是,人工智能AI正在加快速度从“云端”走向“边缘”,进入到越来越小的物联网设备中。

在终端和边缘侧的微处理器上,实现的机器学习过程,被称为微型机器学习,即TinyML。更准确的说,TinyML是指工程师们在mW功率范围以下的设备上,实现机器学习的方法、工具和技术。

一批企业正在利用TinyML相关的技术与产品,探索如何在这些无处不在的小型设备上,更好的搭载机器学习,以便提高设备的分析能力和运行效率。

TinyML是不同技术领域和推动因素的交集,它位于物联网设备、机器学习和边缘计算之间的结合部,并因为多种驱动力的综合作用,进展很快。

在刚刚过去的2月中旬,TinyML 2020峰会在硅谷举行。英伟达、ARM、高通、谷歌、微软、三星等公司纷纷展示了微型机器学习的最新成果。

这是TinyML峰会的第二届。TinyML 2019峰会共吸引了来自90多家企业的数百名工程师参与,而本届峰会的盛况更是空前,并且得出了很多重要结论:

对于很多应用场景,TinyML技术和硬件已经进化到实用性较强的阶段;

无论是算法、网络,还是低于100KB的ML模型,都取得了重大突破;

视觉和音频领域的低功耗需求快速增长。

TinyML峰会的主办方,是在2019年7月刚刚成立的TinyML基金会,成员不仅包含各大知名企业,还包含GreeWaves、Eta Compute、Esperanto、Xnor、Picovoice等优秀的初创公司。

技术的进步和生态的发展,为TinyML的发展赋予了巨大的动能。目前,TinyML的影响力正在持续发酵,2020年势必将有大批产品和解决方案问世,是一个值得重点把握和关注的领域。因此本文将为你汇总呈现TinyML的全景:

什么是TinyML?

什么是TinyML即服务?

TinyML为何重要?

TinyML的市场规模预测

TinyML的最新产品有哪些?

TinyML有哪些应用实践?

TinyML的相关组织

01

什么是TinyML

机器学习(ML)正在变得越来越小。

正如文初所述,TinyML是机器学习在微控制器上的应用,是超低功耗边缘侧人工智能。

无论何时何地,数据都需要即时可用,这一趋势越来越明显。全球各行各业都在经历由这种需求推动的“数字化转型”。根据IDC的分析,到2025年,全球创建的数据中,超过四分之一的数据在本质上都是实时数据,而物联网实时数据将占这部分数据的95%以上。

大量涌现的数据催生出了一系列全新的技术,机器学习、自然语言处理和人工智能,它们将数据分析从不常见的、追溯式的实践,转变成为战略决策和行动的前摄式推动因素。这些技术可以大大提高各种行业、环境和应用数据分析的频率、灵活性和即时性。同样根据IDC的预测,到 2025 年,属于数据分析的全球数据总量将增长至原来的50倍,达到 5.2ZB;而机器学习所“触及”的分析数据总量将增长至原来的100倍,达到1.4ZB。

目前存在的机器学习可以划分为3种形态,云端ML、边缘ML和TinyML。TinyML正是针对占比超过95%以上的物联网实时数据处理场景。

因此,目前针对不同类型的计算平台,在不同时间创建和使用的数据量,机器学习被较为清晰的划分为3种类型,发挥着各自差异化的作用:

云端ML:是指机器学习在企业内部或云端特定计算数据中心的应用。这些云服务器涵盖所有类型,包括公共云、私有云和混合云。此外,它还包括运营控制中心,例如管理电网或电话网络的那些运营控制中心。

边缘ML:是指机器学习在不处于核心数据中心的,企业级计算机/设备中的应用。边缘设备包括服务器机房,现场服务器,以及位于各个地区以加快响应速度为目的的小型数据中心。

TinyML:是指超低功耗的机器学习在物联网各种终端微控制器中的应用。TinyML通常功耗为毫瓦(mW)级别甚至更低,因此可以支持各种不同的电池驱动的设备,和需要始终在线的应用。这些设备包括智能摄像头、远程监控设备、可穿戴设备、音频采集硬件以及各种传感器等等……

再看TinyML的发展现状,从算法、软件、硬件这三个维度分析,TinyML已经进化到“足够好”,可以实际应用的阶段。

TinyML是一个新兴领域,是快速增长的机器学习技术和应用,是一片巨大的、未被充分开发的蓝海。

数以亿计的微控制器和各种各样的传感器结合在一起,在未来可能会激发一些非常有创意、更具实用价值的TinyML应用。

对TinyML做个简单总结:

What:TinyML是指超低功耗(毫瓦量级)的边缘侧机器学习应用。

Why:TinyML可以提升大量物联网设备的数据分析和决策能力。

How:TinyML的实现需要硬件、软件和算法的整体性协同设计。

When:现在是着手布局TinyML的最好时机。

TinyML蕴含巨大机会,很多刚刚浮现。未来一两年内,这个领域很可能会出现显著进展。

02

什么是TinyML即服务(TinyML-as-a-Service)

接着我们再来看看什么是TinyML即服务。

这是爱立信率先提出的一个理念。

首先,我们需要明确的区分在物联网终端中应用机器学习的两种方式:

为物联网终端设备提供机器学习服务

在物联网终端设备中内嵌TinyML即服务

这两种表述看似相像,实则不同。

在第一种情况下,为物联网终端设备提供的机器学习服务,一般将所有ML任务都“外包”给边缘设备和云服务器,终端设备则以接收者的身份,“被动”执行由边缘和云端下发的各种任务。

在第二种情况下,物联网终端设备中内嵌TinyML即服务,“主动”参与智能决策与执行。虽然与云端和边缘相比,终端设备的资源非常有限,但TinyML即服务仍旧可以提升终端设备的分析能力,以便其能更好的处理实时物联网数据。

因此TinyML即服务,真正的实现了将机器学习带入到物联网终端。

看到这里,你或许有个疑问:机器学习生态系统非常庞大,而且对资源要求很高。物联网设备那么小,可以执行哪些机器学习任务?

为了更好的回答这个问题,我们先来说说TinyML和云端ML之间的差异,它们分别处于两个截然不同的世界。

上图是从硬件和软件的角度,定性和定量的比较TinyML和云端ML的差异。与TinyML可以调用的资源相比,云端ML简直是“富豪”。为了顺利推进,TinyML必须采用与云端ML不同的思维模式。

在本文最初的三环图中可以看到,TinyML和Linux之间并没有太多交集。大量的物联网设备并没有运行Linux的能力,TinyML无法调用很多成熟的工具、应用和基于容器的虚拟化技术,必须另辟蹊径的解决各种软件、硬件和算法极为缺乏的问题,部署ML服务。

很多公司围绕TinyML付出了各种努力,在后面的部分,我们将会介绍各种TinyML的产品和最新实践。

当然,想要在终端物联网设备中,获得和云端ML同样的体验是不现实的。TinyML主要实现的是推理(inference),也就是把从训练中学习到的能力,应用到实际操作中去。

TinyML想要落地,还需要一整套成熟的架构。爱立信将TinyML即服务的生态系统拆分为3个基本组件:

编译器插件接口

编排协议

推理模块规格

支持这三个组件,表示物联网硬件可以满足实现TinyML即服务的基本要求。下图中更详细的展示了这3个组件之间的相互作用:绿色代表编译器插件接口,黄色代表编排协议和推理模块规格这两个部分。

实现TinyML即服务,需要面对的挑战也是无比艰巨的:

TinyML不仅需要面临边缘ML的全部困难,而且解决问题的能力更加有限;

如何借鉴云端ML的成功经验,顺利推进TinyML在终端中的部署;

如何为数量巨大的物联网设备,都能提供TinyML的良好体验。

03

TinyML为什么重要?

看到这里,你应该对TinyML的重要性已经有了自己的评估。

我们再来统一做个梳理。

TinyML的出现,是为了更好的缓解边缘ML和云端ML中,无法突破的多种问题,包括数据隐私、网络带宽、时间延迟、可靠性和能源效率:

数据隐私:大量的最终用户非常在意数据隐私,在数据开放与共享方面保持谨慎态度。很多用户不愿意将自己的数据交由第三方云平台和边缘服务提供商,进行存储和管理。很多用户倾向于定义清晰的“本地”物理边界,以保存其关键的生产和运营数据。TinyML尝试在物联网设备上,直接处理和分析受限的敏感数据,保护了数据隐私。

网络带宽:很多物联网设备通过窄带物联网NB-IoT或者其他低功耗广域物联网通信协议与网络通信,带宽和数据传输能力极为有限。这些设备有强烈的在本地处理数据的需求,以减少数据的传输,降低网络带宽和传输功耗的压力,避免在终端和边缘设备之间形成带宽瓶颈,影响整套物联网解决方案的性能。

时间延迟:随着5G等技术的发展,海量物联网设备将被部署,很多应用场景都对时间延迟非常敏感,希望数据可以被实时传输。TinyML通过将某些机器学习任务转移到设备本身,来进一步减少网络延迟的可能性,

可靠性:在偏远地区、海上平台、空间站、极端环境的应用中,网络通信有可能无法保证始终覆盖。因此在这些物联网设备中,具备机器学习能力是一种必要功能。TinyML可以将某些边缘和云端中的机器学习能力移植到本地,提升可靠性。

能源效率:许多物联网设备都是电池供电,对于功耗的要求很高。通过极低功耗TinyML的数据分析,减少网络传输的数据量,可以在一定程度上,节约物联网终端中的电量消耗。

因为具备解决多种问题的潜力,有望突破成本、带宽和功耗的限制,因此一经提出,TinyML就获得了广泛关注,并被赋予了较高期待。

04

TinyML市场规模预测

海量的物联网设备位于网络边缘,并且这些设备有越来越小的趋势,因此TinyML的未来发展,具有极大的想象空间。

目前全球有2500亿个微控制器在各地运行,仅2018年一年就售出了281亿个单元,IC Insights预测,到2023年,微控制器的年出货量将增长到382亿个。而且这些微控制器对应的设备,都有变得越来越智能的需求。

换句话说,未来分布在烟雾传感器、心脏起搏器、车载终端中的2500亿个微控制器,有可能可以执行以前只有计算机和智能手机才能处理的任务。

根据SilentIntelligence的预测,在未来5年,TinyML将触发超过700亿美元的经济价值,并且保持超过27.3%的复合年均增长率(CAGR)。

TinyML的市场规模比边缘ML和云端ML都要大。

但是如此巨大的市场,却较难开发。因此TinyML涉及到不同公司的协同,公司之间的商业模式也有本质区别。以TinyML领域的人工智能SaaS服务商SensiML为例,其商业模式如下图所示。

2019年1月,当时成立6年的SensiML被QuickLogic公司并购。根据QuickLogic的财报披露,QuickLogic以全部股票交易方式收购其所有已发行和流通在外的普通股,总价为1,169,752美元。

05

TinyML的最新产品

上图是由Topio Networks整理的边缘智能产业图谱。

边缘ML是个相对成熟的领域,很多企业都在其中精耕细作,他们当中的很多也已经开始了TinyML的尝试。

ARM、高通、谷歌、博世、苹果和微软等公司,正试图加速推进TinyML的落地,将其搭载于各种传感器上。

比如高通推出了超低功耗的always-on计算机视觉解决方案。

该方案具有超低功耗,始终保持开启状态,使用系统电源小于1mA标准锂电池,典型帧率为1-30 fps。

对应的产品Qualcomm? QCC112,已经可以实现商用。

博世推出了用于物联网的MEMS传感器,可实现TinyML应用。

苹果以2亿美元收购了TinyML初创公司Xnor.ai。Xnor.ai致力于开发高效、低功耗的TinyML应用,这些应用不需要强大的处理能力,也不需要连接到云端,而是在设备上处理本地数据。

ARM最近公布了两款芯片设计,它们分别是ARM Cortex-M55和Ethos-U55,可以实现在没有云端连接的设备上,执行机器学习的能力。

ARM认为这两款产品的推出,将会开启终端智能的新纪元。

ARM设想的用例是在智能手杖中的360度摄像头,可以自动识别障碍物并上报主人,或者搭载于高铁中的智能传感器,可以就地识别问题并及时报警,避免延误。

新品的推出将会极大的提升ML推理速度和能源效率。

不过预计相关的芯片,最早要到2021年初才能问世。

除了巨头之外,初创公司在TinyML领域也非常活跃。

GreenWaves公司采用多个RISC-V内核,在超低功耗下实现TinyML应用。其第二代产品GAP9,拥有10个RISC-V核心。其中,一个作为结构控制器,另外9个形成计算集群。这些控制器和计算集群,运行于独立的电压和频率域。并通过支持最先进的FD-SOL处理技术,进一步降低了功耗。

Eta Compute公司的ECM3532适用于低功耗IoT,拥有两个核心,Arm Cortext-M3和DSP。可实现长待机状态下的图像处理和传感聚合,功耗仅为100微瓦。该芯片具有512KB闪存和256KB SRAM,Eta Compute展示的案例包括语音、图像和视频识别,以及在工业传感场景中的应用。

06

TinyML的应用实践

TinyML尚处于应用的早期,在一些领域有了初步实践:

车载应用:Swim.AI在实时数据传输的过程中使用TinyML,通过有效提升传感器中对于实时交通数据的智能化处理能力,减少了乘客的等候时间、交通拥堵的概率、改善汽车的排放并提升乘车安全。

智能工厂:在制造业中,TinyML可以通过启用实时决策,减少由于设备故障而导致的非计划性停机。它可以根据设备状况提醒工人必要时进行预防性维护。

QuickLogic的子公司SensiML在这个领域进行了不错的尝试,基于他们的产品可以快速构建智能传感方案。

并且SensiML已经将TinyML用于工业预测性维护的相关场景中。

对于预测性维护应用的开发人员,SensiML智能化软件工具包的优势在于,它使开发人员能够在数天、数周内构建智能物联网传感设备,而无需数据科学或嵌入式固件专业知识。

该软件包括SensiMLData Capture Lab(数据捕获实验室),这是一个用于收集和整理训练数据集的集成工具。

对于预测性维护,数据集是来自各类传感器的时间序列数据。SensiML人工智能软件工具包分析标记数据,以生成可实施异常检测的分类器算法。然后使用同一工具编译算法以在所选硬件目标上运行,例如微控制器或QuickLogic自己的QuickAI片上系统平台。

智能零售:通过监控店内货架,并在商品数量低于一定水平时,立即发送警报,TinyML可以防止零售端的商品脱销。

智慧农业:农民可能因动物疾病而遭受严重损失。利用搭载TinyML的远程监控设备,实时监测牲畜的心脏、血压、体温,土壤的温湿度等状况,可以帮助农民预测和预防养植物和牲畜流行病的发作。

07

TinyML的相关组织

每项成功的技术,都离不开核心团队和相关组织的推进。

TinyML领域最活跃的组织是TinyML基金会,这是一个由工程师们自发构建的社群,成立于2019年7月,经常进行小型交流,并且每年举办TinyML峰会。

如果感兴趣,你可以通过登录下面的网站,了解关于TinyML基金会和峰会的更多信息:

----写在最后----

微小的TinyML将会变得很大,这个新生事物正在逐步成型的过程中,需要来自软件侧、硬件侧、算法侧、应用侧等涉及多方的通力协作,才能有效构建完整的生态系统。

关于这个领域的最新进展,我还会持续追踪。

本文小结:

1.TinyML是机器学习在微控制器上的应用,是超低功耗边缘侧人工智能。TinyML通常功耗为毫瓦(mW)级别甚至更低,因此可以支持各种不同的电池驱动的设备,和需要始终在线的应用。

2.想要在终端物联网设备中,获得和云端ML同样的体验是不现实的。TinyML主要实现的是推理(inference),也就是把从训练中学习到的能力,应用到实际操作中去。

3.TinyML是一个新兴领域,是快速增长的机器学习技术和应用,是一片巨大的、未被充分开发的蓝海。

参考资料:

How Engineers Are Using TinyML to BuildSmarter Edge Devices

Engineers are Pushing Machine Learningto the World’s Humblest Microprocessors

How can we democratize machine learningon IoT devices?

TinyML as-a-Service: What is it and whatdoes it mean for the IoT Edge?

TinyML as a Service and the challengesof machine learning at the edge

Engineering Tiny Machine Learning forthe Edge

AI at the Very, Very Edge

TinyML: The challenges and opportunitiesof low-power ML applications

TinyML Sees Big Hopes for Small AI

Adapting the Microcontroller for AI inthe Endpoint

AI for Edge landscape

(免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。 )

赞助商
2020-03-05
一文读懂即将引爆的TinyML:在边缘侧实现超低功耗机器学习
导 读分布最广的物联网设备往往体积很小、电量有限。它们被作为终端硬件,通过嵌入式传感器采集各种数据;计算能力有限,对功耗极为敏感。

长按扫码 阅读全文

Baidu
map