中文 英语

芯片推理中的复杂权衡

一种尺寸不能适用于所有类型,每种处理器类型都有其自身的优点和缺点。

受欢迎程度

设计AI/ML推理芯片正成为一个巨大的挑战,因为应用程序的多样性以及每种应用程序的高度特定的功耗和性能需求。

简单地说,一种尺寸不适合所有情况,并且不是所有应用程序都能负担得起定制设计。例如,在零售店跟踪中,对经过某一通道的顾客有5%或10%的误差幅度是可以接受的,而在医疗诊断或汽车视觉中,精度需要显著提高。但结果的准确性也以功耗、性能和设计复杂性为代价。除此之外,还包括始终在线/无停机时间、吞吐量、数据流和管理、延迟和可编程性。

在人工智能中,准确性是一种衡量答案正确概率的指标,并被定义为正确预测的数量除以预测的总数。例如,如果在100个样本中,有85个样本被正确预测,准确度为85%。

帕洛阿尔托网络公司(Palo Alto Networks)的高级员工数据科学家Venkatesh Pappakrishnan认为,ML算法几乎不可能达到100%的预测精度。一般来说,一个好的ML算法,准确率在80%到85%是比较现实的。要达到接近95%的准确率,需要付出大量的努力、时间、更深入的领域知识,以及额外的数据工程和收集。最有可能的是,一个达到75%到85%精度的模型可能会被发布,然后再进行改进。

另一个关键指标是精度,它对精度有直接影响。在实现推理解决方案时,开发人员使用int(x)格式表示整数。对于边缘推断,它通常是int8或更低。Int1表示1位整数,Int8表示8位整数。位值越高,精度越高。一个简单的类比是一张照片的像素数。像素越多,分辨率越高。在推理中,int8将产生比int4更高的精度。但它也需要更多的内存和更长的处理时间。在一次测试中,NVIDIA演示了int4精度与int8相比有59%的加速。

该公司物联网和嵌入式、汽车和基础设施业务线细分市场总监Parag Beeraka表示:“准确性和精度要求范围很广,这一切都取决于用例手臂.“例如,如果AI/ML用于实时语言翻译,那么你需要有更高的准确性和精确度才能让它易于理解。但如果AI/ML用于物体识别用例,要求的精度越高,AI/ML模型到低功耗AI芯片的映射就越复杂。您可以通过牺牲一些精度和准确性来降低复杂性。这就是为什么你会看到很多低功耗边缘AI芯片使用int8(8位)格式,但你会看到很多更新的ML技术也支持更低(1位、2位和4位)格式,以迎合低功耗边缘AI芯片。”

何时何地进行这些权衡取决于应用程序和用例。Tensilica AI dsp产品营销总监Suhas Mitra表示:“准确性和精度在很大程度上取决于系统级用例节奏.“不同的度量标准用于确定特定应用程序可以容忍的精度/精密度。例如,在低功耗边缘物联网设备上运行的图像分类可能能够容忍更低的精度,而基于汽车自主的系统则需要更高的精度。所有这些因素不仅影响软件的设计,也影响硬件的设计。

GPU、FPGA还是ASIC?
在AI/ML芯片上运行的是软件。各种AI/ML算法和实现随着时间的推移而发展。在过去,算法会在CPU上运行。然而,越来越多这样的软件被嵌入芯片中。对于处于边缘的应用程序,正在部署特定的软件模块。

“人工智能算法涵盖不同的功能,”HLS平台总监Russ Klein表示西门子EDA.“有些相当普通,可以在嵌入式处理器上轻松运行,而另一些则很大很复杂,需要专门的专用硬件来满足性能和效率要求。许多因素有助于确定AI算法的部署位置,但软件、现成加速器或定制硬件的硬件/软件权衡与大多数嵌入式系统的情况类似。”

到目前为止,软件是实现任何功能的最灵活和适应性最强的方法,并且提供的开发成本最低。克莱因说:“软件是‘面向未来的’。“cpu将运行任何尚未被发现的推理算法。基于cpu的系统通常可以在部署时进行更新。然而,软件可能是部署人工智能算法最慢、最节能的方式。”

目前,cpu、gpu、fpga和asic都用于推断芯片。虽然cpu由于其灵活性仍被用于一些AI/ML推理应用,但gpu、fpga和asic因其更高的性能效率而成为深度神经网络(dnn)和卷积神经网络(CNN)的首选,并且它们的吸引力在各种新应用中不断增长。

