这篇论文是由MIT林肯实验室超级计算中心的Albert Reuther、Peter Michaleas、Michael Jones、Vijay Gadepally、Siddharth Samsi和Jeremy Kepner共同撰写的,标题为“AI Accelerator Survey and Trends”。论文主要更新了过去两年AI加速器和处理器的调查,收集并总结了公开宣布的商业加速器的性能和功耗数据,并在散点图上进行了展示和分析。此外,论文还汇编了基准测试性能结果,并计算了与峰值性能相关的计算效率。 论文首先介绍了AI生态系统,包括嵌入式计算、高性能计算(HPC)和高性能数据分析(HPDA)的组件,这些组件必须协同工作以有效地为决策者、战士和分析师提供能力。接着,论文讨论了AI加速器的类型,包括深度神经网络(DNN)和卷积神经网络(CNN)加速器,以及神经网络训练与推理的区别,以及神经网络训练和推理中使用的数值精度。 论文还提到了神经形态计算和光子计算加速器,但指出这些领域的新加速器尚未公布峰值性能和峰值功耗数据。随后,论文对处理器进行了调查,收集了来自公开材料的性能和功耗信息,并在散点图上进行了展示。这些数据包括了从极低功耗的语音处理到数据中心规模训练的各种应用。 论文还分析了计算效率,特别是针对推理加速器的性能。作者指出,许多加速器的计算效率超过了20%,这在密集计算核中是相当高的。最后,论文总结了AI加速器的调查结果,并提到了数据的可用性,表示研究数据和参考文献将在审查过程结束后发布。 论文的作者感谢了多位支持这项工作的个人和组织,并提供了参考文献列表,供读者进一步了解和研究。 "AI加速器调查与趋势 阿尔伯特·罗瑟,彼得·米哈莱亚斯,迈克尔·琼斯,维贾伊·加德帕利,西德哈斯·桑西,杰里米·凯普纳 麻省理工学院林肯实验室超级计算中心 美国马萨诸塞州列克星敦 freuther,pmichaleas,michael.jones,vijayg,sid,kepner g@ll.mit.edu 摘要 ——在过去的几年里,每个月都有新的机器学习加速器被宣布和发布,用于各种应用,包括语音识别、视频对象检测、辅助驾驶以及许多数据中心应用。 本文更新了过去两年的AI加速器和处理器调查。本文收集并总结了已公开宣布的当前商业加速器,并提供了它们的峰值性能和功耗数据。性能和功耗值被绘制在散点图上,并再次讨论和分析了该图上的趋势和观察结果。今年,我们还编制了一个基准测试性能结果列表,并计算了相对于峰值性能的计算效率。 关键词 ——机器学习,GPU,TPU,数据流,加速器,嵌入式推理,计算性能 I. 引言 在过去的几年里,初创公司和成熟的技术公司一直在宣布、发布和部署各种人工智能和机器学习加速器。这些加速器的重点是加速深度神经网络模型,应用范围从极低功耗的嵌入式语音识别到数据中心规模的训练。过去一年,新加速器的宣布速度有所放缓,但定义市场和应用领域的竞争仍在继续。开发和部署加速器的推动力是现代计算中的更大工业和技术转变的一部分。 AI生态系统将嵌入式计算、传统高性能计算和高性能数据分析的组件汇集在一起,这些组件必须协同工作,以有效地为决策者、战士和分析师提供能力[1]。图1捕捉了这样一个端到端AI解决方案及其组件的架构概览。在图1的左侧,结构化和非结构化数据源提供了实体和/或现象学的不同视图。这些原始数据产品被输入到数据调理步骤中,在那里它们被融合、聚合、结构化、积累,并转化为信息。数据调理步骤生成的信息被输入到一系列监督和无监督算法中,如神经网络,这些算法提取模式、预测新事件、填补缺失数据或在数据集中寻找相似性,从而将输入信息转化为可操作的知识。然后,这种可操作的知识被传递给人类进行决策过程的人机协作阶段。人机协作阶段为用户提供了有用和相关的洞察力,将知识转化为可操作的智能或洞察力。 支撑这个系统的是现代计算系统。摩尔定律的趋势已经结束[2],包括Denard的缩放、时钟频率、核心数量、每时钟周期指令数和每焦耳指令数等相关定律和趋势也已经结束[3]。借鉴汽车和智能手机中首次出现的系统级芯片趋势,通过开发和集成常用操作内核、方法或功能的加速器,进步和创新仍在继续。这些加速器的设计在性能和功能灵活性之间有着不同的平衡。这包括深度机器学习处理器和加速器的创新爆发[4]–[8]。 了解这些技术的相对优势对于将AI应用于尺寸、重量和功耗等重大约束领域尤为重要,无论是在嵌入式应用还是在数据中心。 本文是对过去两年IEEE-HPEC论文的更新[9],[10]。与往年一样,我们将回顾一些与理解加速器能力相关的话题。我们必须讨论这些ML加速器正在设计的神经网络类型;神经网络训练和推理之间的区别;" 数字精度与神经网络训练和推理的精度,以及神经形态和光子计算加速器如何融入其中: 神经网络类型——虽然人工智能和机器学习涵盖了广泛的基于统计的技术[1],但本文继续关注去年的重点,即针对深度神经网络和卷积神经网络的加速器和处理器,因为它们在计算上非常密集[11]。 神经网络训练与推理——正如前两次调查所解释的,调查集中在推理加速器和处理器上,原因包括国防和国家安全AI/ML边缘应用严重依赖推理。 数字精度——我们将考虑加速器支持的所有数字精度类型,但对于大多数加速器来说,它们的最佳推理性能是在int8或fp16/bf16。但正如图2所示,许多不同的数字格式已经报告了峰值性能。 神经形态计算和光子计算——对于今年的调查,我们将暂停大多数神经形态计算和光子计算加速器。已经发布了一些新的加速器,但这些公司都没有发布它们的峰值性能和峰值功率数字。已经有一些神经形态处理器与传统加速器的相对比较,但没有硬性数字。也许明年我们开始看到我们可以纳入这项调查的实际性能数字。 有许多调查[13]–[22]和其他论文涵盖了AI加速器的各个方面;这项多年的调查工作和本文专注于收集具有计算能力、能效以及最终在嵌入式和数据中心应用中使用加速器的计算有效性的AI加速器的全面列表。除了这个重点,本文主要比较对政府和工业传感器和数据处理应用有用的神经网络加速器。 II. 处理器调查 许多近期的AI进步至少部分归功于计算硬件的进步[23],[24],使得计算密集型的机器学习算法,特别是DNNs成为可能。这项调查收集了来自公开材料的性能和功率信息,包括研究论文、技术贸易新闻、公司基准等。虽然有方法可以从公司和初创企业获取信息,但这些信息有意地被排除在这项调查之外;当这些数据变得公开可用时,它们将被包含在这项调查中。这项公共数据的关键指标在图2中绘制,该图绘制了最近处理器能力的峰值性能与功率消耗。x轴表示峰值功率,y轴表示每秒峰值十亿次操作,两者都在对数刻度上。请注意右侧的图例,它指示了用于区分计算精度、形式因素和推理/训练的各种参数。处理能力的计算精度由使用的几何形状表示;计算精度从模拟和单比特int1到四字节int32和两字节fp16到八字节fp64。显示两种类型的精度表示左侧乘法操作的精度和右侧累加/加法操作的精度。形式因素由颜色表示;这很重要,因为它显示了消耗了多少功率,以及可以在单个芯片、单个PCI卡和整个系统上打包多少计算。蓝色对应单个芯片;橙色对应卡;绿色对应整个系统。这项调查限于单个主板、单个内存空间系统。最后,空心几何对象是仅用于推理的加速器的峰值性能,而实心几何图形是设计用于执行训练和推理的加速器的性能。 调查从过去两年我们编制的相同散点图开始[9],[10]。为了节省空间,我们在表I中总结了加速器、卡和系统的重要元数据,包括图2中每个点的标签;许多点是从去年的图中带来的,那些条目的详细信息在[9]中。下面将涵盖一些新增内容。在表I中,大多数列和条目都是自解释的。然而,有两个技术条目可能不是:dataflow和PIM。Dataflow处理器是为神经网络推理和训练定制设计的处理器。由于神经网络训练和推理计算可以完全确定性地布局,它们适合于dataflow处理,其中计算、内存访问和ALU间通信操作被明确地编程或“放置和路由”到计算硬件上。处理器内存是一种模拟计算技术,它通过在原地模拟乘加能力增强了闪存电路。有关这种创新技术的更多细节,请参考Mythic和Gyrfalco加速器的参考文献。 最后,根据预期应用对加速器进行合理分类,五个类别在图上显示为椭圆,大致对应于性能和功率消耗:极低功耗用于语音处理、非常小的传感器等;嵌入式用于摄像头、小型无人机和机器人等;自主用于驾驶辅助服务、自动驾驶和自主机器人;数据中心芯片和卡;数据中心系统。 我们可以从图2中得出一些一般性的观察。首先,过去一年宣布并发布了一些新的加速器芯片、卡和系统。在自动驾驶椭圆和数据中心的密度明显增加。 表 I 加速器标签列表用于图表 公司 产品 标签 技术 形式 因素 参考文献 Achronix VectorPath S7t-VG6 Achronix 数据流 卡 [25] Aimotive aiWare3 Aimotive 数据流 芯片 [26] AIStorm AIStorm 数据流 芯片 [27] Alibaba Alibaba 数据流 卡 [28] AlphaIC RAP-E AlphaIC 数据流 芯片 [29] Amazon Inferentia AWS 数据流 卡 [30], [31] AMD Radeon Instinct MI6 AMD-MI8 GPU 卡 [32] AMD Radeon Instinct MI60 AMD-MI60 GPU 卡 [33] ARM Ethos N77 Ethos 数据流 芯片 [34] Baidu Baidu Kunlun 818-300 Baidu 数据流 芯片 [35]–[37] Bitmain BM1880 Bitmain 数据流 芯片 [38] Blaize El Cano Blaize 数据流 卡 [39] Cambricon MLU100 Cambricon 数据流 卡 [40], [41] Canaan Kendrite K210 Kendryte CPU 芯片 [42] Cerebras CS-1 CS-1 数据流 系统 [43] Cerebras CS-2 CS-2 数据流 系统 [44] Cornami Cornami 数据流 芯片 [45] Enflame Cloudblazer T10 Enflame CPU 卡 [46] Flex Logix InferX X1 FlexLogix 数据流 芯片 [47] Google TPU Edge TPUedge 数据流 系统 [48] Google TPU1 TPU1 数据流 芯片 [49], [50] Google TPU2 TPU2 数据流 芯片 [49], [50] Google TPU3 TPU3 数据流 芯片 [49]–[51] Google TPU4i TPU4i 数据流 芯片 [51] GraphCore C2 GraphCore 数据流 卡 [52], [53] GraphCore C2 GraphCoreNode 数据流 系统 [54] GreenWaves GAP9 GreenWaves 数据流 芯片 [55], [56] Groq Groq Node GroqNode 数据流 系统 [57] Groq Tensor Streaming Processor Groq 数据流 卡 [52], [58] Gyrfalcon Gyrfalcon Gyrfalcon PIM 芯片 [59] Gyrfalcon Gyrfalcon GyrfalconServer PIM 系统 [60] Habana Gaudi Gaudi 数据流 卡 [61], [62] Habana Goya HL-1000 Goya 数据流 卡 [62], [63] Hailo Hailo-8 Hailo 数据流 芯片 [64] Horizon Robotics Journey2 Journey2 数据流 芯片 [65] Huawei HiSilicon Ascend 310 Ascend-310 数据流 芯片 [66] Huawei HiSilicon Ascend 910 Ascend-910 数据流 芯片 [67] IBM TrueNorth TrueNorth 神经形态系统 [68]–[70] IBM TrueNorth TrueNorthSys 神经形态系统 [68]–[70] Intel Arria 10 1150 Arria FPGA 芯片 [71], [72] Intel Mobileye EyeQ5 EyeQ5 数据流 芯片 [39] Intel Movidius Myriad X MovidiusX 多核芯片 [73] Intel Xeon Platinum 8180 2xXeon8180 多核芯片 [74], [75] Intel Xeon Platinum 8280 2xXeon8280 多核芯片 [74], [76] Kalray Coolidge Kalray 多核芯片 [77], [78] Kneron KL520 Neural Processing Unit KL520 数据流 芯片 [79] Kneron KL720 KL720 数据流 芯片 [80] Microsoft Brainwave Brainwave 数据流 芯片 [81] Mythic M1076 Mythic76 PIM 芯片 [82]–[84] Mythic M1108 Mythic108 PIM 芯片 [82]–[84] NovuMind NovuTensor NovuMind 数据流 芯片 [85], [86] NVIDIA Ampere A100 A100 GPU 卡 [87] NVIDIA Ampere A40 A40 GPU 卡 [88] NVIDIA Ampere A30 A30 GPU 卡 [88] NVIDIA Ampere A10 A10 GPU 卡 [88] NVIDIA Pascal P