0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

边缘计算的未来是MCU上的深度学习

电子设计 来源:电子设计 作者:电子设计 2020-10-30 06:43 次阅读

就在几年前,人们普遍认为,机器学习(ML)甚至深度学习(DL)只能通过由网关、边缘服务器或数据中心执行的边缘训练和推理,在高端硬件上完成。这种想法在当时不无道理,因为在云端和边缘之间分配计算资源的趋势尚处于早期发展阶段。但如今,得益于业界和学术界的艰苦研发和不懈努力,情况已然发生了翻天覆地的变化。

处理器不必提供每秒数万亿次操作(TOPS),也能执行机器学习(ML)。越来越多的用例证明,只要使用最新微控制器(部分带有嵌入式 ML 加速器),就能在边缘设备上开展机器学习。

只需极低的成本和极低的功耗,这些设备就能出色地完成 ML,仅在绝对必要时才连接到云。简而言之,内置 ML 加速器的微控制器代表着物联网发展的下一阶段:在生产数据的源头,例如麦克风、摄像头和监控其他环境条件的传感器中引入智能计算,并使物联网应用受益。

边缘有多深?

目前普遍认为边缘是物联网网络的最远点,但通常指先进的网关或边缘服务器。不过,这并不是边缘的尽头。真正的尽头是邻近用户的传感器。所以,合乎逻辑的做法是将尽可能多的分析能力安排在邻近用户的位置,而这也正是微处理器所擅长的。


不同宽度乘数下的多个 MobileNet V1 模型。宽度乘数对参数的数量、计算结果和精度都有显著影响。但是,如果只是将宽度乘数从 1.0 改为 0.75,TOP-1 精度并无太大变化,参数的数量和算力需求却明显不同。

可以说,单板计算机也能用于边缘处理,因为它们具有出色的性能,其集群可媲美一台小型超级计算机。但问题是尺寸依然过大,而且对于大规模应用所需的成百上千次部署而言,成本过于高昂。它们还需要连接外部直流电源,在某些情况下可能超出可用范围;相比之下,MCU 的功耗只有几毫瓦,并且可以使用纽扣电池或一些太阳能电池来供电

毫无意外,用于在边缘执行 ML 的微控制器成为了十分热门的研发领域。甚至还有专有名称– TinyML。TinyML 的目标就是允许在资源受限的小型低功耗设备(尤其是微控制器),而不是在更大的平台或云端上执行模型推理,甚至最终能实现模型训练。这就需要缩小神经网络模型的尺寸,以容纳这些设备中相对较少的算力、存储空间和带宽资源,同时不会严重降低功能性和精度。

这些方案对资源进行了优化,使设备可以采集充足的传感器数据并发挥恰当作用,同时微调精度并降低资源要求。因此,虽然数据可能仍被发送到云端(或者可能是先发送到边缘网关,然后再发送到云端),但数量少得多,因为相当大一部分的分析已经完成。

现实中,一个十分常见的 TinyML 用例就是基于摄像头的对象检测系统,尽管能够捕获高分辨率图像,但由于存储空间有限,只能降低图像分辨率。可是,如果摄像头内置了数据分析功能,则只会捕获所需的对象而非整个场景,而且因为相关的图像区域更小,能保留高分辨率图像。这种功能通常只见于更大型、性能更强大的设备,但是 TinyML 技术使得微控制器也能实现。

小巧却不简单

尽管 TinyML 还只是相对较新的一种范式,但已经表现出了不容小觑的推理能力(即便使用的是相对温和的微控制器)和训练(在性能更强大的微控制器上)成效,且精度损耗控制在最低限度。最近的示例包括:语音和面部识别、语音命令和自然语言处理,甚至同时运行多个复杂的视觉算法

实际说来,这意味着一台装载 500-MHz Arm Cortex-M7 内核的微控制器,花费不超过 2 美元,内存容量从 28 Kb 到 128 KB 不等,却能提供强大的性能,使传感器实现真正智能。例如,恩智浦的 i.MX RT 跨界 MCU 就使用运行 TensorFlow Lite 运行时引擎的小型 ML 模型实现了此种性能。以基本对象识别为例,通常在 200 ms 内即可完成,而且精度接近 95%。

