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

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

3天内不再提示

STM32Cube.AI v7.3能够在推理时间和RAM之间找到完美的平衡

星星科技指导员 来源:STM 2023-02-02 10:09 次阅读

STM32Cube.AI 7.3 启动了一个新系统,使开发人员能够选择是优先考虑 RAM、性能还是两者之间的平衡方法。因此,它建立在先前版本 STM32Cube.AI 7.2的工作基础上,该版本引入了扩展层和深度量化神经网络,并允许用户根据其约束对其进行微调算法。新的软件版本也具有高度的象征意义,因为我们今天宣布加入MLCommons™联盟。该计划使我们能够为社区做出贡献,并将帮助团队弄清楚他们可以通过边缘机器学习做什么,这要归功于客观和可重复的基准。

从大型超级计算机到微控制器

什么是 STM32Cube.AI?

STM2019Cube.AI 于32年推出,将神经网络转换为STM32 MCU的优化代码。算法可以在微控制器等资源约束设备上运行,这一事实是该领域的一个关键演变。1956年,创造“机器学习”一词的亚瑟·塞缪尔(Arthur Samuel)正在开发一个教计算机玩跳棋的程序时,他不得不在IBM 701大型机上工作,并在大型科学IBM 7094上运行他的程序。之后,机器学习一直需要大量的计算吞吐量。甚至在意法半导体推出 STM32Cube.AI 之前的几年,行业领导者都在由强大机器组成的云上运行机器学习算法。

STM32Cube.AI 很特别,因为它有助于在MCU上运行算法,并使开发机器学习应用程序变得更加容易。它依赖于STM32CubeMX和X-CUBE-AI软件包,前者可帮助开发人员初始化STM32设备,后者是一个软件包,其中包含用于转换预训练神经网络的库。因此,该解决方案使用熟悉且可访问的开发环境。团队甚至可以使用我们的入门指南,从STM32CubeMX开始使用X-CUBE-AI,并快速尝试最新功能。因此,更多的应用依赖于我们的技术。例如,早期版本中引入的对深度量化神经网络的附加支持很快进入了施耐德电气创建的人数统计应用程序。

STM32Cube.AI v7.3 中有哪些新功能?

STM32Cube.AI v7.3 带来了一项新功能,允许开发人员选择是优先考虑 RAM 还是推理时间。由于在以前的版本中引入了扩展层,意法半导体的解决方案优化了性能。然而,这也意味着该算法在易失性存储器中可能具有更大的占用空间。为了让开发人员更好地控制他们的应用程序,意法半导体在 STM32Cube.AI v7.3中引入了一个新设置来定义优先级。如果用户选择“时间”设置,算法将占用更多 RAM,但推理时间更快。另一方面,选择“RAM”将具有最小的内存占用和最慢的时间。最后,默认的“平衡”参数在两种方法之间找到中间地带,提供了一个很好的折衷方案。

根据我们的基准测试,在某些情况下,将 RAM 占用空间减少 36% 会使推理时间增加 50%。如果我们看一下比率,使用“时间”设置时,2 KiB 的 RAM 等于 1 毫秒的推理时间,但在选择“RAM”时,该比率会显着恶化。因此,在许多情况下,用户会选择“时间”并享受更高的每内存性能比。但是,我们知道一些客户受到RAM的极大限制,并且每千字节计数。在这种情况下,工程师很乐意采用较短的推理时间来节省内存,这就是为什么我们努力提供精细的体验,帮助开发人员根据他们的需求定制应用程序,从而进一步普及边缘机器学习。

STM32Cube.AI:从研究到实际软件

什么是神经网络?

STM32Cube.AI 采用预先训练的神经网络,并将其转换为STM32 MCU的优化代码。在最简单的形式中,神经网络只是一系列层。两者之间有一个输入层、一个输出层以及一个或多个隐藏层。因此,深度学习是指具有三层以上层的神经网络,“深度”一词指向多个中间层。每层包含节点,每个节点与下层中的一个或多个节点互连。因此,简而言之,信息通过输入层进入神经,穿过隐藏层,然后从其中一个输出节点出来。

