TinyML:是否是FPGA在人工智能方面的最佳应用?

news/2024/4/27 1:32:08/文章来源:https://blog.csdn.net/Pieces_thinking/article/details/128090395

66f037987fc09777cbf2a8c8fa5bcf80.jpeg

TinyML 也是机器学习的一种,他的特点就是缩小深度学习网络可以在微型硬件中使用,主要应用在智能设备上。

超低功耗嵌入式设备正在“入侵”我们的世界,借助新的嵌入式机器学习框架,它们将进一步推动人工智能驱动的物联网设备的普及。

FPGA一直以低功耗、可重构的特点在各个领域内应用,同时也可以大大增加物联网应用环境,所以在FPGA上应用TinyML是否是FPGA方便的最佳应用?我们接下来分析一下TinyML的特点再来总结。

接下来让我们翻译这个行话:什么是 TinyML?而且,更重要的是 - 它可以(也不能)用于什么?

什么是 TinyML?

机器学习是一个流行词,已经存在了一段时间,有许多有用的应用程序需要理解混沌数据,目前的应用中它很少与硬件相关联。通常,如果一定要与硬件那么通常通过云相关联,而云通常与延迟、耗电和连接速度有关。

38be1c2fd056d6fd6687fe37a5962ea6.png

然而,在设备中应用机器学习并不是什么新鲜事。几年来,我们的大多数手机都内置了某种神经网络。设备音乐识别,以及许多相机模式(如夜视和人像模式)只是依赖嵌入式深度学习的几个例子。这些算法可以识别我们更有可能再次使用的应用程序,并关闭不需要的应用程序来延长手机电池。然而,嵌入式 AI 面临着许多挑战,其中最重要的挑战就是功率和空间。这就是 TinyML 的用武之地。

设备上的传感器数据需要强大的计算能力,这会导致存储容量有限、中央处理器 (CPU) 有限和数据库性能下降等问题。TinyML 通过将人工智能嵌入到小块硬件中,将机器学习带到了“现场”。有了它,就可以利用深度学习算法在设备上训练网络并缩小它们的大小,而无需将数据发送到云端,从而减少分析它的延迟。

d040902043eb85bb1c95eb051b19736d.png

TinyML:了解基础知识

Google 的 TinyML 大师和 TensorFLow Lite 工程负责人 Pete Warden 与 Daniel Situnayake 一起出版了一本书。这本书“TinyML:在 Arduino 和超低功耗微控制器上使用 TensorFlow Lite 进行机器学习”已成为该领域的参考。

302587201370774417de8578dd0ba033.png

最后,TensorFlow Lite是谷歌创建的嵌入式机器学习框架,它有一个专门为微控制器设计的子类别。2019 年,除了 TensorFlow Lite 之外,其他框架开始专注于让深度学习模型更小、更快,并适配嵌入式硬件,包括uTensor和Arm 的 CMSIS-NN。与此同时,许多教程开始出现,内容是关于如何在 AI 驱动的微控制器上使用 TinyML 和类似框架来训练、验证然后通过推理引擎在硬件上部署小型神经网络集。

机器学习通常与优化有关,但 TinyML 不仅仅是与优化有关:一些云应用程序编程接口 (API) 只是排除交互性,并且从功耗角度来看过于受限。最重要的是,这些限制使边缘计算变得更慢、更昂贵且更不可预测。

与前面提到的基于手机上应用的机器学习的不同之处在于,TinyML 使电池或能量收集设备能够运行,而无需因功率限制而手动充电或更换电池。把它想象成一个永远在线的数字信号处理器。这转化为一种运行功率低于 1 毫瓦的设备(夸张描述),因此该设备要么能够使用电池运行多年,要么可以使用能量收集。这也意味着这些设备根本无法通过无线电连接,因为即使是低功率的短距离无线电也会使用数十到数百毫瓦的功率,并且它只允许短时间的功率爆发。这些限制还导致需要能够在限制为数十 KB 的极小内存限制下运行的代码,因此需要将 TinyML 与 raspberry 或手机上的代码区分开来。

TinyML:当前的应用概览

b84cc87201d2d440a415cca495909ce5.png

根据Emerging Spaces 对 Pitchbook的评论,自 2020 年 1 月以来,TinyML 已投资 2600 万美元,其中包括加速器、早期投资者和后期投资者的风险投资。与 AI 和 ML 的其他更成熟的分支(例如数据标签)相比,这相对较小。在趋势中,交易数量与认知计算、下一代安全和 AIOps 等其他热门话题竞争。

81e07c74407018c8dd31a3442902c33c.pnge3d9318b2020cb48a0466105ae259755.png

TinyML:工作机制

TinyML 算法的工作机制与传统机器学习模型几乎完全相同,通常在用户计算机或云中完成模型的训练。训练后处理是 TinyML 真正发挥作用之处,通常称为“深度压缩”(deep compression)。

5bf55f26517b5eeb5c388eca54b908fc.png深度压缩示意图。来源: ArXiv 论文

TinyML:展望未来

今年秋天,哈佛大学推出了课程CS249R:微型机器学习,提到“机器学习的爆炸式增长和 TensorFlow (TF) 等平台的易用性使其成为现代计算机科学专业学生不可或缺的学习课题”。

今天,世界上有超过 2500 亿个嵌入式设备在运行,预计每年增长 20%。,这些设备正在收集大量数据,并在云端处理这些数据提出了相当大的挑战。在这 2500 亿台设备中,目前正在生产的大约 30 亿台能够支持目前正在生产的 TensorsFlow Lite。TinyML 可以弥合边缘硬件和设备智能之间的差距。

总结

随着物联网设备的增加,多传感器的融合以及数量处理也是比较大的特点,所以低功耗的FPGA在这方面会大方异彩。

在这方面,FPGA厂商Lattice早就推出了基于超低功耗(iphone手机上曾用的up5k)FPGA的TinyML开发平台,并且开源了声音和人脸识别的开源方案,链接如下:

https://github.com/tinyvision-ai-inc

https://www.latticesemi.com/Products/DevelopmentBoardsAndKits/HimaxHM01B0

随着新智能设备和物联网设备数量的增加,TinyML在低功耗FPGA上的应用有可能在无处不在、更便宜、可扩展且更可预测的边缘嵌入 AI 设备上大量应用,从而改变 ML 的应用范式。

08220cfc5f393ea9479ec621e29335c1.gif

点分享

01904391b38620ca4d0e48001d15794a.gif

点点赞

ab7a28cffd9517a5c72df6408d45d23c.gif

点在看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_38695.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sipp: bind_local;watchdog timer trip

文章目录作为服务端时,source ip 随机的问题命令示例bind_localwatchdog_minor_maxtriggers作为服务端时,source ip 随机的问题 https://sipp.sourceforge.net/doc/reference.html https://github.com/SIPp/sipp/issues/83 https://github.com/SIPp/sip…

虹科分享 | 网络流量监控 | 使用 ntopng 收件人和端点进行灵活的警报处理

在之前,ntopng引擎对所有警报的配置是单一的:进入偏好页面并指定警报的发送地点。但这是不理想的,原因有很多:包括不可能在不同的渠道向不同的收件人发送警报,或有选择地决定何时发送警报。 出于这个原因,…

北大惠普金融指数-匹配企业绿色创新指数2011-2020年:企业名称、年份、行业分类等多指标数据

1、数据来源:北京大学数字金融中心、国家统计局、国家专利产权局等部门公开数据 2、时间跨度:2011-2020年 3、区域范围:全国 4、指标说明: 中国内地31个省(直辖市、自治区,简称“省”)、337…

网络安全工程师必备证书有哪些?

网络环境之间的竞争,归根到底优秀人才之间的竞争。 在2022年网络安全周上,《网络安全人才实战能力白皮书》正式公布。资料显示,到2027年,我国网络安全人员缺口将达327万,而高校人才培养经营规模仅是3万/年。 那样&am…

小程序数据请求的方式和注意事项

1.小程序中网络数据请求的限制 出于安全性方面的考虑,小程序官方对数据接口的请求做出了如下两个限制: ① 只能请求HTTPS类型的接口 ② 必须将接口的域名添加到信任列表中 2.配置request合法域名 假设要在自己的微信小程序中,希望请求某…

【JavaScript作用域】

JavaScript作用域1 本节目标2 作用域2.1 作用域概述2.2 全局作用域2.3 局部作用域3 变量的作用域3.1 变量作用域的分类3.2 全局变量3.3 局部变量3.4 从执行效率看全局变量与局部变量3.5 JS没有块级作用域4 作用域链1 本节目标 说出JavaScript的两种作用域区分全局变量和局部变…

关系抽取(二)远程监督方法总结