即使在这个价格和性能水平上,这些微处理器配备了多个安全功能(包括 AES-128),并支持多个外部存储器类型、以太网USB 和 SPI,同时还包含或支持多种类型的传感器以及蓝牙Wi-Fi、SPDIF 和 I2C 音频接口。价格稍高一些的设备则是通常搭载 1-GHz Arm Cortex-M7、400-MHz Cortex-M4、2 Mbytes RAM 和图形加速。采用 3.3 VDC 电源供电时,功耗一般远低于单板计算机。

TOPS 概述

会使用单一指标来评判性能的不仅是消费者;设计者和市场营销部门也一直如此,因为作为一项主要规格,它可以轻松地区分设备。一个经典示例就是 CPU,多年来人们一直通过时钟速率来评判性能;幸运的是,现在的设计者和消费者已不再如此。只用一个指标评定 CPU 性能就像是按照发动机的峰值转速来评估汽车性能。尽管峰值转速有一定参考意义,但几乎无法体现发动机的强劲或汽车的驾驶性能,这些特性取决于许多其他因素。

遗憾的是,同样的尴尬也发生在以每秒数十亿次或上万亿次操作来界定的神经网络加速器(包括高性能 MPU 或微控制器中的加速器),原因一样,简单的数字好记。在实践中,单独的 GOPS 和 TOPS 只是相对无意义的指标,代表的是实验室而非实际操作环境中的一次测量结果(毫无疑问是最好的结果)。例如,TOPS 没有考虑内存带宽的限制、所需要的 CPU 开支、预处理和后处理以及其他因素。如果将所有这些和其他因素都一并考虑在内,例如在实际操作中应用于特定电路板时,系统级别的性能或许只能达到数据表上 TOPS 值的 50%或 60%。

所有这些数字都是硬件中的计算单元乘以对应的时钟速率所得到的数值,而不是上需要运行时数据已经就绪的频率。如果数据一直即时可用,也不存在功耗问题和内存限制,并且算法能无缝映射到硬件,则这种统计方式更有参考价值。然而,现实中并没有这样理想的环境。

当应用于微控制器中的 ML 加速器时,该指标更没有价值。这些小型设备的 GOPS 值通常在 1-3 之间,但仍然能够提供许多 ML 应用中所需要的推理功能。这些设备也依赖专为低功耗 ML 应用而设计的 Arm Cortex 处理器。除了支持整数和浮点运算以及微控制器中的许多其他功能之外,TOPS 或其他任何单一指标明显无法充分定义性能,无论是单独使用还是在系统中都是如此。

结论

随着物联网领域进一步发展,在边缘执行尽可能多的处理,逐渐出现一种需求,即在直接位于或附着于传感器上的微控制器上执行推理。也就是说,微处理器中应用处理器和神经网络加速器的发展速度十分迅猛,更完善的解决方案也层出不穷。总体趋势是将更多以人工智能为中心的功能(例如神经网络处理)与应用处理器一起整合到微处理器中,同时避免功耗或尺寸显著增加。

如今,可以先在功能更强大的 CPU 或 GPU 上训练模型,然后在使用推理引擎(例如 TensorFlow Lite)的微控制器上实施,从而减小尺寸以满足微控制器的资源要求。可轻松扩展,以适应更高的 ML 要求。相信不久之后,推理和训练就能在这些设备上同时执行,让微控制器的竞争力直追更大、更昂贵的计算解决方案。


审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17022

    浏览量

    350388
  • 深度学习
    +关注

    关注

    73

    文章

    5493

    浏览量

    121010
  • 边缘计算
    +关注

    关注

    22

    文章

    3070

    浏览量

    48673