什么是量化神经网络和二值化神经网络?

为了确定信息如何在网络中传播,开发人员使用权重和偏差,即节点内的参数,这些参数将在数据在网络中移动时影响数据。权重是系数。权重越复杂,网络就越准确,但它的计算量就越大。每个节点还使用激活函数来确定如何转换输入值。因此,为了提高性能,开发人员可以使用量化神经网络,该网络使用较低精度的权重。最有效的量化神经网络是二值化神经网络(BNN),它仅使用两个值作为权重和激活:+1和-1。因此,BNN 需要的内存占用非常少,但精度也最低。

为什么深度量化神经网络很重要?

业界面临的挑战是找到一种方法来简化神经网络,以便在微控制器上运行推理操作,而不会牺牲准确性,使网络变得无用。为了解决这个问题,意法半导体和意大利萨勒诺大学的研究人员研究了深度量化的神经网络。DQNN 仅使用较小的权重(从 1 位到 8 位),并且可以包含仅具有一些二值化层的混合结构,而其他结构则使用更高的位宽浮点量化器。研究论文1意法半导体和大学的研究人员展示了哪种混合结构可以提供最佳结果,同时实现最低的RAM和ROM占用空间。

新版本的 STM32Cube.AI 是这些研究工作的直接结果。事实上,版本 7.2 支持深度量化神经网络,可以在不破坏准确性的情况下从二值化层的效率中受益。开发人员可以使用QKeras或Larq等框架来预训练他们的网络,然后再通过X-CUBE-AI处理它。迁移到DQNN将有助于节省内存使用量,从而使工程师能够选择更具成本效益的设备,或者为整个系统使用一个微控制器而不是多个组件。因此,STM32Cube.AI 继续为边缘计算平台带来更强大的推理功能。

从演示应用到市场趋势

如何使人数统计演示?

意法半导体和施耐德电气最近合作开发了一款利用DQNN的人数统计应用程序。该系统通过处理热传感器图像在STM32H7上运行推理,以确定人们是否越过假想线以及决定他们是进入还是离开的方向。组件的选择非常出色,因为它促进了相对较低的物料清单。施耐德没有转向更昂贵的处理器,而是使用深度量化的神经网络来显着降低其内存和 CPU 使用率,从而缩小了应用程序的占用空间,并为更具成本效益的解决方案打开了大门。两家公司在 2022 年 《》 月的 TinyML 会议上展示了该演示。

如何克服机器学习在边缘的炒作?

意法半导体是第一家提供类似 STM32Cube.AI 解决方案的MCU制造商,根据MLCommons基准测试,我们的工具性能继续名列前茅。正如从学术论文到软件发布的最新旅程所表明的那样,我们业绩背后的原因是我们优先考虑影响实际应用的有意义的研究。这是关于使人工智能实用且易于访问,而不是一个流行语。Gartner的市场分析师2预计从事嵌入式AI的公司将很快经历“幻灭的低谷”。今天的发布和施耐德的演示应用表明,意法半导体率先以研究为动力,克服了这一缺陷,成为实际应用和深思熟虑优化的中心

审核编辑:郭婷

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

    关注

    48

    文章

    7547

    浏览量

    151333
  • 计算机
    +关注

    关注

    19

    文章

    7489

    浏览量

    87876
  • 机器学习
    +关注

    关注

    66

    文章

    8408

    浏览量

    132576