gpu具有非常高效的并行处理和内存管理。它们通常使用C/ c++高级语言,在数据中心和自动驾驶等高性能DNN和CNN应用程序中工作良好。然而,对于边缘推理应用,例如可穿戴设备和安全摄像头,gpu可能太耗电了。

相比之下,fpga提供可编程I/O和逻辑块。使用硬件描述语言(HDL)等工具来映射AI/ML模型的有效方法对于推断应用程序非常重要。高效的内存管理也很重要。

该公司IP销售、营销和解决方案架构副总裁Andy Jaros表示:“低功耗、可编程性、准确性和高吞吐量是推动高效边缘AI解决方案的四股相互冲突的力量Flex Logix.“具有特定型号加速器的ASIC解决方案将始终是最节能的解决方案,但代价是失去可编程性。多年来,嵌入式处理器已经得到了增强,以增加AI模型所需的乘法和累加(MAC)处理,但还没有满足高精度要求的MAC密度。”

Jaros表示,研究人员和系统设计师目前正在探索使用efpga进行AI处理解决方案的多种途径。正在研究的方法包括特定于模型的、处理器自定义的指令,其中指令集可以在一个模型一个模型的基础上改变。这种指令集的多功能性可以反过来利用eFPGA DSP mac来实现更传统的基于FPGA的加速器,利用二进制或三元模型在FPGA逻辑结构中非常有效地运行,同时保持合理的精度。利用eFPGA可重编程性和灵活性实现AIoT设备,最终客户可以为其应用选择正确的可编程性、功率、性能和精度组合。”“将efpga用于人工智能还为最终用户提供了额外的安全级别,因为他们的专有指令或加速器可以在安全的环境中在制造后进行编程。没人会看到他们的秘密电路。使用PUF技术的比特流加密,就像我们最近与Intrinsic ID的合作一样,为比特流保护增加了更高级别的安全性。”

与gpu和fpga不同,asic的结构是为特定应用定制的。设计可能非常昂贵,这取决于复杂性和流程节点,并且在设计流的后期进行更改以适应更新的协议或工程变更命令,例如,可能会将这些成本推到平流层。另一方面,由于针对特定应用程序的专用功能,该体系结构更加节能。

Arm的Parag表示:“如果低功耗是关键标准之一,那么asic就是构建低功耗AI芯片的正确解决方案。”“如果终端设备是小批量产品,eFPGA可能是一个很好的选择。然而,这可能意味着更高的成本。有一些细分市场可以满足efpga的需求,但大部分市场将是asic。”

根据一份由安全与新兴技术中心与CPU技术相比,asic在效率和速度方面提供了高达1000倍的性能,而fpga则提供了高达100倍的性能。gpu的效率可提高10倍,速度可提高100倍。这些芯片中的大多数可以实现90%到几乎100%的推断精度。(见下表1)


表1:AI/ML推理中各种芯片技术的比较。资料来源:赛义夫·m·汗/安全与新兴技术中心

“gpu、张量处理单元(tpu)或神经处理单元(npu)等专用加速器提供了比通用处理器更高的性能,同时保持了传统处理器的大部分可编程性,并展示了比cpu更高的推理效率。然而,越来越多的专业化可能会导致无法为下一代人工智能算法提供正确的操作组合。但是实现专门的eFPGA/FPGA或ASIC加速器,为特定的AI算法量身定制,可以满足最苛刻的要求。

关键的实时应用,比如自动移动,或者那些必须从能量收集中获取能量的应用,都可以从定制开发的加速器中受益。但定制加速器的开发成本也是最高的,如果它们没有内置一定数量的可编程逻辑,它们可能很快就会过时。

西门子EDA的Klein表示:“FPGA或eFPGA保留了一定程度的可重新编程性,但与等效ASIC实现相比,其代价是更高的功耗和更低的性能。

与大多数设计一样,可重用性降低了设计成本。在某些情况下,高达80%的芯片可能在下一个版本中被重复使用。对于推理设备,能够重用IP或芯片的其他部分也可以显著缩短上市时间,这很重要,因为算法几乎在不断更新。虽然通用芯片(如cpu)可以用于不同软件或算法的推理,但代价是性能较低。另一方面,除非实现了非常相似的应用程序,否则ASIC的可重用性会受到很大限制。中间是FPGA或eFPGA,它们具有最标准的逻辑,允许以最小的努力重新编程软件。