收藏 人收藏

    评论

    相关推荐

    NPU在边缘计算中的优势

    随着物联网(IoT)和5G技术的发展,边缘计算作为一种新兴的计算模式,正在逐渐成为处理和分析数据的重要手段。 NPU的定义与功能 NPU是一种专门为深度
    的头像 发表于 11-15 09:13 282次阅读

    GPU深度学习应用案例

    GPU在深度学习中的应用广泛且重要,以下是一些GPU深度学习应用案例: 一、图像识别 图像识别是深度学习
    的头像 发表于 10-27 11:13 337次阅读

    FPGA加速深度学习模型的案例

    FPGA(现场可编程门阵列)加速深度学习模型是当前硬件加速领域的一个热门研究方向。以下是一些FPGA加速深度学习模型的案例: 一、基于FPGA的AlexNet卷积运算加速 项目名称
    的头像 发表于 10-25 09:22 157次阅读

    边缘计算未来发展趋势

    边缘计算未来发展趋势呈现出多元化和高速增长的态势,以下是对其未来发展趋势的分析: 一、技术融合与创新 与5G、AI技术的深度融合 随着5G
    的头像 发表于 10-24 14:21 553次阅读

    边缘计算与云计算的区别

    边缘计算与云计算是两种不同的计算模式,它们在计算资源的分布、应用场景和特点存在显著差异。以下是
    的头像 发表于 10-24 14:08 269次阅读

    FPGA做深度学习能走多远?

    。FPGA的优势就是可编程可配置,逻辑资源多,功耗低,而且赛灵思等都在极力推广。不知道用FPGA做深度学习未来会怎样发展,能走多远,你怎么看。 A:FPGA 在深度
    发表于 09-27 20:53

    深度学习中的时间序列分类方法

    的发展,基于深度学习的TSC方法逐渐展现出其强大的自动特征提取和分类能力。本文将从多个角度对深度学习在时间序列分类中的应用进行综述,探讨常用的深度
    的头像 发表于 07-09 15:54 745次阅读

    基于深度学习的小目标检测

    计算机视觉领域,目标检测一直是研究的热点和难点之一。特别是在小目标检测方面,由于小目标在图像中所占比例小、特征不明显,使得检测难度显著增加。随着深度学习技术的快速发展,尤其是卷积神经网络(CNN
    的头像 发表于 07-04 17:25 776次阅读

    深度学习计算机视觉领域的应用

    随着人工智能技术的飞速发展,深度学习作为其中的核心技术之一,已经在计算机视觉领域取得了显著的成果。计算机视觉,作为计算机科学的一个重要分支,
    的头像 发表于 07-01 11:38 687次阅读

    边缘计算网关是什么?有什么作用

    、低成本、隐私安全以及本地自治的本地计算服务。那么,边缘计算网关究竟是什么呢?它又有什么作用呢?接下来,我们将进行深度解析。 首先,让我们来理解边缘
    的头像 发表于 04-16 15:25 3548次阅读
    <b class='flag-5'>边缘</b><b class='flag-5'>计算</b>网关是什么?有什么作用

    为什么深度学习的效果更好?

    导读深度学习是机器学习的一个子集,已成为人工智能领域的一项变革性技术,在从计算机视觉、自然语言处理到自动驾驶汽车等广泛的应用中取得了显著的成功。深度
    的头像 发表于 03-09 08:26 596次阅读
    为什么<b class='flag-5'>深度</b><b class='flag-5'>学习</b>的效果更好?

    什么是边缘计算边缘计算有哪些应用?

    什么是边缘计算边缘计算有哪些应用? 边缘计算是一种将计算
    的头像 发表于 01-09 11:29 1718次阅读

    边缘计算边缘智能计算区别

    边缘计算边缘智能计算是两个相关但不同的概念。边缘计算指的是数据处理和存储在靠近数据源的
    的头像 发表于 12-27 15:28 1014次阅读

    边缘计算平台是什么配置的

    边缘计算平台是一个分布式计算架构,可以在靠近数据源的边缘设备执行计算任务。它解决了传统
    的头像 发表于 12-27 15:23 873次阅读

    边缘计算框架有哪些

    边缘计算架构是一种将计算能力、存储和分析功能尽可能地靠近数据源的计算模型。它通过将计算任务从中心数据中心移至近距离的设备
    的头像 发表于 12-27 15:01 1375次阅读