开发平台支持Arm Cortex-M的微控制器上人工智能训练
开发平台支持Arm Cortex-M的微控制器上人工智能训练
Development platform enables AI training on Arm Cortex-M-based microcontrollers
Cartesiam推出了nanodedge AI Studio,这是一个集成开发环境,开发人员可以使用在不需要任何数据科学知识的情况下,在微控制器上创建AI培训和推理应用程序。该技术兼容任何基于Arm Cortex-M的微控制器,M0到M7,包括M55,并且不需要大量的数据集进行训练。

现在可以在微控制器内部实现学习。将同一个微控制器和同一个库应用于预测性维护应用程序,可以了解单个机器的振动特性
在这种资源受限的设备上训练人工智能算法是一个重大的首次。典型的应用,如预测性维护,直接在微控制器上使用无监督学习来教授特定机器内部正常环境的算法。然后可以创建一个模型并用于推断(预测)。
“真正革命性的是能够在微控制器内部学习,”Cartesiam联合创始人Joël Rubino告诉《欧洲经济时报》。“其人在微控制器内部进行推理,在云端进行学习。需要捕捉数据,在云端创建数据科学家的模型,然后编译所有的东西,然后在微控制器上运行。所做的是不同的。创建了一个库,可以直接在微控制器内部,在任何机器内学习。在边缘创建模型。在边缘训练。这改变了游戏规则,因为现在市场上没有人能做到这一点。”
AI at the Edge
AI在边缘
鲁比诺说,一段时间以来,随着边缘智能化的趋势,计算机行业已经从集中式向分散式发展。
“一开始的想法是,边缘的所有对象都将生成大量的数据。云也不可能分析和计算这些数据。与其将所有数据发送到云端,想法是为什么不向边缘发送情报。”。
本地智能减少了对通信带宽的需求,并防止了篡改的风险。
微控制器作为当今最可用的端点计算平台,完全可以将智能带到端点设备。然而,到目前为止,有限的计算能力和内存是无法克服的挑战。
总部位于法国土伦的卡特西亚姆(Cartesiam)聘请了一支由受过博士学位教育的数学家、数据科学家和机器学习专家组成的团队。
鲁比诺说:“从头重写了所有的机器学习算法,这样就可以安装在微控制器中了。”。“今天这个过程的另一个问题是,需要为想观察的现象采集数据,但数据科学家是一种稀缺资源……如果想把智能带到边缘,必须比现在简单、快捷、更实惠。”
开发流程
NanoEdge人工智能工作室已经制作了3年。
鲁比诺说:“这真的是要把人工智能带到所有的嵌入式设计师那里,使用nanodedge人工智能工作室,将能够在对象内开发人工智能,而且速度非常快。”。
使用NanoEdgeAI Studio的典型开发流程对于没有人工智能专业知识的嵌入式开发人员来说是完全可以访问的。开发人员定义正在使用的传感器类型(电流、加速度计等),定义可用的微控制器(M0到M7),并指定可用RAM的数量。加载一个典型数据的小样本,IDE将使用这些数据来优化不同的算法-在信号处理库、机器学习库和超参数之间,有5亿个可用的组合。最终选择的算法作为一个大小为4kB到32kB的C库提供。可以在开发人员的工作站上使用一个简化的仿真器进行测试,然后下载到目标微控制器上。鲁比诺说,应用程序可以在几天内启动并运行。

开发人员在IDE中提供了一个典型数据的小样本,并创建了一个可以嵌入到微控制器中的库。这些微控制器可以在现场了解所监视的各个机器的特性。
在此基础上,微控制器可以安装在使用无监督学习来训练算法的领域(在无监督学习中,未标记的数据被提供给算法,必须在数据本身中找到结构)。然后创建一个模型,该模型可用于下一步的推理。
同一台机器上的微控制器可以学习同一台机器上的振动数据,而这两台机器是用单片机学习的。不同机器上的同一个库将从这台机器的振动中学习,并创建自己的机器学习模型,”鲁比诺说。
例如,Cartesiam的一个客户使用NanoEdge AI Studio的beta版生产空调机组。该公司监测风扇电机的电流,以检测空气过滤器是否堵塞,需要更换。在客户使用兼容过滤器而不是制造商原装过滤器的市场中,当过滤器被更换时,模型可以了解新过滤器的特性,以预测何时需要更换。
融资回合
该公司成立于2016年,其理念是将人工智能引入端点和物联网设备,如传感器节点。在两年前200万欧元的资助加速了算法的开发之前,50万欧元的种子基金资助使概念得以验证。

