使用 AI 实现推理加速的未来

人工智能的输入及其在数据中心的发展可能会极大地改变推理加速的未来。

随着新兴领域的'边缘人工智能,'这种趋势正在发生变化,在不久的将来,智能手机、无人机、机器人、监控摄像头和工业摄像头等技术都将内置某种人工智能处理。

当推理直接在成像设备本身上进行时,事情会变得更有趣。一个需要考虑的有趣问题是,如何在大型数据中心之外的小型资源优化嵌入式设备中可持续有效地使用这种高功率技术?

一些旨在有效加速边缘设备上的神经网络的解决方案和方法已经存在。然而,在这些新方法中,只有少数几种方法足够灵活,可以跟上人工智能的快速进步和发展。

边缘智能

术语“边缘智能”描述了一类可以结合机器学习算法和神经网络解决网络“边缘”推理任务的设备。

在这种背景下,一个越来越多的问题是为什么人工智能应该越来越多地用于嵌入式设备,为什么行业的重点现在转向深度学习和深度神经网络?

要回答这个问题,重要的是少关注人工智能,多关注安全性、延迟、带宽和去中心化数据处理。重点关注现代工业 4.0 应用的核心主题和难点非常重要。

一个敏锐的关注点是减少对共享通信信道带宽的固有竞争。这可以通过将大量相机或传感器数据过滤或转换为边缘设备本身已有的可用信息来实现。

由于这种即时数据处理,过程决策可以直接在图像捕获点做出,而没有数据通信的挑战。

从安全或技术角度考虑,与基于云或中央处理单元的可靠且一致的通信甚至可能是不可取的或难以实现的。

图1。 由IDS硬件开发的AI核心“深海核心”加速了人工神经网络在工业相机上的执行,并使推理时间达到几毫秒。 图片来源:IDS 成像开发系统有限公司

当边缘设备以这种方式封装时,获取的数据还有助于数据存储和处理的去中心化,从而降低对整个系统的潜在攻击的可能性。确实,需要注意的是,对于每个组织而言,生成和传输的数据的安全性至关重要。

在分布式系统智能中也有明确的工作特定任务分离。例如,在任何一家工厂内,数百个单独的工作站可能需要图像分类服务,以便分析每个工作站的不同对象集。

尽管如此,在云中托管多个分类器是有成本的。有必要找到一种经济高效的解决方案,在云端训练所有分类器,并将模型发送到边缘设备,边缘设备可以适应各自的工作站。

跨所有工作站进行预测的分类器可能比每个模型的专业化表现更差。此外,与数据中心实现相比,这些简单、特殊的解决方案还减少了宝贵的开发时间。这些以及许多其他原因加强了将推理执行外包给边缘设备的论点。

智能边缘设备减少了大量传感器和图像数据。它们在边缘生成直接可用的信息,并仅将这些信息传达给控制单元。

图 2。 智能边缘设备减少了大量传感器和图像数据。它们在边缘生成直接可用的信息,并仅将这些信息传达给控制单元。图片来源:IDS 成像开发系统有限公司

挑战

重要的是调查为什么神经网络被认为不适合嵌入式使用,同时确定在“边缘”有效使用它们可能面临的挑战。 

当然,在边缘设备上执行 AI 推理任务可能很复杂。一般来说,边缘计算完全是为了效率,这就是为什么边缘设备通常只能提供相当有限的存储、计算和能源资源。

因此,这意味着此类设备必须在高效执行计算的同时提供高性能值和低延迟时间——这是一个复杂的问题。当然,最高纪律伴随着 CNN 的执行。

CNN 因需要数十亿次计算来处理输入并且计算量极大而享有盛誉。原则上,使用数百万个参数来描述 CNN 架构本身,它们并不代表边缘计算的理想候选者。

MobileNet、EfficientNet 或 SqueezeNet 更适合嵌入式使用,因为它们都是所谓的“参数高效”网络的例子,需要较少数量的参数来描述它们。显着降低了内存需求和计算需求——这只是系统的优势之一。

必须压缩网络以进一步降低存储需求。例如,可以通过训练后的“剪枝”过程去除不重要的参数,或者可以使用量化来减少用于描述参数的比特数。

CNN 内存大小的减少导致处理时间的积极变化,这将我们的分析带到了优化的最后一个方面。

仍然必须使用为此类架构创建的定制和特别定制的计算系统(尽管使用了压缩和参数高效的网络)以在边缘高效运行 AI。

为此需要考虑两个基本系统属性。除了我们已经提到的所需效率之外,该系统还必须足够灵活以支持 CNN 架构的新发展。

这在人工智能领域尤为重要,因为每个月都会有新的架构和新的层类型得到开发和研究领域的批准。今天的新鲜事物可能到明天就会过时。那么,最好的平台选择是什么?

