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

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

3天内不再提示

怎么把机器学习这只“大象”放进MCU的“冰箱”?

UNTL_安富利 来源:安富利 作者:安富利 2021-05-19 15:32 次阅读

人工智能AI)在很多人眼里是,只是一种科幻片中不明觉厉的存在,而与普通人的生活之间隔着很远的距离。但是这样的局面正在被改变,在未来5-10年中,AI将会以超乎我们想象的速度快速渗透到我们生活的方方面面。为什么这么讲?一起随我们往下看。

人工智能物联网的基本范式

之所以我们与AI之间会有“距离感”,主要是因为以前玩AI是一件比较奢侈的事。这种“奢侈”主要体现在,实现AI所依赖的机器学习(ML),在其训练和推理的过程中对算力有非常高的要求。为了应对这样的挑战,通过云计算集中算力做数据处理,也就成为了实现机器学习的一个经典方法。

但是到了物联网时代,这样的模式受到了挑战——集中式云计算带宽和存储资源消耗大、实时数据传输消耗电量多、数据在终端和云端之间传输延迟长、数据传输和云端集中存储过程中安全风险大。这些弊端让人们认识到单纯的云计算不是包打天下的万能药。

因此,边缘计算作为经典云计算的补充,越来越得到大家的重视。按照边缘计算的定义,将大部分计算任务放在边缘设备上直接进行处理,而只在必要的时候将一些经过预处理的数据传输至云端进行“精加工”,这样既能提升边缘端实时响应的速度和智能化水平,又能为网络传输通路和云端数据中心减负,因此这样的混合计算模式显然可以完美地坚决传统云计算的痛点。

这种计算架构的变迁,也对机器学习的模式产生了影响,使其从以计算为中心的模式向以数据为中心的模式转变。这两种模式中,前者是将机器学习的训练和推理都放在云端数据中心中完成,而后者则是由云端完成模型的训练,而将推理放在边缘设备上完成,这也就形成了人工智能物联网(AIoT)实施的基本范式。

MCU扩展机器学习的疆界

显而易见,边缘计算使得机器学习的疆界大为扩展,使其从数据中心的机房走向了更多样性的网络边缘智能。但对于物联网应用来讲,这似乎还不够。因为在边缘设备上进行推理,仍然需要相对强悍的算力,这通常需要包含ML协处理器在内的较为复杂的异构微处理器来实现加速,如此的配置在嵌入式领域已经算是很“高端”的了。仅此一条,就会将不少对于功耗、成本、实时性敏感的应用关在机器学习的门外。

因此,机器学习想要继续开疆扩土,一个主攻方向就是要让资源更简单、算力更有限的微控制器(MCU)也能够跑得了、玩得起机器学习。IC Insights的研究数据显示,2018年全球MCU的出货量为281亿颗,到2023年将这个数字将增长到382亿颗,而全球的MCU存量将数以千亿计,谁要是能够让如此量级的设备玩转机器学习,其前途和钱途都将是不可限量的!

但对于任何一个梦想来说,现实往往显得比较“骨感”。将机器学习部署到MCU运行,就好像是要将一只大象塞进冰箱,而这个答案绝对不是一句脑筋急转弯的玩笑话,而是需要在技术从两个维度上去仔细考量。

为机器学习模型瘦身

第一个维度,就是要考虑如何为ML模型这只“大象”进行“瘦身”,也就是说要发展出相应的技术,能够在微控制器上部署、运行“小型化”的机器学习推理模型。这种瘦身后的模型,需要满足的条件包括:

运行模型的终端功耗一般在mW级别,甚至更低;

占用的内存一般要在几百kB以下;

推理时间为ms级别,一般需要在1s内完成。

为了实现这样的目标,TinyML技术应运而生。顾名思义,这就是一种能够让ML模型“变小”的技术。与上文提到的AIoT机器学习的基本范式一样,TinyML也是要在云端收集数据并进行训练,而不同之处则在于训练后模型的优化和部署——为了适应MCU有限的计算资源,TinyML必须对模型进行“深度压缩”,通过模型的蒸馏(Distillation)、量化(Quantization)、编码(Encoding)、编译(Compilation)一系列操作后才能部署到边缘终端上。