çolane的Bob assistant是一个火柴盒大小的设备,可以学习所固定的机器的特征振动。
第一个使用卡特尔塞姆技术进入市场的产品是Éolane的Bob assistant,已经在市场上销售了大约2年。Bob是一种火柴盒大小的硬件设备,可以用磁铁固定在机器上。花7天时间学习每台机器的特征振动(每隔几分钟执行一个简短的学习阶段),然后创建一个机器学习模型,可以在指定的时间间隔内用于预测。如果检测到异常,将连接到LoRA网络以发出适当的通知。
鲁比诺说,Bob已广泛应用于欧洲公司的预测性维护应用,如雷诺、法国铁路运营商SNCF、法国电力公司EDF Energy、空客、泰雷兹等。
Bob的成功使Cartesiam意识到不能继续为每个客户开发单独的库,并致力于开发一种工具,客户可以使用为自己的应用开发自己的库。结果,NanoEdge人工智能工作室,现在可以使用了。
开发平台支持Arm Cortex-M的微控制器上人工智能训练的更多相关文章
- Micro Python:运行在微控制器上的Python
Micro Python运行在微控制器上的Python.遵守MIT协议.由剑桥大学的理论物理学家乔治·达明设计.和Arduino类似,但Micro Python更强大. Micro Python的软件 ...
- .Net语言 APP开发平台——Smobiler学习日志:快速实现手机上的图片上传功能
最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的"S ...
- LabVIEW图形化的AI视觉开发平台(非NI Vision),大幅降低人工智能开发门槛
前言 之前每次进行机器学习和模型训练的时候发现想要训练不同模型的时候需要使用不同的框架,有时候费了九牛二虎之力终于写下了几百行代码之后,才发现环境调试不通,运行效率也差强人意,于是自己写了一个基于La ...
- 痞子衡嵌入式:ARM Cortex-M内核那些事(2)- 第一款微控制器
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是第一款Cortex-M微控制器. 1.天生荣耀:ARM Cortex-M处理器由来 ARM公司自2004年推出ARMv7内核架构时,摒弃 ...
- 百度AI开发平台简介
AIstudio https://aistudio.baidu.com/aistudio/index 关于AI Studio AI Studio是基于百度深度学习平台飞桨的一站式AI开发平台,提供在线 ...
- 玩转微信2次开发1_交互通信api.php(微擎版)
在2次开发中,涉及到比较多的也比较繁琐的就是服务器和微信服务器的交互 用户在公众号里操作回复关键词都会让微信服务器和开发者的服务器进行交互 用户一旦关注了某某公众号--微信后台会去查询该公众号是否连接 ...
- 从表单驱动到模型驱动,解读低代码开发平台的发展趋势 ZT
原文地址:https://www.grapecity.com.cn/blogs/read-the-trends-of-low-code-development-platforms 随着社会数字化进程的 ...
- 阿里云云开发平台助力风变科技Serverless架构升级实战
阿里云云开发平台助力风变科技Serverless架构升级实战 背景 风变科技 一个希望通过技术去推动下一代基础教育的组织.旗下产品包括第一代的熊猫书院(读书类产品).第二代的熊猫小课(泛学科综合学习平 ...
- 痞子衡嵌入式:微控制器CPU性能测试基准(EEMBC-CoreMark)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是微控制器CPU性能测试基准CoreMark. 在嵌入式系统行业用于评价CPU性能指标的标准主要有三种:Dhrystone.MIPS.Co ...
随机推荐
- [转]gitlab ci/cd 发布
转自 https://meigit.readthedocs.io/en/latest/configure_gitlab_i18n_and_create_gitlab_ci_with_gitlab_ru ...
- hdu3746 KMP的next数组应用,求项链首尾项链循环
题意: 给你一个项链,问你最少加多少个珠子能满足整个项链是一个循环的项链(首尾相连) 思路: KMP的简单应用只要了解next数组的意义就好说了,下面总结下 next在循环方面 ...
- C#-窗体移动
#region 窗体移动API [DllImport("user32.dll")] public static extern bool ReleaseCapture(); [Dll ...
- Django(1)初识Django
前言 Django是一个开放源代码的Web应用框架,由Python写成,最初用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站,即CMS(内容管理系统)软件,于2005年7月在BSD许可证下发布,这 ...
- Linux x86_64与i386区别之 —— 内存寻址
毫无疑问,不管是32位,还是64位处理器,所有进程(执行的程序)都必须占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是 存放取自用户输入的数据等等.不过进程对这些内存的管理方式因内存用途不 ...
- 还在手动部署jar包吗?快速掌握Jenkins安装,教你使用Jenkins实现持续交付
Jenkins Jenkins: 开源软件项目 基于Java开发的一种持续集成工具 用于监控持续重复的工作 旨在提供一个开放易用的软件平台, 便于软件的持续集成 基于Docker安装Jenkins 与 ...
- [Django框架之视图层]
[Django框架之视图层] 视图层 Django视图层, 视图就是Django项目下的views.py文件,它的内部是一系列的函数或者是类,用来专门处理客户端访问请求后处理请求并且返回相应的数据,相 ...
- 33.2.NIO
4.1概述[理解] BIO Blocking IO,阻塞型IO NIO No Blocking IO,非阻塞型IO 阻塞IO的弊端 在等待的过程中,什么事也做不了 非阻塞IO的好处 不需要一直等待,当 ...
- CentOS7 / CentOS8 设置终端屏幕分辨率
Centos7 修改文件 /boot/grub2/grub.cfg 搜索 linux16 / /vmlinuz-3.10.0-123.el7.x86_64 root=UUID=881ac4e6-4a5 ...
- Django/Flask的一些实现方法
一.导出当前项目用到的依赖到requirements.txt文件中 pip freeze > requirements.txt 二.安装当前项目需要的依赖: pip install -r req ...