保持灵活:用于图神经网络的高性能FPGA NPU叠加
摘要
图神经网络(GNNs)是一类广泛用于学习图结构数据潜在表示的深度学习(DL)模型,可用于多种节点/图级预测任务。GNN 的实时应用正逐步扩展到各个领域,例如在自动驾驶车辆的 LiDAR 点云中进行 3D 物体检测 [1],以及在粒子物理碰撞器中对收集的数据进行分类 [2]。通常,这些用例具有严格的时延约束,但仍可从不同输入源批量处理多张图中获益。现有加速器要么依赖于预处理输入图形 [3],[4],要么是极度专业化的流式管道,无法支持这些应用中动态变化的工作负载 [5]。在本研究中,我们通过增强神经处理单元(NPU)[6],实现了在不牺牲其灵活性、性能或运行任何原始支持的 DL 工作负载(例如 MLP、RNN、GRU、LSTM)的情况下,加速多种 GNN 模型。
作者
Taikun Zhang 加拿大多伦多大学电气与计算机工程系,多伦多,安大略省,加拿大;Intel 可编程解决方案组
Andrew Boutros 加拿大多伦多大学电气与计算机工程系,多伦多,安大略省,加拿大
Sergey Gribok Intel 可编程解决方案组
Kwadwo Boateng Intel 可编程解决方案组
Vaughn Betz 加拿大多伦多大学电气与计算机工程系,多伦多,安大略省,加拿大
出版信息
期刊: 2024 IEEE 第32届年度国际可编程定制计算机机器研讨会(FCCM) 年份: 2024 页码: 222-222 DOI: 10.1109/FCCM60383.2024.00044 文章编号: 10653661 ISSN: Electronic ISSN: 2576-2621, Print on Demand(PoD) ISSN: 2576-2613
指标
总下载量: 296
关键词
IEEE 关键字: 点云压缩, 三维显示, 激光雷达, 粒子加速器, 管道, 目标检测, 预测模型
索引词: 图神经网络, 点云, 自动驾驶车辆, 输入图, LiDAR 点云, 3D 目标检测, 序列模型, 专用领域语言
未定义
第一节. 引言
第二节. 神经处理叠加层
NPU 是一种基于 FPGA 的可软件编程覆盖层,采用非常长指令字(VLIW)处理器架构,旨在为预训练和量化为 int8 的顺序模型提供低延迟的深度学习推理。它将所有模型权重保持在 FPGA 的片上存储器中。NPU 针对 Intel Stratix 10 NX FPGA 上的深度学习优化张量块,这些 FPGA 支持更高密度的乘法模式。正如 Fig. 1 所示,其流水线由一系列粗粒度单元组成,具有不同的计算块。我们为 GNN 开发的 NPU 硬件改进包括:添加对 bfloat16 精度的支持,以满足需要更高精度数值表示的 GNN 聚合操作;扩展多功能单元以支持更多向量操作;实现用于基于注意力模型的稳定 softmax 单元(SSU);添加标量-向量操作支持;以及引入软件控制的 BRAM 累加器,以实现跨不同矩阵-向量乘法操作的结果累积。
NPU 还配备了专用编译器,可将高层深度学习框架的 DL 模型翻译为使用领域专用语言(DSL)编写的一组 NPU 核心。随后,汇编器生成 NPU 指令来编程硬件执行这些核心。用户可以使用 TensorFlow Keras 库描述他们的序列模型(RNN、GRU、LSTM 和 MLP),或使用 Pytorch Geometric 描述 GNN。经验丰富的 NPU 用户还可以直接使用 DSL 开发新的 NPU 核心或描述自定义工作负载。我们还提出了一种仅通过软件利用 GNN 不同级别并行性的全新方法;我们可以实现 GNN 核心,以对来自不同输入图的对应节点进行吞吐量优化处理,或对同一输入图的多个节点进行延迟优化处理,从而获得不同的性能结果。
图 1:增强版 NPU 覆盖架构,新增功能以红色突出显示。黄色高亮的单元使用 bfloat16 精度,灰色单元使用 int8。
第三节. 结果
我们在 Intel Stratix 10 NX 上评估 NPU,使用 6 个图数据集和 5 种不同类型的 GNN 模型,与 Nvidia RTX A6000 GPU、同代 AMD Ultrascale+ FPGA 上实现的 FlowGNN 1 以及更高级的 AMD‑Versal 基础加速器 2 进行对比,后者将基于 CPU 的图预处理与 FPGA 结构和 AI 引擎计算相结合。对于实时应用中使用的小型图 (\sim10-100 节点),我们的 NPU FPGA 每秒可处理比 FlowGNN 多 7.8 倍的图,且在相似延迟下比 Nvidia RTX A6000 GPU 的吞吐量高 5.8 倍,延迟低 17.7 倍。对于更大的图 (\sim1000-20000 节点),我们可以实现整体上比 Versal‑based 加速器低 2.6 倍的端到端延迟。我们还针对无线 5G MIMO 天线调度 3 运行实时 GNN 工作负载,并显示我们的 NPU 能满足该应用的需求:(1) 低延迟 (< 1\text{ms}) 并通过批量图处理同时调度多个子波段实现高吞吐量 GNN 推理;(2) 在同一工作负载中执行多种 GNN 层类型的灵活性;以及 (3) 在无线基站中实现能效高的嵌入式部署,而无需在预处理输入图之前进行预处理。
参考文献
附加参考文献
W. Shi and R. Rajkumar, “Point-GNN:用于点云中 3D 对象检测的图神经网络”,发表于 CVPR, 2020.
J. Shlomi, “粒子物理中的图神经网络”,Machine Learning: Science and Technology,第 2 卷,第 2 期,2020.
T. Geng, “I-GCN:通过岛化实现运行时局部性增强的图卷积网络加速器”,发表于 MICRO,2021.
A. Boutros, “超越峰值性能:比较 AI 优化 FPGA 与 GPU 的真实性能”,发表于 FPT, 2020.