平台选择

  • 不可否认,基于 CPU 的系统提供了最高的灵活性。然而,必须指出的是,不幸的是,CPU 在运行 CNN 时效率极低,而且功率效率也不高。
  • GPU 平台通过其并行工作的计算核心以高功率执行 CNN。 GPU 高度灵活,比 CPU 更专业。但是,它们非常耗电,因此自然会在边缘造成问题。
  • 在现场,可编程 FPGA 的架构可以重新配置,从而适应新的 CNN 架构。由于其并行操作模式,FPGA 的运行效率也非常高,但必须注意的是,它们的编程需要更高程度的硬件知识。
  • 在效率方面一个明显的领先者是作为定制集成电路的完整 ASIC 解决方案。这是关键,因为 ASIC 解决方案旨在有效执行给定的 CNN 架构。然而,如果不再支持新的或更改的 CNN 架构,灵活性可能会带来问题。

在 AI 发展的现阶段,FPGA 技术由于其高性能、灵活性和能源效率,最适合在边缘设备上实现 CNN 加速器。

此外,FPGA 是一种适用于工业用途的解决方案,因此可以长期工作,这要归功于它可以在单元运行期间通过更新用于特殊应用或 CNN 的新配置文件随时进行修改。

当然,关键要注意的是,使用 FPGA 技术的最大障碍之一是编程非常复杂,只能由专家执行。

发展战略

CNN 加速器是基于 FPGA 技术开发的,以便在“视觉边缘设备”中执行神经网络,即多功能 IDS NXT 摄像机

这个 FPGA 加速器被命名为“深海核心”。然而,与针对不同 CNN 类型的几种特殊优化配置相比,一种普遍适用的架构更可取,以便在以后使用时尽可能简单地处理 FPGA。

这意味着,如果它包含受支持的层,则加速器可以运行任何 CNN 网络。 

鉴于已经支持所有常规层(例如,卷积层、挤压激发层、附加层和各种类型的池化层),关键要注意的是,基本上可以使用任何重要的层类型。 

因此,用户无需任何特定知识即可创建新的 FPGA 配置,并且有效地消除了复杂或困难的编程问题。

通过 IDS NXT 相机的固件更新,深海核心不断发展以支持 CNN 领域的任何新发展。 

深海核心 

通用 CNN 加速器如何工作,需要哪些步骤才能运行经过训练的神经网络?首先,加速器只需要“二进制描述”,它详细说明了构成 CNN 网络的层(不需要编程)。 

然而,加速器无法理解神经网络的“语言”。例如,用 Keras 训练的神经网络是一种特殊的“Keras 高级语言”,加速器无法理解。 

因此,“语言”必须被翻译成类似于“链表”形式的二进制格式。 CNN 网络的每一层然后变成一个节点端描述符,它精确地勾勒出每一层。二进制表示的 CNN 的完整级联列表是此转换过程的产物。 

此过程由工具自动执行。不需要专业知识。在这个阶段,生成的二进制文件随后被加载到相机的内存中,并通过深海核心开始处理。此时,CNN 网络现在正在 IDS NXT 相机上运行。 

执行灵活性

使用 CNN 表示作为链表有明显的好处,尤其是在加速器灵活性方面。这有助于网络之间的快速无缝切换。可以在相机的工作内存中加载不同神经网络的多个“链表表示”。

深海加速器必须指向这些列表之一的开头,才能选择一个 CNN 来执行。唯一需要完成的任务是将“指针值”更改为列表存储器之一。

这只是指 FPGA 寄存器的直接写操作:可以根据需要快速执行的任务。 

CNN网络的快速切换是如此重要。例如,让我们假设一家公司有一条生产线,其中有两种不同类型的产品在运行。

如果公司要检查其产品质量,公司必须首先识别产品的位置,然后根据识别的产品类别对质量进行分类(根据产品特定的缺陷)。

这个任务可以通过训练一个巨大的 CNN 网络来解决,以通过简单地为每个产品组预训练一个可能的故障案例来找到对象并同时对它们进行分类。

尽管这种方法可行,但它不符合成本效益,并且可能会使网络变得既慢又大。这种方法的另一个困难是要达到足够高的准确度。 

如果公司有能力快速有效地改变活跃的 CNN 网络,测试人员就可以将不同对象的定位和分类分离,因为单个 CNN 更容易训练。在这种情况下,对象识别只需要区分两个类并提供它们的位置。 

两个额外的网络专门针对各自的产品特定属性和缺陷类别进行训练。根据本地化的产品,相机应用程序完全自动地决定激活哪个分类网络,以确定相应的产品质量。 

使用这种方法,边缘设备可以使用很少的参数处理相当简单的任务。这种方法导致单个网络变得更小,由于减少了区分特征的需求,使它们非常适合在边缘设备上执行,从而使它们能够更快地工作并消耗更少的能量。 

能够动态改变神经网络的执行,可以将图像分析划分为更简单的推理工作流程,这些工作流程在相机上更高效、更快、更稳定。

图 3。 能够动态改变神经网络的执行,允许将图像分析划分为更简单的推理工作流程,这些工作流程在相机上更高效、更快、更稳定。图片来源:IDS 成像开发系统有限公司