其中,一些关键的技术包括:

蒸馏:是指在训练后通过剪枝(pruning)和知识蒸馏的技术手段,对模型进行更改,以创建更紧凑的表示形式。

量化:在模型蒸馏后,通过量化实现以更少位数的数据类型近似表示32位浮点型数据,在可接受的精度损失范围之内减少模型尺寸大小、内存消耗并加快模型推理速度。

编码:就是通过更有效的编码方式(如霍夫曼编码)来存储数据,进一步减小模型规模。

编译:通过以上方式压缩好的模型,将被编译为可被大多MCU使用的C或C++代码,通过设备上的轻量级网络解释器(如TF Lite和TF Lite Micro)运行。

在过去的两年中,我们已经明显感觉到TinyML技术在升温,厂商在该领域的投入也在加码。根据Silent Intelligence的预测,未来5年中,TinyML将触发超过700亿美元的经济价值,并且保持超过27.3%的复合年均增长率。

打造机器学习MCU新物种

把“大象装进冰箱“,除了要在“大象”(也就是ML模型)身上下功夫,另一个维度上的努力就是要改造“冰箱”,也就是对我们熟悉的MCU进行优化和改造,令其能够符合运行ML的需要。

比如,为了满足在IoT边缘设备中实现复杂机器学习功能的需要,Maxim Integrated就推出一款专门的低功耗ML微控制器MAX78000。该器件内置Arm Cortex-M4F处理器(100MHz)和32位RISC-V协处理器(60MHz),以及支持64层网络深度的卷积神经网络加速器,可在电池供电应用中执行AI推理,而仅消耗微焦耳能量。与传统的软件方案相比,这种基于硬件加速的方案使得复杂的AI推理能耗降至前者的百分之一,而推理速度则可以快100倍。

预计具有类似ML特性的新物种,将成为未来各家MCU大厂产品路线图中的重要分支。

本文小结

综上所述,与微处理器或者x86等嵌入式计算架构相比,MCU具有功耗很低、成本低、开发周期短、上市快、实时性好、市场体量大等特点,这些特性如果能够和高能的机器学习结合在一起,其想象空间无疑是巨大的。

在促成两者“结合”的过程中,如果能够为开发者提供支持机器学习功能的MCU“新物种”,如果能够提供一个完整的开发工具链,让ML模型的优化和部署更顺手,那么把机器学习这只“大象”放进MCU的“冰箱”,将成为信手拈来的轻松事。

更重要的是,这样的趋势刚刚萌芽,你完全有机会成为一只early bird,在这个全新的领域中自由的飞翔。

编辑:jq

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

    关注

    4981

    文章

    18266

    浏览量

    288227
  • 云计算
    +关注

    关注

    38

    文章

    7339

    浏览量

    135694
  • 物联网
    +关注

    关注

    2867

    文章

    41578

    浏览量

    358252
  • 人工智能
    +关注

    关注

    1776

    文章

    43766

    浏览量

    230562

原文标题:如何把机器学习这只“大象”,放进MCU的“冰箱”?

