人工智能正被设计到越来越多的边缘芯片和系统中,用于加快海量数据的处理速度,并通过划分和优先级来降低功耗。反过来,这使得系统能够更快地处理这些数据。
在边缘而不是在云中处理数据提供了许多有充分说明的好处。因为生成数据的地方和处理数据的地方之间的物理距离更短,所以延迟大大减少了。这也减少了移动数据所需的基础设施的数量,因为在初始处理之后路由的数据更少了。它还减少了移动数据所需的电量,以及存储数据的成本。然而,所有这些好处都可以通过利用某种形式的人工智能来扩展。
英飞凌互联安全系统部门总裁ThomasRostock表示:“云肯定会发挥作用。“但必须有某种智能来减少进入云计算的数据量,并将其集中起来,然后得到答案。这是一个架构问题。”
人工智能是边缘设计的一个相对较新的转折点,它被用于识别芯片和系统级别的资源并确定资源的优先级。因此,虽然边缘计算已经广泛部署在许多不同的领域——包括多层处理,它可以跨越从传感器内部到内部和外部服务器层的所有内容——但人们认识到,可以从数据和处理数据的系统中提取更多的价值。
图1:边缘计算应用的细分市场。
其中一些支出将包括AI/ML,这有助于优化边缘计算系统,特别是在推理方面。虽然大多数专家认为训练将继续在大型数据中心使用庞大的数据集进行,但推理可以使用各种处理元素在本地完成,包括GPU、FPGA、eFPGA、NPU和加速器/协处理器。这种本地多样性对于带宽有限或不一致以及处理受电池大小或类型限制的广泛应用非常重要。
图2:边缘计算和云计算的比较
从上图我们可以看到,边缘计算在延时、带宽要求、能耗、安全性以及成本等方面都有着明显优势。
“我们已经看到我们的客户将MIPI用于为智能设备(如安全摄像头或其他依赖视频和音频输入的物联网设备)供电的SoC。SoC需要与外部源(视频和音频)连接,并将数据发送到预处理单元,以使图像和音频更适用于神经网络,”Takla说。“神经网络集群和SRAM是主要处理发生的地方,包括分割、识别、推理以及其他功能发生的地方。”
这些设备中的许多设备可以在本地对数据进行分区和优先级排序,并且它们可以使用非常少的功耗来做到这一点。但它们的设计和制造难度更大,成本更高。
弗劳恩霍夫IIS自适应系统工程部设计方法论负责人RolandJancke说:“需要进行多层次的模拟。”“你有一个反映所有功能的复杂模型,对于模型的不同部分,你需要更深入地研究细节。如果你只是引入数据或查看它如何与其他部分连接,你不需要这种细节,但你需要决定哪些部分需要详细建模。”
人工智能架构通常是围绕高数据吞吐量设计的,其中有大量并行工作的处理元素,通常使用较小的本地化内存。对于复杂的边缘设备,包括从汽车到智能手机的任何东西,设计工具利用AI来创造更好的AI芯片,这些芯片通常与其他芯片结合在一起。
一般来说,精度越高,实现它所需的计算资源和能量就越多。这在汽车行业尤其明显,设计团队经常面临相互冲突的目标。西门子数字工业软件公司汽车和mil/aero混合物理和虚拟系统副总裁DavidFritz说:“真正的问题是要满足欧洲、美国和日本的环境要求,因为它们都有不同的排放目标。”“与此同时,随着这些汽车变得更加智能,芯片制造商需要降低功耗,增加更多的计算能力。所以你必须平衡这两件事。但如何在不消耗更多能量的情况下让它更智能呢”
其中许多系统具有固定的功率预算,这可以确定设备的使用方式,甚至可以确定使用哪种电池。
人工智能可以在所有这些情况下提供帮助。问题是,训练人工智能做你想做的事情是非常耗时的。大量预先训练的模型简化了这一过程,即使它们并没有完全针对特定设备进行优化。集成一个预先训练的模型比从头开始的ML训练更划算。例如,对于一个零售应用来说,边缘设备需要经过广泛的视觉训练,才能学习人类的长相,以及如何在人类移动时计数。对于ML来说,通过浏览数百万张图像来进行准确的预测并不罕见。此外,编程gpu可能也需要经历一个学习曲线。通过使用对YOLOv4对象检测进行预先训练的模型,开发人员可能可以绕过大部分训练过程。YOLOv4是一个灵活的、最先进的框架,使用底层语言编写,用于检测实时对象。FlexLogix推理营销高级总监SamFuller说:“基于人工智能的边缘设备开发人员经常会遇到一个挑战,即想出一种具有成本效益的方法来训练设备。”“通过预先训练的模型,开发人员可以缩短设计周期,更快地进行测试。使用预训练的EasyVision平台与X1M芯片(50FPS的YOLOv4检测),ML可以产生很好的结果。作为一个粗略的比较,这种组合将产生80倍的性能,在英特尔i5处理器上运行相同的算法,而不需要加速。”
对于设计团队来说,最大的挑战之一是找出特定设计的各种可能性和权衡,并理解设备将如何使用。与过去不同的是,芯片主要是按照某种规格设计的,即使是无晶圆厂设计团队也常常很好地理解芯片将如何以及在哪里使用。在某些情况下,他们会直接与制造商合作,对解决方案进行微调。Cadence公司TensilicaAI产品营销总监SuhasMitra表示:“边缘部署场景可以产生各种潜在的解决方案。“要决定哪种硬件解决方案更适合应用,很大程度上取决于在设计阶段对关键功能、性能和面积(PPA)需求的理解。这可能导致许多不同的可能性或变体。例如,电池驱动的微型边缘设备(可听或可穿戴)可能需要非常低的功率和能量,但可能不需要高吞吐量。一个调优的AI加速器、DSP或MCU硬件都可以满足要求,但最终的选择可能取决于SoC的面积和功率预算。”
基于人工智能的边缘设计过程很复杂,因为它有很多活动部件。它包括机器学习、训练、推理和选择最佳AI芯片/解决方案和传感器。此外,从定义上看,AI系统应该是适应和优化的。在设计周期的早期选择正确的测试方法和模型以减少错误是至关重要的。
“从设计阶段开始,我们如何将这些硅内显示器添加到芯片本身——无论是单模还是多模系统——然后在从生产到现场操作的过程中收集数据Synopsys公司硅变现集团高级副总裁巴里·比斯瓦斯问道。“这属于软件定义硬件的领域,我们不仅会监控,还会优化。我们用EDA设计软件做了类似的优化。有自主设计系统可以优化设计创造过程。现在想象一下,这些系统在现场运行,然后优化变量,允许配置gpu和cpu。”
随着芯片的边缘计算和人工智能功能越来越多,减少设计过程中的误差就变得非常重要。目前,寄存器传输电平(RTL)仍然是设计SoC、FPGA和ASIC时最常用的语言。无论是单纯的边缘设计还是基于人工智能的边缘设计,最终目标都是实现性能、功率和面积(PPA)优化。如果能够在设计周期的早期发现错误,就意味着可以节省大量的成本。
数字硬件设计已经从门级转向寄存器传输级。如今,高级合成(High-LevelSynthesis,HLS)被用来将c++或SystemC代码中的算法设计合成为RTL。在系统设计中,当功能验证在RTL成功完成时,错误率将会降到绝对的最低。
边缘计算有很多好处,包括低延迟、减少云流量、本地决策和降低总体成本。虽然嵌入式AI将增强边缘计算性能,但其部署提出了一些挑战。现在,使用预训练模型、基于标准的模型和集成IP有助于实施ML训练和推理。优先考虑安全性并使用最新的基于人工智能的边缘设计测试方法也将有所帮助。
因此,人工智能有望成为边缘计算越来越不可或缺的一部分。