×

嵌入式AI的盛宴来了,谁来吃?

消耗积分:3 | 格式:pdf | 大小:531.34KB | 2021-01-22

分享资料个

通常,人工智能(AI)计算大多是在数据中心、企业核心设备或电信边缘处理器上远程执行的,而不是在本地设备上。其中缘由主要是AI计算需要数百个不同类型的芯片来执行,硬件的尺寸、成本和功耗都非常高。但是,对于那些对带宽、时延敏感的实时性应用而言,全部上“云”就不是最好的选择了。

幸好,嵌入式AI已经开始改变这一切!

为什么需要嵌入式AI?

过去10年,通用嵌入式计算取得了飞速发展,其应用触角已延伸至航空航天、工业、电力、消费等各个领域。不过,将嵌入式与AI结合起来是最近几年才出现的事情。
嵌入式AI,实际上是一种让AI算法可以在终端设备上运行的技术概念。因嵌入式AI的芯片体积更小,价格相对低廉,产生的热量和耗电量更是比“云”端设备小得多,因而可以集成到智能手机等手持设备以及机器人等非消费类设备中。正是嵌入式AI或者边缘AI(edge AI)芯片的出现,减少或消除了将大量数据发送到云端的需要,从而在可用性、速度以及数据安全和隐私方面带来了极大的便利和好处。

嵌入式AI的目标是能够在边缘使用专门的硬件进行高效的计算。这些设备上的人工智能模型需要是可训练的,无论是在设备级别还是在云端,这就需要将训练好的模型传输回边缘。回顾人工智能的发展历程,我们看到了计算能力从云端到边缘的缓慢卸载(图1)。

“图1:嵌入式人工智能从云端到边缘的研究进展(图源:网络)"
图1:嵌入式人工智能从云端到边缘的研究进展(图源:网络)

归纳起来,嵌入式AI的出现主要源自下面三个方面的影响。

一是来自硬件支持。这一点非常关键。在过去的几年里,微控制器和应用处理器的技术演进实在是太惊人了。微控制器现在能支持兆字节的闪存和RAM,系统时钟频率能达到甚至超过1 GHz,有些控制器还能支持DSP指令,这意味着它们可以有效地执行AI中的推理任务。随着处理器计算能力的大幅提升,在边缘支持机器学习不再需要太多额外的成本。

二是大幅简化的软件开发过程。机器学习已经成为物联网和云计算不可或缺的工具,它可以极大地简化软件开发。尤其是在语音识别、图像分类和预测维护等领域,机器学习可以大大简化开发过程,加快开发速度。以物联网为例,每天都会产生海量数据,数据分析是一项庞大的任务,通过机器学习训练出一个模型,然后在嵌入式系统上部署推理,这些数据的分析将不再困难。

三是市场的推动。嵌入式AI正在变成市场的一个营销热点。一个产品能否热销,除了功能和性能出众,寻找卖点也很重要。机器学习现在就是市场的热门话题,将其用于你的产品设计中,它很可能就会成为撬动市场的一个支点。

嵌入式AI还有瓶颈

边缘嵌入式AI芯片的应用给消费者和企业带来了重大变化。对于消费者来说,边缘AI芯片可以提供很多功能——从解锁手机,到与语音助手进行对话,到在极其困难的条件下拍摄照片,而且不需要互联网连接。但从长远来看,边缘AI芯片的更大影响可能来自于其在企业中的应用。在企业中,边缘AI芯片可以使公司的物联网应用达到一个全新的水平。

在这些利好的背后,问题也随之出现:现有的标准芯片不太符合边缘侧智能化的需求。目前,机器学习主要由CPU、GPU、FPGA和ASIC的混合体来进行所有的训练和推理。从早期AI直至今天,CPU、GPU和FPGA的应用非常广泛,它们很好地契合了深度学习的内存密集型需求。不过,开发人员和系统设计人员逐渐发现,要在嵌入式设计中添加某种形式的神经网络或深度学习能力,将现有的CPU、GPU、FPGA等标准芯片降级为通用嵌入式AI,会出现水土不服的现象。其主要原因是这些通常放在数据中心的芯片普遍尺寸大、价格昂贵、耗电量大。

换句话说,在实际应用中,现在的嵌入式AI还有瓶颈。这个瓶颈不是在算力方面,而是芯片的尺寸、价格、耗电及散热等方面。因此,面向边缘智能的嵌入式AI离不开专用芯片支持。

半导体厂商的新商机

