如何利用 AI 加速边缘计算?
发布时间:2022-07-26 11:22:13 所属栏目:大数据 来源:互联网
导读:人工智能正被设计到越来越多的边缘芯片和系统中,用于加快海量数据的处理速度,并通过划分和优先级来降低功耗。反过来,这使得系统能够更快地处理这些数据。 在边缘而不是在云中处理数据提供了许多有充分说明的好处。因为生成数据的地方和处理数据的地方之间
人工智能正被设计到越来越多的边缘芯片和系统中,用于加快海量数据的处理速度,并通过划分和优先级来降低功耗。反过来,这使得系统能够更快地处理这些数据。 在边缘而不是在云中处理数据提供了许多有充分说明的好处。因为生成数据的地方和处理数据的地方之间的物理距离更短,所以延迟大大减少了。这也减少了移动数据所需的基础设施的数量,因为在初始处理之后路由的数据更少了。它还减少了移动数据所需的电量,以及存储数据的成本。然而,所有这些好处都可以通过利用某种形式的人工智能来扩展。 英飞凌互联安全系统部门总裁Thomas Rostock表示:“云肯定会发挥作用。“但必须有某种智能来减少进入云计算的数据量,并将其集中起来,然后得到答案。这是一个架构问题。” 人工智能是边缘设计的一个相对较新的转折点,它被用于识别芯片和系统级别的资源并确定资源的优先级。因此,虽然边缘计算已经广泛部署在许多不同的领域——包括多层处理,它可以跨越从传感器内部到内部和外部服务器层的所有内容——但人们认识到,可以从数据和处理数据的系统中提取更多的价值。 “如果我的汽车可以与我在屋顶上的太阳能系统进行通信,那么他们就可以同意何时为汽车中的电池充电,” Rostock说。“如果是多云天气,那可能不是最好的时间,所以我只加载到 50% 并等到天气条件好转后再进行其他操作。或者,如果我知道我明天要开车去较远的地方,我将需要一个充满电的电池,这样我就可以重写我的系统并说我需要超过 80% 的电量。在建筑物中,我们通过控制百叶窗遮挡阳光来节省能源。” 根据2021 年边缘状态报告,2019 年至 2028 年期间,边缘计算的累计投资将高达 8000 亿美元。这些投资中约有一半将用于边缘设备,另一半将用于边缘基础设施。如农业、航空、能源,包括石油和天然气勘探、现场服务管理、金融、医疗保健、制造业与智能工厂、电网监控、零售、智能建筑、智慧城市、供应链管理、监测、交通和运输、仓库管理等。 如何利用 AI 加速边缘计算? 图 1:边缘计算应用的细分市场。 其中一些支出将包括 AI/ML,这有助于优化边缘计算系统,特别是在推理方面。虽然大多数专家认为训练将继续在大型数据中心使用庞大的数据集进行,但推理可以使用各种处理元素在本地完成,包括 GPU、FPGA、eFPGA、NPU 和加速器/协处理器。这种本地多样性对于带宽有限或不一致以及处理受电池大小或类型限制的广泛应用非常重要。 Mixel创始人兼首席执行官 Ashraf Takla 表示:“边缘计算在消费者领域有许多应用,例如虚拟会议,可以使用笔记本电脑或会议平台。 ” “在虚拟会议期间,边缘处理可用于人脸检测、背景模糊、手势控制、智能静音和物体检测。消费者可穿戴设备还可以从边缘计算中受益,以检测用户周围的重要物体和声音,包括本地语音命令、用于简化设备 UI 的高级唤醒词以及面部和物体识别。然而,由于资源(包括电力)在边缘是有限的,人工智能是识别和优先处理最相关信息以进一步处理或传输到云端的关键。” 如何利用 AI 加速边缘计算? 图 2:边缘计算和云计算的比较 从上图我们可以看到,边缘计算在延时、带宽要求、能耗、安全性以及成本等方面都有着明显优势。 物联网设备的最初想法随着时间的推移而演变,融入更广泛的边缘计算概念。但是,不仅仅是一组通过网关将数据发送到云端进行处理的非智能传感器,许多边缘设备现在更加先进。 “我们已经看到我们的客户将 MIPI 用于为智能设备(如安全摄像头或其他依赖视频和音频输入的物联网设备)供电的 SoC。SoC 需要与外部源(视频和音频)连接,并将数据发送到预处理单元,以使图像和音频更适用于神经网络,”Takla 说。“神经网络集群和 SRAM 是主要处理发生的地方,包括分割、识别、推理以及其他功能发生的地方。” 这些设备中的许多设备可以在本地对数据进行分区和优先级排序,并且它们可以使用非常少的功耗来做到这一点。但它们的设计和制造难度更大,成本更高。 弗劳恩霍夫IIS自适应系统工程部设计方法论负责人Roland Jancke说:“需要进行多层次的模拟。”“你有一个反映所有功能的复杂模型,对于模型的不同部分,你需要更深入地研究细节。如果你只是引入数据或查看它如何与其他部分连接,你不需要这种细节,但你需要决定哪些部分需要详细建模。” 将 AI 设计到芯片 人工智能架构通常是围绕高数据吞吐量设计的,其中有大量并行工作的处理元素,通常使用较小的本地化内存。对于复杂的边缘设备,包括从汽车到智能手机的任何东西,设计工具利用AI来创造更好的AI芯片,这些芯片通常与其他芯片结合在一起。 “重要的不仅仅是芯片或设备,” Ansys半导体业务部副总裁兼总经理 John Lee 说。“这也是随之而来的软件。我们在这个领域看到的挑战是动态热管理,您正在设计芯片并且希望在某个时候获得最大性能。由于超出了温度限制,您需要降低该性能。如果您没有正确进行动态热管理,那么您的系统的性能可能会不合格。做到这一点的唯一方法是了解真正的工作负载是什么,即软件本身,然后使用仿真来启动并运行完整的工作负载。所以这非常重要。AI/ML 技术正在被用来应对这些挑战。” 尽管如此,使用 AI/ML 也会增加其他问题。“我们的客户利用各种能力的 AI/ML 为其ADAS系统增加价值,” Arteris IP高级技术营销经理 Paul Graykowski 说。“这些系统利用摄像头、激光雷达和其他传感器的功能来构建车辆周围的世界视图。例如,在读取限速标志时,机器学习可能会检测到新限速的存在。然后可以将新的限制馈送到云端进行额外的学习,然后可以将数据推送回路上的其他车辆。” 但是对于这些 AI 系统来说,什么是足够好的准确度,通常是根据数据分布以概率来衡量的,可能会因应用程序和用户而异。“在通过 ADAS 实现自动化的情况下,我们必须确保符合ISO 26262等标准,”Graykowski 说。“SoC 中的安全岛、冗余和故障模式分析只是其中的一些技术。所有这些都必须进行相应的测试。” 一般来说,精度越高,实现它所需的计算资源和能量就越多。这在汽车行业尤其明显,设计团队经常面临相互冲突的目标。西门子数字工业软件公司汽车和mil/aero混合物理和虚拟系统副总裁David Fritz说:“真正的问题是要满足欧洲、美国和日本的环境要求,因为它们都有不同的排放目标。”“与此同时,随着这些汽车变得更加智能,芯片制造商需要降低功耗,增加更多的计算能力。所以你必须平衡这两件事。但如何在不消耗更多能量的情况下让它更智能呢?” 其中许多系统具有固定的功率预算,这可以确定设备的使用方式,甚至可以确定使用哪种电池。 Arm公司的研发人员罗布·艾特肯(Rob Aitken)说:“如果你把摄像头之类的东西放在房子前面,你肯定不想经常更换电池。”“你只是想让它工作。这是一个相当孤立的应用,但它代表了在其他情况下会发生什么。如果一辆车有三种不同类型的电池,在不同的时间以不同的模式运行,你就必须设计包括传感器在内的系统,无论你在传感器上做什么或不做什么,都要将这些本地处理反馈给某种集中式计算系统。所有这些东西都有一些电池配置文件,但它在那里运行。电脑的运行方式-基本上是任务的划分,它们的编排-将取决于电池是什么。从Arm的角度来看,我们的主要立场是,‘告诉我们你的电池能做什么,我们就可以找出可能会优化其性能的东西。我们可以结合硬件/固件/软件,让你在特定的电池领域根据你想要优化的任何东西来定制你的操作。’” 预训练模型减少了 ML 训练时 人工智能可以在所有这些情况下提供帮助。问题是,训练人工智能做你想做的事情是非常耗时的。大量预先训练的模型简化了这一过程,即使它们并没有完全针对特定设备进行优化。集成一个预先训练的模型比从头开始的ML训练更划算。例如,对于一个零售应用来说,边缘设备需要经过广泛的视觉训练,才能学习人类的长相,以及如何在人类移动时计数。 对于ML来说,通过浏览数百万张图像来进行准确的预测并不罕见。此外,编程gpu可能也需要经历一个学习曲线。通过使用对YOLOv4对象检测进行预先训练的模型,开发人员可能可以绕过大部分训练过程。YOLOv4是一个灵活的、最先进的框架,使用底层语言编写,用于检测实时对象。 Flex Logix推理营销高级总监Sam Fuller说:“基于人工智能的边缘设备开发人员经常会遇到一个挑战,即想出一种具有成本效益的方法来训练设备。”“通过预先训练的模型,开发人员可以缩短设计周期,更快地进行测试。使用预训练的EasyVision平台与X1M芯片(50 FPS的YOLOv4检测),ML可以产生很好的结果。作为一个粗略的比较,这种组合将产生80倍的性能,在英特尔i5处理器上运行相同的算法,而不需要加速。” 了解 PPA 要求是关键 对于设计团队来说,最大的挑战之一是找出特定设计的各种可能性和权衡,并理解设备将如何使用。与过去不同的是,芯片主要是按照某种规格设计的,即使是无晶圆厂设计团队也常常很好地理解芯片将如何以及在哪里使用。在某些情况下,他们会直接与制造商合作,对解决方案进行微调。 Cadence公司Tensilica AI产品营销总监Suhas Mitra表示:“边缘部署场景可以产生各种潜在的解决方案。“要决定哪种硬件解决方案更适合应用,很大程度上取决于在设计阶段对关键功能、性能和面积(PPA)需求的理解。这可能导致许多不同的可能性或变体。例如,电池驱动的微型边缘设备(可听或可穿戴)可能需要非常低的功率和能量,但可能不需要高吞吐量。一个调优的AI加速器、DSP或MCU硬件都可以满足要求,但最终的选择可能取决于SoC的面积和功率预算。” AI带来了全新的优化可能性,也带来了一些挑战。 Mitra说:“对于软件来说,终端用户必须用数据训练他们的网络,以微调AI工作负载。”“许多部署场景使用开源AI模型,可以减轻创建和迭代新AI模型的需求。在网络编译阶段,有两个处理AI工作负载的基本流程。一种涉及提前(AOT)编译,另一种更类似于基于运行时的流。这两种流目前都存在于基于应用程序需求的各种部署场景中。通过可编程IP,如dsp,最终产品也可以接收无线(OTA)更新,就像我们的手机和各种电子产品一样。通过这种方式,随着AI算法变得更加精细/调整/准确,它可以被发送到最终产品,从而带来更好的整体体验和性能改善。” AI设计也涉及很多参数。开发人员必须考虑使用什么Arm或RISC-V控制代码来运行操作系统。然后必须考虑嵌入式cpu,包括DSP向量和NPU加速器。最大的问题是如何优化分区以获得最大性能。 一种方法是通过代码优化将所有这些功能集成到一个IP中。Quadric的首席营销官Steve Roddy说:“将NPU、DSP和实时CPU集成到一个IP中,为开发者节省了大量的编程时间和麻烦。”“深入研究一个函数来确定跨三个不同处理器IP块的最佳分区需要花费大量精力。在单核上运行性能关键控制和DSP和ML图形代码效率更高。” (编辑:长春站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |