每当有行业新词出现时,像我们这样写这个主题的人所面临的挑战便是要理解一个公司想要做什么,特别是在他们利用这些词去实现自已的营销目标时。近来流行的一个新词是边缘人工智能或称边缘AI。
由于物联网(IoT)的快速发展,以及实现物联网设备智能化所需算力和处理能力的提升,“边缘”一词的内涵可能很广,它可以指从“网关边缘”到“端点(endpoint)”的任何设备。那么业界对边缘vs端点的定义是否达成了共识?谁需要边缘AI?边缘设备可以多智能?我们来一探究竟。
首先,边缘和端点的区别是什么?好吧,每个人都有自己的看法——云之外的一切都可以称为边缘。
图1:英飞凌公司概念与系统工程部门高级主管Wolfgang Furtner认为,“边缘AI”一词跟“边缘”一样含糊。
最清晰的定义或许来自英飞凌公司概念与系统工程部门资深工程师Wolfgang Furtner(图1)。他认为,“边缘AI”一词跟“边缘”本身一样含糊。有人把汽车称为边缘设备,而有人用这个词来指小型低功耗无线连接能量收集传感器。边缘是相对的,它用来区分本地与云端。不过将边缘的各种设备区分开来的确很有必要。有时也有人使用“边缘的边缘”或“叶节点”这样的词。边缘AI可以指很多事物,包括汽车里的计算服务器。”
他强调,“端点AI处于虚拟网络世界与现实世界的交汇处,在这里传感器与执行器离得很近。
恩智浦半导体公司的机器学习技术主管Markus Levy认为,这其实就是语义上的理解,就看你怎么划分界限了。“边缘机器学习(ML)与端点机器是一样的,只是边缘ML还可以包括网关甚至雾计算环境中的ML。端点ML通常在分布式系统中使用,例如,我们的客户甚至在这些分布式系统的传感器中实现了智能。另一个例子是家庭自动化系统,它包含“卫星”设备(如恒温器、门铃摄像头、安防摄像头或其他类型的连接设备),这些设备可以独立执行机器学习功能,还可以将数据传给网关,以完成更高级的ML处理。”
图2:Arm公司基础架构业务部门总经理兼副总裁Chris Bergey对边缘服务器及端点智能化持不同的观点。
对于边缘服务器及端点越来越智能,Arm公司基础设施业务总经理兼副总裁Chris Bergey站在Arm的角度,表达了略微不同的观点(图2)。他说,“网桥和交换机这类基础设备已不再适用,取而代之的是功能强大的边缘服务器,它们将数据中心级的硬件增加到端点和云之间的网关中。这些新型边缘服务器与5G基站相结合,功能非常强大,能够完成复杂的AI处理——不仅是ML推理,还有训练。”
它与端点AI有何不同?Bergey说,“智能手机中包含功能强大的硬件,因此长期以来一直是端点AI的肥沃试验田。随着物联网与AI技术的融合,以及5G的不断成熟,虽然设备尺寸更小、价格更低,但是却更加智能,功能也更强大,而且由于对云或互联网的依赖更少,隐私保护和可靠性也更好。随着端点智能化的发展不断持续,智能所处的确切边界也开始从端点向边缘融合,对异构计算基础架构的需求变得迫切。
一些人认为,云以外的一切就是边缘。边缘AI和视觉联盟的创始人Jeff Bier这样说:“我们将边缘AI定义为在数据中心之外执行的全部或部分人工智能。例如,对于智能相机来说,智能可能就在传感器旁边;或者稍远一点,在杂货店的设备柜中;甚至更远一点,在蜂窝基站中;又或者是它们的某种组合或变化。”
图3:Xilinx人工智能、软件和生态系统产品营销总监Nick Ni认为,边缘AI从根本上来说是一种不依赖于数据中心、能够在应用中满足自身需求的智能。
Xilinx人工智能、软件和生态系统产品营销总监Nick Ni持类似观点(图3)。他表示,“边缘AI从根本上来说是一种不依赖于数据中心、能够在应用中满足自身需求的智能。对于要求实时响应、安全性(例如,不向数据中心发送机密数据)和低功耗(大多数设备)的应用而言,这是至关重要的。人类不会每天依赖数据中心做出无数决定,未来几年边缘AI将在半自动汽车和智能零售系统等市场应用中占主导地位。”
Imagination人工智能高级主管Andrew Grant也认同这一观点。“我们知道,现在大家都在谈论边缘,它如何发展将取决于客户。未来肯定会出现一种混合的方法,云计算和数据中心绝对会在其中占一席之地。”他补充道,“市场(向边缘)发展的速度很快,目前已掀起向边缘智能迈进的浪潮,但对许多应用来说,具体芯片的实现需要时间。”Grant解释道,“我们在与中国的一家交通管理公司沟通后,了解到他们还在从云端来回传数据。我告诉他们我们在做什么,他们马上就认识到,如果红绿灯自己能够判断汽车是否在行驶,数据就不用传到云端,这样做有极大的好处。”
图4:Adesto Technologies 公司首席技术官Gideon Intrater表示,他们同时为IoT边缘服务器及IoT边缘设备提供产品,因此并不需要区分边缘和端点。
嵌入式系统供应商Adesto Technologies公司首席技术官Gideon Intrater表示,他们同时为IoT边缘服务器及IoT边缘设备提供产品,因此并不需要区分边缘和端点(图4)。“我们不太使用‘端点’一词,‘端点’的定义也许与边缘设备类似。这些设备中的AI通常是一些本地推理,其算法在处理器上以程序的方式运行,并使用专用加速器,以及近内存处理或存内(in-memory)计算。”
他补充道:“几乎所有应用都将实现边缘AI。AI可以实现预测和预防性维护,在制造中进行质量控制,从而惠及工业、建筑及其它许多行业,带来巨大的机会。这个行业才刚刚起步,每天我们都期待AI能做得更多。不具备AI功能的旧设备常常不能理解我们的要求,我们为此感到沮丧,而有的设备直接就能理解我们。最终用户并不清楚AI的工作原理,他们只希望AI有用。”
我们的定义很清楚:你要么认同边缘是云外的一切,要么认同端点是现实世界与数字世界的交汇点,其中大多是传感器。但是,随着边缘和端点的界限越来越模糊,加上异构计算架构的发展,究竟在哪里实施人工智能,实际上是由具体的应用决定的。
图5:恩智浦人工智能技术主管Markus Levy表示,边缘AI真正开始发展得等到2020年底。
接下来的问题是谁需要它,市场对边缘AI的期望是什么?“我们所有人仍在为之努力,”恩智浦levy解释说,“业内的大公司正在积极实现边缘AI,我们的很多客户也在边缘实现各种机器学习。但是,从‘技术采用周期’来看,我仍然相信业内大部分公司甚至还没有进入‘早期采用阶段’,真正开始发展得等到2020年底(图5)。”
“客户仍在了解机器学习可能实现哪些炫酷的事物。我考虑的是:
英飞凌的Furtner认为这实际上提出了一个问题,“边缘AI会带来什么好处?”他说,“边缘有一个极大的好处,就是我们可以将它的局限性‘弱点’变为优点。人们关心的易用性、功能性、隐私、安全、成本、气候或资源的可持续利用,都是边缘AI能够带来的好处。我们相信,在合适的地方应用AI能提高我们的生活质量,现实生活中也有许多端点AI的应用场景。边缘AI可用于预测性维护、进一步的自动化或机器人、家庭自动化或智能农业等。我们开发了采用AI的低功耗传感器,这样,直观检测就能变得更加普及,这催生了家庭或城市新应用,让生活更轻松、更安全、更环保。云端的不可靠性促使工业或家庭采用全新的应用模型,以满足隐私和安全要求。
此外,Furtner说道,边缘AI能以一种更高效和可持续的方式利用海量物联网数据,这在气候变化的情况下尤其重要。
图6:边缘AI及视觉联盟的Jeff Bier认为5个关键的应用需求将推动边缘AI的发展。
Jeff Bier说,下面5个关键的应用需求将推动边缘AI的发展(图6):
带宽:就算用5G,可能也没有足够的带宽将所有原始数据发送到云端。
延迟:许多应用要求较快的响应时间,比用户从云端接收到数据的时间还要短。
经济性:某个应用如果使用云,即使能从技术上解决带宽和延迟问题,但在边缘执行AI可能更划算。
可靠性:某个应用如果使用云,即使能从技术上解决带宽和延迟问题,但到云的网络连接并非一直可靠,而应用可能需要一直运行。在这种情况下,就要使用边缘AI了。例如人脸识别门锁,如果网络连接断开,你希望门锁仍然正常工作。
隐私:某个应用如果使用云,即使能从技术上解决带宽、延迟、可靠性和经济性等问题,可能仍有许多应用出于隐私考虑而需要进行本地处理。例如婴儿监控器或卧室安全监控摄像头。
边缘AI应该多智能?这取决于存储容量。
这个问题看起来似乎显而易见,但必须清楚,每个应用都是不同的。
”智能通常不是限制因素——存储容量才是。”Levy认为,“实际上,存储容量限制了可以使用的机器学习模型的大小,特别是在MCU领域。例如,一个视觉应用的机器学习模型就需要更多的处理能力和更大的存储容量。需要实时响应时,处理能力更重要。”
“以一个微波炉为例,它内部有一个摄像头来判断放进去的食物种类,1秒或2秒的响应时间就足够了,因此可以使用恩智浦i.MX RT1050这样的处理器。存储容量决定了模型的大小,进而决定微波炉可以识别的食物种类。但是,如果微波炉不能识别放入的食物怎么办?可以将数据传送到网关或云来判断是什么食物,然后使用这些信息重新训练智能边缘设备。“现在来回答‘边缘AI有多智能’这个问题,简单地说就是性能、准确性、成本和能源的权衡。此外,我们正在开发一个应用,它使用自动编码器来实现另一种形式的ML,即异常检测。简而言之,自动编码器非常高效,我们实现的一个例子仅用了3KB数据,在45~50µs内完成了推理——让MCU比较容易处理。”
Furtner也认可这种实用方法。“边缘AI在能耗、空间和成本方面受到极大限制。在这种情况下,问题不是我们应该在边缘提供多少智能,而是我们有能力在边缘提供多少智能。接下来的问题是可不可以对现有的某种AI技术进行简化,使其足够小,以适用于边缘。功耗无疑限制了端点智能化的程度,这些端点通常由小型电池供电,有时甚至依赖能量收集。数据传输也要消耗大量能源。”
他补充道:“我们来看一个智能传感器。在这些条件下,要使本地AI正常工作,必须对传感器的某些属性和行为进行优化。另外,一些新传感器只能通过嵌入式AI实现,例如液体和气体环境传感器。需要端点AI的原因有很多,智能化数据的使用和缩减,或者快速的实时本地响应,便是其中两个原因。数据隐私和安全是另外两个原因。海量传感器原始数据可以在产生的地方进行处理,而密集的计算任务仍在云端执行。随着低功耗神经计算(例如边缘TPU和神经形态技术)的进步,这一界限开始向边缘节点和端点转移。”
图7:Imagination Technologies 公司的Andrew Grant提倡尽可能多地在边缘实现智能,然后在设备的生命周期使用软件进行优化。
Imagination Technologies的Grant说:“我们认为应该尽可能多地在边缘实现智能,然后在设备的生命周期使用软件进行优化。(图7)”这与游戏机行业相似,当供应商发布一款新的游戏机后,在硬件的整个生命周期中,是通过软件更新对游戏机进行优化的。他补充说,从成本或尺寸的角度来看,在片上系统(SoC)中增加神经网络加速器并不重要。“因此边缘加速的机会真的非常大。”
Arm公司的Bergey说:“随着异构计算在基础架构中的普及,我们必须能够判断在哪里处理数据是最好的,这因应用而异,甚至在一天中不同的时间也不相同。市场所需的解决方案是能够让不同的AI层担任不同的角色,以了解全局,从而推动真正的业务转型。在边缘,AI扮演着双重角色。在网络层,它可以对数据流进行分析,智能地将数据发送至最合适的处理点,有可能是云端,也可能是其他节点,从而实现网络预测和网络功能管理。”
Adesto公司的Intrater补充道:“边缘应该多智能取决于具体的应用、能应对多少延迟(对关键任务应用而言不多)、功率包络如何(对电池供电设备而言非常小)、安全和隐私问题,以及是否能联网。即使能联网,你也不会希望把所有的数据都发送到云端进行分析,因为那样带宽开销很大。在边缘和云端之间进行智能划分是为了平衡所有这些问题。”
Bergey接着说:“AI也可以在本地的边缘服务器上执行,但训练和分析通常是在云端完成的。要决定AI在哪里执行并不是那么容易,智能通常是分布式的,有些在云端执行,有些在边缘设备中执行。一个典型的AI系统分为本地执行和远程执行两部分。Alexa/Siri就是一个很好的例子,设备中有算法来完成语音/关键字识别,而交互是在云端完成的。”
“实现边缘AI需要很多关键的赋能技术。最容易想到的就是适合运行AI算法的高性能、低能耗、价格便宜的处理器。”边缘AI和视觉联盟的Bier说,“还有其他许多技术,其中最重要的技术包括:
软件工具:促进这些处理器的有效使用;
云平台:从边缘设备汇集元数据,并管理边缘设备的配置和维护。”
我们采访的公司大多可提供一系列用于边缘AI的设备和IP。英飞凌称可提供用于物联网的传感器、执行器、微控制器(包括神经网络加速器)和硬件安全模块。“我们在电源效率、安全和安防方面有很大优势。使用我们的产品能够连接现实世界与数字世界,为边缘提供安全、可靠和节能的AI解决方案。”Wolfgang Furtner说。
Xilinx的Nick Ni说,将AI边缘产品推向市场并非易事,因为这需要工程师将机器学习技术与传感器融合、计算机视觉和信号转换等传统算法相结合。“为了满足端到端响应,就要优化所有的工作负载,这需要一个自适应定制计算架构,使硬件和软件均可编程。Xilinx SoC、FPGA和ACAP提供了这样的自适应平台,在满足端到端产品需求的同时可持续创新。”
恩智浦称其赋能技术包括硬件和软件。Levy说:“有客户使用我们的低端Kinetis或LPC MCU来实现一些智能功能。在我们的i.MX RT交叉处理器级别,事情开始变得更有趣,我们提供集成Cortex M7内核的MCU,工作频率为600~1000MHz。我们新的RT600包括一个M33和HiFi4 DSP,通过在异构模式下使用DSP,可以加速神经网络的各种组件,从而实现中等性能的机器学习。将频谱提升,我们最新的i.MX 8M Plus将4个A53内核与一个专用神经处理单元(NPU)集成在一起,NPU可提供2.25TOPS算力,推断性能提高2个数量级,功率小于3W。这种高端NPU对于实时语音识别(即NLP)、手势识别以及实时视频和物体识别等应用至关重要。
至于软件方面,Levy称恩智浦提供了eIQ机器学习软件开发环境,在恩智浦产品系列(从i.MX RT到i.MX 8应用处理器及更多)中实现开源ML技术。“利用eIQ,客户可以根据需要在他们选择的计算单元上(包括CPU、GPU、DSP或NPU)实施ML。你甚至还会见到一些异构实现,比如在DSP上运行关键字检测的语音应用、在GPU或CPU上的人脸识别、在NPU上的高性能视频应用,或它们的任意组合。”
Arm的Bergey说:“全世界的IoT设备已接近1万亿台,我们的基础设施和架构面临前所未有的挑战,为迎接这一巨大机遇,我们所需的技术也在不断发展。Arm主要提供可配置、可扩展的解决方案,以满足性能和功耗要求,从而让AI无处不在。”
Adesto也提供边缘AI赋能技术,包括带AI加速器的ASIC、在语音和图像识别AI芯片中存储权重的NOR闪存,以及将新、旧数据送至云端(如IBM Watson和Microsoft Azure)进行分析的智能边缘服务器。
图8:Adesto使用RRAM技术开发存内AI计算,其中单独的存储单元既是存储元素又是计算资源。(图片来源:Adesto)
Intrater补充说:“我们也在利用RRAM技术开发存内AI计算,其中单独的存储单元既是存储元素又是计算资源。在这种范式中,深度神经网络(DNN)矩阵变成NVM单元阵列,矩阵权值变成NVM单元的电导。将输入电压施加到RRAM单元上可以产生电流,然后对其求和,即可完成点积运算。由于不需要在计算资源和内存之间移动权重,因此这一模型可以实现电源效率和可扩展性的完美组合(图8)。”
在我看来,边缘AI和端点AI之间有一个非常明显的区别。端点是物理世界与数字世界的交汇点,而边缘的定义却很灵活。供应商的说法也各不相同,有的认为数据中心以外的一切都是边缘(包括网关、网络边缘、汽车),而有的则把端点定义为边缘的子集。
如何定义并不重要。最终还是要看具体的应用,以及可以在端点或边缘实现多少智能。这需要在可用存储容量、性能需求、成本和能耗之间进行权衡,以决定能够在边缘实现多少推理和分析,需要多少神经网络加速器,以及是作为SoC的一部分还是与CPU、GPU或DSP并列使用。当然,在应对这些挑战时,不要忘记使用创新的方法和技术,比如存内计算和AI。
我们都认同,“边缘应该多智能”是由具体的应用决定的,要根据可用的资源来找出实用的方法。
(原文刊登于ASPENCORE旗下EETimes英文网站,参考链接:Let’s Talk Edge Intelligence。)
本文为《电子技术设计》2020年04月刊杂志文章,版权所有,禁止转载。免费杂志订阅申请点击这里。