高效和高性能

具有 64 个计算内核,基于 FPGA 的 CNN 加速器在 IDS NXT 推理相机 在 Xilinx Zynq Ultrascale SoC 上运行。 MobileNet、SqueezeNet 和 EfficientNet 是众所周知的图像分类网络的例子,它们可以实现高达每秒 67 帧的帧速率。

即使在 Inception 或 ResNet 等被认为对于边缘计算来说过于复杂的网络系列上,每秒也可能达到 20 帧。因此,每秒 20 帧的速率对于许多应用程序来说已经足够了。

得益于 FPGA 的实现,可以进一步提高深海加速器的性能。现场使用的所有相机都可以从固件更新中受益。

在边缘计算方面,电源效率更为重要,因为它表示系统每瓦能量每秒可以处理多少图像。在比较不同的边缘解决方案时,电源效率是一个很好的指标。 

下图比较了不同的 CNN 加速器。在图中,比较了以下加速器,作为 FPGA 实现的深海核心、当前 Intel Core-i7 CPU 的经典 CPU 解决方案、具有 Jetson TX 2A 的 GPU 解决方案、作为嵌入式 CPU 解决方案的 Raspberry Pi,最后,以 Intel Movidius AI 芯片为代表的全 ASIC 解决方案。

特别是对于参数高效的网络,例如 MobilNets 或 SqueezeNet,您可以看到 FPGA 架构是明显的赢家。它在所比较的系统中具有最高的功率效率。这使得深海核心成为边缘智能的首选候选者。

图 4。 特别是对于参数高效的网络,例如 MobilNets 或 SqueezeNet,您可以看到 FPGA 架构是明显的赢家。它在所比较的系统中具有最高的功率效率。这使得深 海洋 core 边缘智能的首选候选人。图片来源:IDS 成像开发系统有限公司

一体化推理相机解决方案 

为确保基于FPGA的CNN加速器更易于使用,完整的推理相机解决方案—— IDS NXT 海洋 - 由 IDS 提供,确保每个人都可以轻松访问该技术。

该系统的用户不需要任何图像处理、深度学习或相机/FPGA 编程方面的培训或预先存在的知识,即可成功训练和运行神经网络。 

这意味着所有用户都可以立即开始基于 AI 的图像处理。工具,例如基于 FPGA 的 CNN 加速器,明显易于使用,消除了在几分钟内创建推理任务的入门障碍,允许它们立即在相机上运行。 

除了带有基于FPGA的CNN加速器的智能相机平台IDS NXT之外,IDS NXT海洋一体化AI解决方案的整体概念还包括易于使用的神经网络训练软件。

每个组件都是由 IDS 直接开发的,因此,它们被设计为可以无缝地协同工作。这简化了工作流程,使整个系统更加高效。 

可持续边缘智能

加速神经网络的每一种可能性都有其各自的优点和缺点。如果最终用户更愿意转向完全集成的 AI 加速器,例如 英特尔移动,他们必须自己处理必要的组件,以便将 AI 用于机器视觉任务。 

由于功能范围的大量文档,即用型芯片解决方案不仅可以高效工作,而且可以实现只有大批量才能实现的单价,而且还可以相对容易和快速地集成到系统中。 

然而,它们漫长的开发时间在人工智能环境中是一个巨大的问题——它每天都在变化。 

系统组件必须满足其他要求,以开发通用、灵活和高性能的“边缘智能”。在 FPGA 基础中可以找到性能、灵活性、可持续性和能源效率的理想和最佳组合。 

“工业适用性”由长期可用性和简单长期可维护性保证,是工业产品最重要的要求之一。 

今天,易于使用的 IDS NXT 推理相机平台(结合 FPGA CNN 加速器)提供了一种可持续的边缘智能端到端解决方案,无需终端用户担心 AI 更新和单个组件。

此信息来源于、审查和改编自 IDS 成像开发系统有限公司 提供的材料。

有关此来源的更多信息,请访问 IDS 成像开发系统有限公司。

引文

请使用以下格式之一在您的论文、论文或报告中引用这篇文章:

  • APA

    IDS 成像开发系统有限公司。 (2021, July 14). 使用 AI 实现推理加速的未来. AZoOptics. Retrieved on October 13, 2021 from //www.selec-iat.com/Article.aspx?ArticleID=1971.

  • MLA

    IDS 成像开发系统有限公司。 “将 AI 用于推理加速的未来”。 偶氮光学. 13 October 2021. .

  • 芝加哥

    IDS 成像开发系统有限公司。 “将 AI 用于推理加速的未来”。 AZoOptics. //www.selec-iat.com/Article.aspx?ArticleID=1971. (accessed October 13, 2021).

  • 哈佛

    IDS 成像开发系统有限公司。 2021。 使用 AI 实现推理加速的未来. AZoOptics, viewed 13 October 2021, //www.selec-iat.com/Article.aspx?ArticleID=1971.

问一个问题

关于这篇文章,您有什么问题想问吗?

留下您的反馈
提交