收藏 人收藏

    评论

    相关推荐

    如何在STM32f4系列开发板上部署STM32Cube.AI

    已下载STM32Cube.AI扩展包,但是无法使用,感觉像是没有部署AI模型,我是想要通过摄像头拍照,上传图像后,经过开发板处理器进行AI模型处理识别过后,告诉我识别结果,显示TFL
    发表于 11-18 09:39

    NVIDIA助力丽蟾科技打造AI训练与推理加速解决方案

    丽蟾科技通过 Leaper 资源管理平台集成 NVIDIA AI Enterprise,为企业和科研机构提供了一套高效、灵活的 AI 训练与推理加速解决方案。无论是复杂的
    的头像 发表于 10-27 10:03 212次阅读
    NVIDIA助力丽蟾科技打造<b class='flag-5'>AI</b>训练与<b class='flag-5'>推理</b>加速解决方案

    科技感应门为何青睐LED全息屏?揭秘现代科技新风尚

    科技感应门与LED全息屏的结合成为了众多高端场所的新宠。这种创新组合不仅提升了空间的科技感与时尚感,更在实用性与观赏性之间找到完美的平衡点。
    的头像 发表于 09-27 16:35 793次阅读
    科技感应门为何青睐LED全息屏?揭秘现代科技新风尚

    STM32平衡小车原理图

    STM32f103c8t6平衡小车原理图
    发表于 07-05 10:54 1次下载

    被称为“小号HBM”,华邦电子CUBE进阶边缘AI存储

    ,分享了华邦推出的CUBE产品边缘AI上的应用优势以及对存储应用市场的看法等话题。   CUBE :小号HBM   “华邦电子近两三年都在推CUB
    的头像 发表于 07-01 16:21 3025次阅读

    CubeIDE生成的代码框架会卡在MX_X_CUBE_AI_Process()函数中是怎么回事?

    当我将网络模型部署到STM32F407VGT6中时,CubeIDE生成的代码框架会卡在MX_X_CUBE_AI_Process()函数中是怎么回事?CUbeAI库的版本是9.0。期待您的回复,谢谢
    发表于 05-30 06:11

    STM CUBE AI错误导入onnx模型报错的原因?

    使用cube-AI分析模型时报错,该模型是pytorch的cnn转化成onnx ``` Neural Network Tools for STM32AI v1.7.0 (STM.ai
    发表于 05-27 07:15

    IAR 7.3调试STM32 usb只要配置USB的中断NVIC_Init,debug的时就停止不了内核,也复位不了的原因?

    IAR 7.3调试STM32 usb 只要配置USB的中断NVIC_Init,debug的时就停止不了内核,也复位不了。用的是STLINKV1
    发表于 05-16 06:51

    请问STM32 CUBE稳定吗?

    我以前一直是用官方库开发1系列的。stm32 cube也出来一段时间了,现在稳定性如何了,需要用到usb和sd卡fat文件系统,cube里有没有提供,稳定性如何呢? 还有
    发表于 05-16 06:24

    risc-v多核芯片在AI方面的应用

    RISC-V多核芯片在AI方面的应用主要体现在其低功耗、低成本、灵活可扩展以及能够更好地适应AI算法的不同需求等特点上。 首先,RISC-V
    发表于 04-28 09:20

    开发者手机 AI - 目标识别 demo

    Network Runtime 神经网络运行时,作为中间桥梁连通上层AI推理框架和底层加速芯片,实现AI模型的跨芯片推理计算。提供统一AI
    发表于 04-11 16:14

    cubeMX加入cube-ai分析模型时提示下载GNU tools for STM32卡死如何解决?

    使用cube-ai时,会弹出对话框,并一致卡死0%,尝试手动安装GNU工具也无效。请问该如何解决?
    发表于 03-21 07:42

    STM32H750可以使用Cube.AI吗?

    STM32H750,可以使用Cube.AI
    发表于 03-19 06:14

    cube AI导入Keras模型出错怎么解决?

    我尝试过cube AI的version7.1.0、6.0.0、5.1.2、4.1.0,导入Keras都是这个报错,求解答 E010(InvalidModelError): Couldn&
    发表于 03-18 06:39

    使用cube-AI分析模型时报错的原因有哪些?

    使用cube-AI分析模型时报错,该模型是pytorch的cnn转化成onnx ``` Neural Network Tools for STM32AI v1.7.0 (STM.ai
    发表于 03-14 07:09