@sambodhi
2018-05-21T08:21:48.000000Z
字数 4957
阅读 1741
作者|Deepak Boppana
译者|Zhiyong Liu
编辑|Natalie Cai
AI前线导读:今天,科技发展如盛壮之时的骐骥,一日而驰千里。物联网方兴未艾,智能边缘计算就这样以迅雷不及掩耳之势到来了。有了人工智能的加持,边缘计算将会发生什么样的变化呢?要知道,传统的物联网,它的智能在数据中心,并不在边缘设备上。换言之,传统方式是将数据、数据处理和应用几乎全部保存在云上。而智能边缘计算则改变了这一状况,人工智能让边缘设备变得更智能、更敏捷,数据、数据处理和应用也不必保存在云中,集中在边缘设备足矣。让我们来看看AI前线翻译的Deepak Boppana写的文章 AI Redefines Performance Requirements At The Edge。
从广义上讲,计算的历史是对理想系统架构的不断探索。在过去的几十年里,系统架构师不断地从集中式配置中来回转换,在这些配置中,计算资源位于远离用户的分布式架构中,在这些架构中,处理资源更靠近个人用户。
早期的系统使用高度集中的模式,向遍布企业的用户提供增强的计算能力和存储功能。在20世纪80年代和90年代,随着低成本的个人电脑的崛起,以及局域网的出现,然后是互联网,这些集中式的架构被取代了。在这种新模式中,个人电脑承担了越来越多的计算任务。
随着笔记本电脑、平板电脑和智能手机的兴起,这种高度分布式架构最终演变为移动计算。但是,随着计算需求的日益增加,系统架构师开始将计算任务转移到云计算上,这样,他们就可以利用云计算几乎无限的计算能力和存储资源,并享受其带来的高可靠性和低成本。因此,近年来,企业开始向以云计算为中心的更加集中化的方式发展。例如,智能手机将所有内容都发送到云端,进行处理和存储,当需要数据时,再把数据传回移动设备上。
因此,现在企业进行高级计算和分析都用到云计算。企业使用云计算来运行企业级应用,如Oracle,然后使用PC来解释和分析云计算返回的计算结果。随着机器学习技术在企业中的普及,企业采用了更高层级的人工智能,云计算资源似乎将在每个企业中扮演着越来越关键的角色。今天,云计算展现了强大的优势,它使企业能够简化资本支出,并管理与IT基础设施相关的运维成本。每一家智能工厂都需要这些资源来管理多个机器视觉系统,每个智能城市都需要云计算来协调交通信号灯,进行交通管理,优化成千上万的路灯能效。
然而,并不是所有的应用都要在云端运行。事实上,随着设计师为运行在边缘设备的应用中添加越来越高级的智能,他们需要边缘设备能够对不断变化的环境条件作出更快的响应。例如,当一辆自动驾驶汽车驶入智能城市时,如果遇到交通信号灯变红,它就立即与云通信,确定是否停车。它必须采取紧急行动。类似的,当智能家居中的安全系统检测到屋内有物体移动时,它就必须依靠设备上的资源来检测移动的物体是闯入家中的贼,还是家里的狗。
这就需要独立做出决策,并快速定义一类新的边缘智能设备。使用语音或面部识别等技术,这些新设备将能够根据环境的变化,定制自己的功能。并且,通过应用机器学习和人工智能技术,这些设备将能够根据不断收集的数据来学习、改变其操作。
但是,使用云计算和仅将云计算用于处理和存储的智能系统截然不同。机器学习通常涉及到两种类型的计算工作负载。在训练中,系统从现有数据中习得新的能力。例如,系统通过手机和分析数千张面部图像来学习面部识别能力。因此,训练是计算密集型的,需要能够处理大量数据的硬件。另一种类型的计算工作负载,是通过识别模式和执行任务,将系统的功能应用于新数据。这使得系统能够随着时间的推移不断学习,并增长其智能。在边缘设备运行的系统不能在云端上进行推断。相反,它们需要利用机载计算资源来不断扩展其智能。
这种市场机会的范围很难说得清,但不容小觑。潜在的应用领域不仅包括可以感应到用户离开房间时自动关闭的智能电视等消费类应用;还包括针对未来智能工厂的下一代机器视觉解决方案。显然,边缘计算解决方案的最热门市场之一在汽车行业。汽车从主要的机械设备向日益电子化平台的快速发展推动了这一转变。这一过程始于娱乐系统从收音机和录音机面板迅速发展到高度复杂的信息娱乐系统。随后出现了旨在提高驾驶安全性的高级驾驶辅助系统(Advanced Driver Assistance Systems ,ADAS)。Research and Markets的分析师就曾预测,在2016~2021年,ADAS市场将以年复合增长率10.44%暴涨。
移动市场的最近进展加速了这一变化。智能手机为汽车带来了新功能和新应用,而移动处理器的标准化的MIPI接口的开发,帮助降低了将这些功能集成到汽车中的成本。如今,复杂的汽车娱乐系统不仅提供信息,还提供娱乐;而ADAS解决方案则带来了广泛的安全功能,包括自动制动、车道检测、盲点检测和自动平行停车等功能。
为了实现这一目标,越来越多的厂商将机器视觉系统集成到汽车中,以监控车内司机和道路状况。这些嵌入式视觉系统能够跟踪司机的头部和身体的运动情况来发现困倦或分心的迹象,同时支持自动驻车、倒车辅助、盲点检测、交通标志监控和防撞的外部摄像头数量也在不断增加。新的应用如车道偏离预警系统,将视频输入和车道检测算法相结合,以确定汽车在道路上的位置。因此,汽车制造商现在在每辆汽车上整合了许多摄像头。为了打造这些新的ADAS功能,设计师预计他们需要将前置摄像头用于紧急制动、车道检测、交通标志识别,而侧面和后置摄像头则用于盲点检测、停车辅助和两侧来车警告系统。
汽车制造商在构建这些系统面临的瓶颈之一是I/O。一般而言,现在的处理器都有两个摄像头接口。然而许多ADAS系统需要多达8台摄像头才能满足图像质量要求。在理想的情况下,设计师可以使用一种解决方案,使它们能够协同处理资源,从多台摄像头中拼接多个视频流,或者在将数据传送到单个流中的应用处理器之前,在摄像头输入上执行各种图像处理功能。事实上,大多数ADAS解决方案的一个共同特点是具备鸟瞰功能,可以从多台摄像头收集数据,并在汽车上方20英尺处为司机提供实况视频。
上图所示框图描述了开发人员如何使用单个ECP5 FPGA生成以前需使用多个Arm处理器才能实现的鸟瞰功能子系统(参见下图)。
从前,设计师曾经使用单处理器来驱动每块显示器。现在,设计师可以使用单个FPGA替换多个处理器,汇总来自每台摄像头的所有传入数据,将图像拼接在一起,进行预处理和后处理,并将图像发送到系统处理器,如下图所示:
典型的鸟瞰图,由多台摄像头的数据汇总而成。
这些新的视觉和传感器功能为自动驾驶汽车的引入奠定了基础。例如,Cadillac今年即将推出的SuperCruise,就是业界首款免提驾驶应用之一。这项新技术有望通过不断地分析司机和道路的状况,使司机更加安全,精确的激光雷达数据库则提供道路的细节,先进摄像头、传感器和GPS实现了对动态路面情况做出实时反映。
在工业领域中,人工智能和边缘应用有望在智能工厂中发挥越来越重要的作用。自2011年工业4.0的概念首次提出,新一代的智能工厂将集成先进的机器人技术、机器学习、软件即服务和物联网,改善组织并最大限度提高生产力。
工业1.0标志着制造业通过水力和蒸汽机实现工厂机械化;工业2.0则反映了由制造商整合计算机和自动化所定义的电力驱动产品的大规模生产;即将到来的工业4.0则将网宇实体系统(cyber-physical systems)引入到生产中,以监控智能工厂的物理过程,并利用人工智能资源做出分散的决策。这一演变将通过引入大数据和分析、IT和物联网的融合、机器人技术的最新进展以及数字工业链的发展推动行业的数字化转型。此外,通过彼此之间以及操作人员的交流,这些物理系统将成为IIoT的一部分。
工业4.0的智能工厂与现有工厂有何不同之处?它将为机器、设备、传感器和人员之间提供接近通用的互操作性和更高水平的通信。其次,它将高度重视信息透明度,系统通过传感器数据创建物理世界的虚拟副本,从而创建情景化信息。此外,智能工厂的决策将高度分散,使网宇实体系统尽可能自主地运行。最后,这个工厂的新发展将提供高水平的技术援助,系统将能够互助解决问题,做出决策并帮助人类完成可能非常困难或危险的任务。
设计师真的需要让边缘设备具备人工智能这些新功能吗?传统上,在数据中心采用深度学习技术的设计人员严重依赖高性能GPU来满足苛刻的计算要求。而为边缘设备带来人工智能的设计师并没有那么奢侈。他们只需计算效率高的系统,能够满足准确的目标,同时符合消费市场中通常存在的严格的功耗和碳足迹的限制即可。
无论是智能家居的安全系统,智能城市的自动照明系统,下一代骑车的自动驾驶方案,还是智能工厂的智能视觉系统,它们都需要能够实时处理高清数字视频流的高性价比计算引擎。它们还需要高容量固态存储器、智能相机或传感器,以及先进的分析算法。
通常而言,这些系统中的处理器必须执行各种任务:从图像采集和镜头校正到图像处理和分割。在一些应用中,设计师可以使用各种类型的处理器来满足上述需求:从微处理器、图形处理器(raphics Processing Units,GPU)和数字信号处理器(Digital Signal Processors,DSP),到现场可编程逻辑门阵列(Field Programmable Gate Arrays,FPGA)和专用标准处理器(Application Specific Standard Processors,ASSP)。每种处理器架构都有其独特的优缺点。在某些情况下,设计师将多种处理器类型组合到异构计算环境中。在其他情况下,他们可以将多种处理器类型集成到一个设备中。
解决方案的需求在不断增长,利用应用程序支持和制造规模,与移动处理器和MIPI兼容的传感器及显示器,并使用人工智能、机器学习和神经网络,使边缘设备智能化。在机器学习中,像图像识别这样的应用的神经网络需要海量数据和多种算力来开发数据结构并分配权重。因此,对于这类应用的机器学习通常出现在数据中心并不奇怪。
一旦模型训练完毕并移植到嵌入式系统中,设备就必须更快、更有效地作出决策。在大多数情况下,设计师需要一种将计算效率与低功耗、占用空间小相结合的解决方案。
业界普遍认为,机器学习需要高度专业化的硬件加速,但需求因任务而异。例如,用于训练应用程序的硬件设计师专注于使用32位浮点运算的高准确度计算。在网络边缘上,执行推理的设计师更愿意牺牲精度来提高处理速度或降低功耗。在某些情况下,使用定点计算的应用程序可以在消耗更少的功率的同时,为浮点应用程序提供几乎相同的推理精度。
在这种情况下,ECP5 FPGA被用于在边缘设备上实现一个面部识别应用的卷积神经网络(CNN)加速器。
在某些情况下,能够支持这种设计灵活性的处理器在这些类型的应用中提供了明显的优势。例如,FPGA结合了广泛的嵌入式DSP资源与高度并行的结构,在能耗、占用空间和成本方面具有竞争优势。在Lattice Semiconductor的ECP5 FPGA中的DSP模块可以低于使用浮点运算的GPU的功耗/频率来进行定点数学运算。
与此同时,神经网络的行业研究仍在继续。最近,Lattice Semiconductor与一家面向嵌入式应用的高性能软核处理器开发商合作,为面部检测应用开发基于神经网络的推理解决方案。该解决方案在不到5000个LUT的ice40 5k FPGA上实现。使用具有定制加速器的开源RISC-V处理器,这个设置大大降低了功耗,同时缩短了响应时间。
边缘计算对基于人工智能系统的开发人员而言,是一个巨大的挑战。随着设计师水平的提高,需求将会增长,从而能够更快、更准确地应对不断变化的环境状况。为了满足这一新兴需求,企业需要寻找开发人员采用各种技术。
原文链接: AI Redefines Performance Requirements At The Edge
https://www.nextplatform.com/2018/05/09/ai-redefines-performance-requirements-at-the-edge/