文章出处:【微信号:安富利,微信公众号:AvnetAsia】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    自动化革命:大象机器人的Mercury A1机械臂

    引言 大象机器人的Mercury系列,是面向工业自动化和智能制造的新型机械臂产品线。这些机械臂不仅在设计上创新,还在材料选择上使用了碳纤维、铝合金和工程塑料等轻质强韧材料,搭载高精度谐波减速器
    的头像 发表于 01-15 14:41 284次阅读
    自动化革命:<b class='flag-5'>大象</b><b class='flag-5'>机器</b>人的Mercury A1机械臂

    大象机器人获出口商品品牌证明书!

    2023年10月30日,大象机器人获 出口商品品牌证明书 标志着我们在全球市场上的品牌实力和产品质量得到了认可。
    的头像 发表于 11-25 09:21 665次阅读
    <b class='flag-5'>大象</b><b class='flag-5'>机器</b>人获出口商品品牌证明书!

    8位MCU市场中,飞来的这只“小蜜蜂”~

    8位MCU市场中,飞来的这只“小蜜蜂”~
    的头像 发表于 10-26 15:44 500次阅读
    8位<b class='flag-5'>MCU</b>市场中,飞来的<b class='flag-5'>这只</b>“小蜜蜂”~

    想在STM32 MCU上部署机器学习模型?这份入门教程,让你一学就会~

    想在STM32 MCU上部署机器学习模型?这份入门教程,让你一学就会~
    的头像 发表于 10-18 17:45 3227次阅读
    想在STM32 <b class='flag-5'>MCU</b>上部署<b class='flag-5'>机器</b><b class='flag-5'>学习</b>模型?这份入门教程,让你一学就会~

    Microchip 推出 MPLAB® 机器学习开发工具包,助力开发人员轻松将机器学习集成到 MCU 和 MPU中

    开发工具包,提供一套完整的集成工作流程来简化机器学习模型开发。这款软件工具包可用于Microchip的各类单片机 (MCU) 和微处理器 (MPU) 产品组合,助力开发人员快速高效地添加机器
    的头像 发表于 09-11 15:55 335次阅读

    机器学习发展历程

    机器学习发展历程:机器学习发展现状、机器学习发展前景和机器
    的头像 发表于 08-17 16:30 1163次阅读

    机器学习有哪些算法?机器学习分类算法有哪些?机器学习预判有哪些算法?

    机器学习有哪些算法?机器学习分类算法有哪些?机器学习预判有哪些算法?
    的头像 发表于 08-17 16:30 1386次阅读

    机器学习是什么意思?机器学习属于什么分支?机器学习有什么用处?

    机器学习是什么意思?机器学习属于什么分支?机器学习是什么有什么用处?
    的头像 发表于 08-17 16:30 1266次阅读

    机器学习算法入门 机器学习算法介绍 机器学习算法对比

    机器学习算法入门 机器学习算法介绍 机器学习算法对比 机器
    的头像 发表于 08-17 16:27 621次阅读

    机器学习算法总结 机器学习算法是什么 机器学习算法优缺点

    机器学习算法总结 机器学习算法是什么?机器学习算法优缺点?
    的头像 发表于 08-17 16:11 1055次阅读

    机器学习算法汇总 机器学习算法分类 机器学习算法模型

    机器学习算法汇总 机器学习算法分类 机器学习算法模型 机器
    的头像 发表于 08-17 16:11 720次阅读

    机器学习和深度学习的区别

    机器学习和深度学习的区别 随着人工智能技术的不断发展,机器学习和深度学习已经成为大家熟知的两个术
    的头像 发表于 08-17 16:11 3365次阅读

    机器学习模型:用于使用边缘脉冲软件预测大象的行为

    电子发烧友网站提供《机器学习模型:用于使用边缘脉冲软件预测大象的行为.zip》资料免费下载
    发表于 06-29 14:47 0次下载
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>模型:用于使用边缘脉冲软件预测<b class='flag-5'>大象</b>的行为

    大象的运动追踪开源项目

    电子发烧友网站提供《大象的运动追踪开源项目.zip》资料免费下载
    发表于 06-14 11:00 0次下载
    <b class='flag-5'>大象</b>的运动追踪开源项目

    如今MCU上“跑”机器学习,也很给力

    等目的。然而,对高性能计算资源的需求将许多ML应用程序限制在云中。也就是说,只有云数据中心级别的性能才能满足ML对算力的要求。令业界兴奋的是,随着算法设计以及微处理器体系结构的不断进步,在最小的微控制器(MCU)上运行复杂的机器学习
    的头像 发表于 05-19 09:55 1488次阅读
    如今<b class='flag-5'>MCU</b>上“跑”<b class='flag-5'>机器</b><b class='flag-5'>学习</b>,也很给力