目录 前言 1. 远程监督关系抽取开山之作 1.1 介绍 1.2 训练过程 1.2.1 数据标注方法 1.2.2 训练方法 1.3 测试过程 1.4 思考 1.5 总结 2. PCNN 2.1 介绍 2.2 模型结构 2.2.1 文本特征表示 2.2.2 卷积 2.2.3 分段最大池化 2.2.4 softmax多分类 2.3 多实例学习的…

React Server Component: 混合式渲染

作者:谢奇璇 React 官方对 Server Comopnent 是这样介绍的: zero-bundle-size React Server Components。 这是一种实验性探索,但相信该探索是个未来 React 发展的方向,与 React Server Component 相关的周边生态正在积极的建设当中。 术语…

Spring Cloud OpenFeign - - - >拦截器

源码地址:https://download.csdn.net/download/weixin_42950079/87209379 SpringMVC拦截器 和 OpenFeign拦截器 的区别 初学者很容易将 Spring MVC 拦截器 和 Spring Cloud OpenFeign 拦截器搞混,误以为OpenFeign拦截器就是SpringMVC拦截器: …

Kotlin高仿微信-第9篇-单聊-文本

Kotlin高仿微信-项目实践58篇详细讲解了各个功能点,包括:注册、登录、主页、单聊(文本、表情、语音、图片、小视频、视频通话、语音通话、红包、转账)、群聊、个人信息、朋友圈、支付服务、扫一扫、搜索好友、添加好友、开通VIP等众多功能。 Kotlin高仿…

Spark系列之Spark的数据倾斜

title: Spark系列 第九章 Spark的数据倾斜 9.1 Spark调优概述 ​ 有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时 Spark 作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题…

2022腾讯全球数字生态大会【存储专场】它来了|预约有礼

它来了!它来了! 2022腾讯全球数字生态大会【存储专场】它来了! 作为腾讯集团产业互联网规格最高、规模最大、覆盖面最广的年度盛会 今年存储专场与您一起探讨 分布式高性能存储与数据分析处理的科技创新和最新成果 存储会场六大亮点&…

PyQt5可视化编程-事件、信号和对话框

一、概述: 所有的应用都是事件驱动的。事件大部分都是由用户的行为产生的,当然也有其他的事件产生方式,比如网络的连接,窗口管理器或者定时器等。调用应用的exec_()方法时,应用会进入主循环,主循环会监听和分发事件。…

【SpringBoot】对于yaml的详细学习和三种属性赋值的实战详解

一.yaml详细讲解 1.1 什么是yaml? YAML是一种数据序列化语言,通常用于编写配置文件。业界对YAML有不同的看法。有些人会说YAML代表另一种标记语言。其他人认为“YAML不是标记语言”(“YAML并非标记语言”)。“YAML”只是这句话的…

CDMP选修课都有什么?

大家都知道CDMP认证考试有四个级别。分别是A级(基础级)P级(实践级)M级(专业级)F级(大师级)。级别越高,考试难度就越大,分数比例要求也更高,相对应…

Unity ab包加载文本 puerts 自定义loader

输出ab包 他会把你创建的ab包都打包 也就是在这里的创建的 string assetBundleDirectory Path.Combine(Application.streamingAssetsPath, "OutAssetBundles"); if (!Directory.Exists(assetBundleDirectory)) {Directory.CreateDirectory(assetBundleDirectory);…

【HIT-OSLAB-实验中的碎碎念】

文章目录应该养成的好习惯删除 替换 修改 内容时 记得留备份遇到问题要通过文字 图片 等多种途径去记录不同的项目应该在不同的文件夹进行处理代码文档 记得添加一些注释用于说明功能多输出有区别度的提示信息s找bug 先定位错误 再改当一份代码有不同版本的时候 记得说明每份代…

黎曼的几何基础,维度

黎曼的几何基础,让数学领先物理100年,维度是人类最大的障碍 - 知乎 高斯很早就有了“高维几何”的想法,他曾经向他的同事们说起假想完全生活在二维表面上的“书虫”,并想要把这推广到高维空间的几何学中去。然而,由于害…

进程与信号(三)

目录 一、前言 二、Signals 1、Signal Handling(ctrlc.c) 2、Sending Signals (1)alarm.c (2)A Robust Signals Interface (3)ctrlc2.c 3、Signal Sets (1&…

ConstraintLayout布局扩展

相信大家对ConstraintLayout(约束布局)不陌生,这是google推出的一个强大控件,之所以强大其实主要归纳有两点:减少布局层次,能够轻松实现复杂布局。当然在我们实际使用过程中,是否真的减少了布局层次&#x…