Arm的Parag表示:“在让部分设计可用于人工智能时,有很多考虑因素。“这些包括可扩展硬件AI/ML加速器IP(具有良好的仿真和建模工具),支持可扩展硬件加速器IP上不同框架的软件生态系统,以及覆盖最广泛用例的多框架支持模型。”

其他人也同意。“主要考虑的是如何快速绘制新的人工智能模型拓扑,”Cadence的Mitra说。“有时我们会陷入压榨硬件的每一盎司,但人工智能网络变化如此之快,优化每一行逻辑可能会产生反效果。对于可重用的设计来说,它应该能够处理大量的数学函数,包括各种格式的卷积、激活函数等。”

比例因子
今天的AI/ML推理加速器芯片设计面临着将高性能处理、内存和多个I/ o封装在一个小封装中的挑战。但是高性能处理会消耗更多的能量并产生更多的热量,设计团队必须在性能、能量和成本之间取得平衡。

加上传感器融合——例如音频、视频、光、雷达——这可能会变得复杂得多。但至少可以利用一些行业经验。

“解决视频/成像接口中传感器融合问题的一个简单方法是采用MIPI标准,”该公司营销和销售高级经理Justin Endo说Mixel.“最初,MIPI是用于移动行业的。它现在已经扩展到覆盖许多消费者和AI/ML边缘应用。例如,perception Ergo芯片是一个推理处理器,有2个MIPI CSI-2和2个CPI输入,一个MIPI CSI-2输出,支持两个同时的图像处理管道——一个高性能4K使用4通道MIPI D-PHY CSI-2 RX实例,一个2K/FHD使用2通道MIPI D-PHY CSI-2 RX实例。”

perceptor的Ergo芯片是一种ASIC,在视频推理应用中能够在20mW的情况下实现30fps。其他AI/ML芯片可能消耗2到5瓦,这取决于芯片架构。在家用安全摄像头等电池供电设备中,低功耗很重要。低功耗使电池续航时间更长,在可穿戴应用中,它还有助于设备在较低的温度下运行。

“效率很重要,”percepter首席执行官史蒂夫·泰格(Steve Teig)说。“当需要更高的性能时,功耗的差异就会更加明显。例如,如果视频性能提高到300fps, Ergo芯片将消耗大约200mw,而其他芯片可能会消耗20W到50W。这可能意义重大。”

然而,并不是每个人都以同样的方式衡量业绩和权力。Syntiant是一家推理专用集成电路(asic)供应商,其性能在推断微小v0.7测试由tinyML组织进行。在一次测试中,其产品的延迟得分为1.8和4.3毫秒,而其他产品的延迟得分为19到97毫秒。在能量/功率消耗类别中,Syntiant得分为35 μ J和49 μ J,而其他产品的得分为1482 μ J到4635 μ J。据Syntiant介绍,该芯片可以在140uW的功率下进行全范围的推理操作。

但在这些芯片之间进行比较是一个雷区。目前还没有通用的标准来衡量AI/ML推理性能。因此,对于用户来说,重要的是查看芯片在特定领域的真实工作负载下的表现,并将其放在对终端市场重要的上下文中。在某些应用程序中,性能可能比功耗更不是问题,而在另一些应用程序中则相反。准确性与性能之间也是如此。为了获得更高的推理精度,需要更复杂的算法和更长的执行时间。

结论
平衡所有这些因素是AI/ML推理的一个持续挑战。什么是正确的芯片,或者芯片的组合,取决于应用程序和用例。在某些情况下,它可能是完全定制的设计。在其他情况下,它可能是一些现成的标准部件和重复使用的IP的组合,以满足非常紧迫的截止日期。

“人工智能算法正变得越来越复杂,计算量和参数呈指数级增长,”西门子EDA的Klein说。计算需求的增长速度远远超过了对芯片的改进,这促使许多设计师在部署人工智能算法时寻求某种形式的硬件加速。对于某些应用程序,一个商业加速器或神经网络IP就足够了。但要求最高的应用程序需要定制加速器,以便将开发人员从ML框架快速带入专门的RTL。高级合成(HLS)提供了从算法到针对ASIC、FPGA或eFPGA的硬件实现的最快路径。HLS减少了设计时间,也许更重要的是,它证明了AI算法已经在硬件上正确实现,解决了许多验证挑战。”



留下回复


(注:此名称将公开显示)

Baidu