嵌入式AI在未来的经济增长中正在扮演关键的角色,它们不可避免地将会出现在汽车、智能家居、机器人以及各种电子设备上。根据德勤公司对人工智能芯片行业的预测,到2020年,全球将售出超过7.5亿个边缘AI芯片,收入达26亿美元。与2017年相比,年复合年增长率达到36%。此外,边缘AI芯片市场的增长速度还将远远超过整个芯片市场。到2024年,预计边缘AI芯片的销量将超过15亿,年销售额增长至少为20%,这个增速是整个半导体行业预测的9%复合年增长率的两倍多。按行业看,目前消费端的边缘AI芯片市场比企业市场大得多,但增速不及后者。预计在2020年至2024年间,消费端的边缘AI芯片市场复合年增长率将达到18%,企业级为50%。

那么,谁将从嵌入式AI芯片这一新兴市场中获益呢?答案很明显,他们就是制造嵌入式AI芯片的公司。现在,进入这一行业的半导体公司很多,最具代表性的企业有NXP(恩智浦)、STMicroelectronics、Maxim、arm、Xilinx(赛灵思)、Renesas、Lattice等。他们已经推出硬件、软件、开发工具等一系列解决方案,相关的生态系统也已逐步建立。
以下是过去一年中我们看到的嵌入式AI芯片领域的“新物种”,从中我们可以看到众多厂商在这个领域的技术路线图。

NXP i.MX 8M Plus:将高性能机器学习推向边缘端

对于许多应用而言,边缘端是进行机器学习处理的理想位置。NXP i.MX 8M Plus是一款配备了专用高性能机器学习加速器的i.MX应用处理器。因使用了14nm FinFET工艺技术,故i.MX 8M Plus拥有很高的性能且保持低功耗。该处理器还采用了同时支持两个低成本高清图像传感器或一个4K分辨率图像传感器的双摄像头ISP,足以应对人脸、物体对象和手势识别等机器学习任务。

此外,它还集成了独立的800MHz Cortex-M7,用来处理实时任务、H.265和H.264的视频编解码、800MHz HiFi4 DSP以及用于语音识别的8通道PDM麦克风输入。借助i.MX 8M Plus,语音识别、对象检测、人脸识别、对象分割、增强现实、手势识别等应用均可在边缘运行机器学习。

图2 :恩智浦i.MX 8M Plus支持在边缘运行机器学习的部分应用(图源:NXP)

Xilinx Versal ACAP:将智能引入到边缘设备

Xilinx Versal ACAP是一款自适应计算加速平台,它融合了用于嵌入式计算的新一代标量引擎、用于FPGA芯片编程的自适应引擎,以及用于AI推断与高级信号处理的智能引擎,拥有卓越的计算性能和单位功耗。

为了让更多的开发者受益于赛灵思所提供的从边缘到云的人工智能和深度学习推断加速度,赛灵思紧接着又推出了另一款软件平台产品——Vitis AI。Vitis AI开发环境是赛灵思在其硬件平台上进行AI推理的开发平台,可加速基于赛灵思平台部署深度学习推断的进程,其中的模型涵盖不同的应用,包括ADAS/AD、视频监控、机器人和数据中心等。

图3:Xilinx的Versal ACAP功能框图(图源:Xilinx)

Maxim神经网络加速器芯片:在边缘实现复杂的嵌入式决策

Maxim神经网络加速器MAX78000是一款低功耗微控制器,它支持电池供电的嵌入式IoT设备在边缘通过快速、低功耗AI推理来制定复杂决策。MAX78000将高能效AI处理与超低功耗微控制器结合在一起,内建的基于硬件的卷积神经网络 (CNN) 加速器可在电池供电应用执行AI推理,而仅消耗微焦耳级别的能量。

与软件方案相比,这种快速、低功耗的决策实施使得复杂的AI推理能耗降低到前期方案的百分之一以内,采用AI技术的电池供电系统的运行时间可得到大幅延长。更重要的是,MAX78000的成本只有FPGA或GPU方案的零头,而执行推理的速度比低功耗微控制器上实施的软件方案快100倍。

图4:Maxim具有神经网络加速器的低功耗微控制器MAX78000(图源:Maxim Integrated)

总之,嵌入式AI的兴起,使得传统的嵌入式厂商也有机会参与到AI的盛宴之中。不过要想在分食未来AI应用市场的蛋糕时分得更多的份额,那现在就应该开始行动了!

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

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'嵌入式AI的盛宴来了,谁来吃?',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.obk20.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);