广告

一种基于FPGA的图神经网络加速器解决方案

时间:2021-08-09 作者:Achronix 阅读:
在宏观层面上,GNN的架构与传统CNN有很多相似之处,诸如卷积层、池化、激活函数、机器学习处理器(MLP)、全连接层(FC layer)等模块,这些都可以应用到GNN。下图展示了一个相对简单的GNN架构……
广告

得益于大数据的兴起和计算能力的快速提升,机器学习技术近年来经历了革命性的发展。诸如图像分类、语音识别和自然语言处理等机器学习任务,都是对具有一定大小、维度和有序排列的欧几里得数据进行处理。然而,在许多现实场景中,数据是由复杂的非欧几里得数据(例如图形)表示的。这些图形不仅包含数据,还包含数据之间的依赖关系,例如社交网络、蛋白质分子结构、电子商务平台中的客户数据等。数据复杂性的提升给传统的机器学习算法设计及其实现技术带来了严峻的挑战。在这种情况下,许多全新的基于图形的机器学习算法或图神经网络(GNN)不断在学术界和工业界涌现。

GNN对计算能力和存储有非常高的要求,而且其算法的软件实现效率非常低。因此,业界对GNN的硬件加速有着非常迫切的需求。尽管传统的卷积神经网络(CNN)硬件加速有很多种解决方案,但GNN的硬件加速还没有得到充分的讨论和研究。在撰写本白皮书时,谷歌(Google)和百度(Baidu)都无法搜索到关于GNN硬件加速的中文研究资料。本白皮书的写作动机是将国外最新的GNN算法、对加速技术的研究以及对基于现场可编程逻辑门阵列(FPGA)的GNN加速技术的探讨相结合,并以概述的形式呈现给读者。

图神经网络(GNN的介绍

在宏观层面上,GNN的架构与传统CNN有很多相似之处,诸如卷积层、池化、激活函数、机器学习处理器(MLP)、全连接层(FC layer)等模块,这些都可以应用到GNN。下图展示了一个相对简单的GNN架构。

图1:典型的GNN架构(来源:https://arxiv.org/abs/1901.00596

但是,GNN中的图形数据卷积计算与传统CNN中的二维卷积计算不同。以下图为例,红色目标节点的卷积计算过程如下所示:

1、图卷积 - 使用近邻函数对周围节点的特征进行采样,并计算平均值。相邻节点的数量是不确定且无序的(非欧几里得数据)

2、二维卷积——使用卷积核对周围节点的特征进行采样,并计算加权平均值。相邻节点的数量是确定且有序的(欧几里得数据)

图2:图卷积和二维卷积(来源:https://arxiv.org/abs/1901.00596

GraphSAGE算法的介绍

学术界对GNN算法进行了大量的研究和探讨,提出了相当多的创新实现方法。其中,由斯坦福大学(Stanford University)于2017年提出的GraphSAGE是一种归纳表示学习算法,用于预测大规模图中动态的、全新的、未知的节点类型,还专门针对节点数量庞大、节点特征丰富的图进行了优化。如下图所示,GraphSAGE算法的计算过程可以分为三个主要步骤:

1、相邻节点采样——用于降低复杂性,一般采样两层,每层采样几个节点。

2、聚合——用于嵌入目标节点,即图的低维向量表示。

3、预测——使用嵌入作为全连接层的输入,以预测目标节点d的标签。

图3:GraphSAGE算法的可视化表示(来源:http://snap.stanford.edu/graphsage

1.Sample neighborhood

1、样本邻域

2.Aggregate feature information from neighbors

2、聚合来自邻域的特征信息

3.Predict graph context and label using aggregated information

3、利用聚合信息预测图形情况和标签

为了在FPGA中实现GraphSAGE算法加速,必须了解其数学模型,以便将算法映射到不同的逻辑模块。下图所示的代码说明了该算法的数学过程。

图4:GraphSAGE算法的数学模型(来源:http://snap.stanford.edu/graphsage

Step 1: Sample a sub-graph node with neighborhood function N[}.

步骤1:使用近邻函数N[}对子图节点进行采样。

Step 2: Aggregate features from neighbor nodes, e.g. mean[}, lstm[}, polling[}

步骤2:聚合相邻节点的特征,例如mean[}、lstm[}、polling[}

Step3: Combine aggregated node features. E.g. convolution[}

步骤3:合并聚合的节点特征。例如卷积[}

Step 4: Nonlinear activation, e.g, relu[}

步骤4:非线性激活,例如relu[}

Step 5: Iterate for each neighbor with a sub-graph

步骤5:使用子图迭代每个邻域

Step 6: Normalize

步骤6:标准化

Step 7: Iterate for each search-depth

步骤7:对每个深度搜索进行迭代

Step 8: Final node embedding of node v

步骤8:节点v的最终节点嵌入

对于每个要处理的目标节点xv,GraphSAGE算法都会执行以下操作:

1、通过近邻采样函数N(v)对子图中的节点进行采样。

2、聚合要采样的相邻节点的特征。聚合函数可以是mean()、lstm()或polling()等。

3、将聚合结果与上一次迭代的输出表示合并起来,并使用Wk进行卷积。

4、对卷积结果进行非线性处理。

5、多次迭代以结束当前第k层的所有相邻节点的处理。

6、对第k层迭代的结果进行标准化处理。

7、多次迭代以结束对所有K层采样深度的处理。

8、将最终的迭代结果zv嵌入到输入节点xv。

GNN加速器设计所面临的挑战

GNN算法涉及大量的矩阵计算和存储访问操作。在传统的x86架构服务器上运行这种算法的效率是非常低的,表现为速度慢、能耗高等。

新型图形处理器(GPU)的应用可以显著提高GNN的计算速度与能效比。但是,GPU在存储可扩展性方面存在短板,使其无法处理图形中的海量节点。GPU的指令执行方式也会导致计算延迟过大和不确定性;因此,它不适用于需要实时计算图形的场景。

上面提到的各种设计挑战,使得业界迫切需要一种能够支持高并发、实时计算,拥有巨大存储容量和带宽,并可扩展到数据中心的GNN加速解决方案。

基于FPGA设计方案GNN加速器

Achronix的Speedster®7t系列FPGA产品(以及该系列的第一款器件AC7t1500)是针对数据中心和机器学习工作负载进行了优化的高性能FPGA器件,消除了基于中央处理器(CPU)、GPU和传统FPGA的解决方案中存在的若干性能瓶颈。Speedster7t系列FPGA产品采用了台积电(TSMC)的7nm FinFET工艺,其架构采用了一种革命性的全新二维片上网络(NoC)、独创的机器学习处理器矩阵(MLP),并采用高带宽GDDR6控制器、400G以太网和PCI Express Gen5接口,在确保ASIC级性能的同时,它为用户提供了灵活的硬件可编程性。下图展示了高性能FPGA器件Speedster7t1500的架构。

5Achronix高性能FPGA器件Speedster AC7t1500架构

上述特点使Achronix Speedster7t1500器件成为应对在GNN加速器设计中面临的各种挑战的完美解决方案。

1GNN设计面临的挑战和Achronix Speedster7t1500 FPGA器件提供的解决方案

 

GNN设计面临的挑战 Speedster AC7t1500器件提供的解决方案
高速矩阵运算 机器学习处理器(MLP)
高带宽和低延迟存储 LRAM+BRAM+GDDR6+DDR4。
高并发和低延迟计算 FPGA使用可编程逻辑电路,以确保在硬件层面进行低并发和高并发延迟计算。
存储扩展 基于4×400 Gbps的RDMA确保在数据中心以极低的延迟扩展存储访问。
算法不断演进 FPGA中的可编程逻辑确保算法可以在硬件层面进行升级和重新配置。
复杂的设计 丰富的硬IP减少开发时间、降低复杂性,NoC简化模块之间的互连并改善时序

 

GNN加速器顶层架构

此GNN加速器是为GraphSAGE算法设计的,但是它的设计也可以应用于其他类似的GNN算法加速。其顶层架构如下图所示。

6GNN加速器顶层架构

Synthesizable IPs

可综合的IP

GNN Core: Preforms GNN computation

GNN内核:执行GNN计算

RoCE-Lite: Memory scalability with RDMA

RoCE-Lite:采用RDMA的存储可扩展性

Harden IPs

硬化IP

NoC: High speed and unified IP connectivity

NoC:高速、统一的IP连接

DDR4 Ctrl: Large memory for graph storage

DDR4 Ctrl:用于图形存储的大存储容量

GDDR6 Ctrl: High speed memory for computing

GDDR6 Ctrl:用于计算的高速存储

PCIe Gen5×16: High throughout host interface

PCIe Gen5×16:高吞吐量的主机接口

Ethernet 400GE: High speed network

以太网400GE:高速网络

该架构由以下模块组成:

图中的GNN内核是算法实现的核心部分(详情如下)。

RoCE-Lite是RDMA协议的轻量级版本,用于通过高速以太网进行远程存储访问,以支持海量节点的图计算。

400GE以太网控制器用于承载RoCE-Lite协议。

GDDR6存储器用于存储GNN处理过程中所需的高速访问数据(DDR4作为备用大容量存储器)。该存储器用于存储访问频率相对较低的数据,例如待预处理的图形数据。

PCIe Gen5 ×16 接口提供高速主机接口,用于与服务器软件进行数据交互。

上述所有模块均通过具有高带宽的NoC实现互连。

GNN内核微架构

在开始讨论GNN内核的微架构之前,有必要先回顾一下GraphSAGE算法。其内层循环的聚合和合并(包括卷积)占据了该算法的大部分计算和存储访问。通过研究,我们得出这两个步骤的特点,具体如下。

表2:GNN算法中聚合和合并操作的对比(来源:https://arxiv.org/abs/1908.10834

 

步骤 聚合操作 合并操作
存储访问方式 间接访问,不规则 直接访问,规则
数据重用
计算模式 动态,不规则 静态,规则
计算量
性能瓶颈 存储 计算

 

可以看出,聚合操作和合并操作在计算和存储访问模式上有着完全不同的需求。聚合操作涉及相邻节点的采样。然而,图形是一种非欧几里得数据类型——它的大小和维度是不确定且无序,矩阵稀疏,节点位置随机。因此,存储访问是不规则的,并且难以重复利用数据。

在合并操作中,输入数据是聚合结果(节点的低维表示)和权重矩阵。它的大小和维度是固定的,具有线性存储位置。因此对存储访问没有挑战,但是矩阵的计算量非常大。

基于上述分析,我们决定在GNN内核加速器设计中选择使用两种不同的硬件结构来分别处理聚合和合并操作(如下图示):

聚合器——通过单指令多数据(SIMD)处理器阵列,对图形相邻节点进行采样和聚合。单指令可以预定义为mean()平均值计算,或其他适用的聚合函数;多数据是指单次mean()均值计算中需要多个相邻节点的特征数据作为输入,这些数据来自子图采样器。SIMD处理器阵列通过调度器Agg Scheduler进行负载平衡。子图采样器通过NoC从GDDR6或DDR4读回的邻接矩阵和节点特征数据h0v分别缓存在邻接列表缓冲区(Adjacent List Buffer)和节点特征缓冲区(Node Feature Buffer)。聚合的结果hkN(v)存储在聚合缓冲区(Aggregation Buffer)中。

合并器——通过脉动矩阵PE对聚合结果进行卷积运算。卷积核是Wk权重矩阵。卷积结果由ReLU激活函数进行非线性处理,同时也存储在Partial Sum Buffer中,以用于下一轮迭代。

7GNN内核功能框图

合并结果经过L2BN标准化处理后,即为最终的节点表示hkv。在一个典型的节点分类预测应用中,节点表示hkv可以通过一个全连接层(FC)来获取节点的分类标签。这个过程是传统的机器学习处理方法之一,在GraphSAGE文献资料中没有体现,这个功能也没有包含在这个架构中。

结论

本白皮书探讨了GraphSAGE GNN算法的数学原理,并从多个角度分析了GNN加速器设计中的技术挑战。通过分析问题并在架构层面逐一解决,提出了一种架构,利用Achronix Speedster7t AC7t1500 FPGA器件提供的具有竞争性的优势,创建了一种高度可扩展的、能够提供卓越性能的GNN加速解决方案。

责编:Luffy Liu

本文为EET电子工程专辑 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • TOPS:深度学习谎言背后的真相 AI公司通常都以更高的TOPS(每秒一万亿次操作)作为评判算力的标准。但芯片制造商在推销他们的TOPS指标时,都不会真正提供准确的引导。本文将论述业界因错误标记性能指标而导致的问题,并阐述用户该如何独立评估真实环境中的TOPS。
  • 从SmartNIC到DPU,拥挤的赛道上站满了高手 普通网络接口卡(NIC)是基于专用集成电路(ASIC)设计的以太网控制器,定位于高效迁移服务器的网络数据包,通常包括不同程度的为优化性能而设计的传统卸载。而SmartNIC与它的根本区别在于……
  • 数据引力时代,你可能对自适应计算的力量一无所知 赛灵思之所以将今年的技术日(Xilinx Technology Day, XTD)主题选定为“‘适’逢芯动,聚创未来”,就是希望在当前复杂多变的环境下,通过自适应计算平台汇集数据、汇聚生态,实现加速创新的美好愿景。
  • 复旦微电今日登陆科创板,股价暴涨770% 复旦微电是一家从事超大规模集成电路的设计、开发、测试,并为客户提供系统解决方案的专业公司。公司目前已建立健全安全与识别芯片、非挥发存储器、智能电表芯片、FPGA芯片和集成电路测试服务等产品线,产品广泛应用于金融、社保、城市公共交通、电子证照、移动支付、防伪溯源、智能手机、安防监控、工业控制、信号处理、智能计算等众多领域。
  • 详述一种更为有效的AC-AC自动电压调节器 (AVR)开发方 自动电压调节器 (AVR) 通常也称为稳压器,它通过补偿输入电压的波动来调节供电电压电平,在许多工业和住宅应用中都很常见。本文我们将阐述开发人员如何使用GreenPAK SLG46537V IC 等可编程ASIC来开发AVR,并且将详细描述整个系统设计和GreenPAK设计。
  • 紫光展锐、紫光国微等发布公告,就母公司财务状况披露自 7月9日,紫光集团发布公告宣称收到北京市第一中级人民法院送达的关于债权人向法院申请紫光集团破产重整的通知书。针对于破产重整的消息对外界披露。紫光集团旗下紫光展锐、紫光国微等企业已发布了关于自身经营情况的披露……
  • 新款iPad Pro 2021成最受欢迎的 由于采用性能相对强大的M1处理器和mini-LED屏幕以及更多的创新,新款iPad Pro 2021已经成为消费者心目中最受欢迎。然而,iPad 2却已经在全球范围内被列入“复古和过时”的名单中。
  • 三星折叠屏手机Galaxy Z Fold 3 目前来看,折叠屏新机作为一种新的生产力工具,逐渐成为高端/平板的一种趋势,有报料称三星的Galaxy Z Fold 3发布时间或为7月,并且会引入新手势操控。

  • EMC对策产品: TDK推出用于移动设备 TDK株式会社(TSE:6762)推出用于移动设备的TCM0403M系列小型薄膜共模滤波器
  • 比科奇ORANIC板卡获行业大奖,5G小基 比科奇(Picocom)日前宣布:该公司荣获全球小基站论坛(SCF)一项大奖,其全新的ORANIC板卡赢得了全球小基站论坛(SCF)2021年度“小基站芯片及组件杰出创新金奖”。
  • Wi-Fi 6“智能避扰”黑科技,真的很“黑” 阿中与小兴是同在城市里打拼的室友,共同拼搏相互扶持的他们,最近因为Wi-Fi问题,差点打翻了友谊的小船——阿中!你怎么又掉线了?团战开黑总掉线,你是对面派来的卧底吗?!你还好意思说我?技能未放身先死,
  • 增速最快!中芯国际Q2晶圆代工表现抢眼 快科技消息,8月31日,集邦资讯公布Q2季度全球晶圆代工市场最新排名,总产值达到了244.07亿美元,环比增长6.2%,创下了2019年Q3季度以来连续8个季度增长的新高。在TOP10厂商中,台积电一
  • 推动本土FPGA生态建设,2021 FPGA生态峰会火热报名中!!! FPGA在我国通信、工业、汽车、物联网以及医疗电子、消费电子领域正发挥越来越大的作用,伴随FPGA的应用深入,FPGA厂商高歌猛进,在2020年均获得了快速发展!继成功举办两届FPGA应用创新论坛之后
  • 破亿近在眼前!华为鸿蒙OS 2用户数突破 9000万 6月2日,华为正式发布HarmonyOS 2系统,同时官方还开启了规模浩大的百机升级计划。根据最新消息,华为HarmonyOS 2升级用户目前已突破9000万。这距离华为HarmonyOS 2升级用户
  • 建厂难、验证烦,Foundry和Fabless的同一个“困惑”  问题到底出在哪里?作者:亚亚君引言——几年前,上海的一位领导向芯谋研究首席分析师顾文军问了一个问题:“作为国内领先的代工厂,中芯国际能给高通流片28纳米工艺,为什么不能给展锐流片?而展锐作
  • 一代国民神车落寞,宝马中国收购华晨中华工厂 点击蓝字关注我们据财经汽车报道,8月31日,华晨集团等12家企业实质合并重整案召开第二次债权人大会,会上共有三项议案,包括财产管理及变价方案、成立债权人委员会两项议案,以及核心议案宝马中国收购华晨中华
  • Q2晶圆代工排名公布:台积电第一、中芯国际第五 8月31日,集邦资讯公布了Q2季度全球晶圆代工市场最新排名,总产值达到了244.07亿美元,环比增长6.2%,创下了2019年Q3季度以来连续8个季度增长的新高。在TOP10厂商中,台积电一家独大,Q
  • 国产半导体传来好消息,集成电路设备产量大涨,中芯国际也在加速! 我国不断提高芯片产业的竞争力,对很多国产半导体企业都采取较大的扶持力度,还计划不断提升芯片产能。但是提升芯片产能的前提是加大半导体设备产量。好消息是,我国集成电路设备产量大涨,国产芯片制造商中芯国际也
  • 半导体产业之污染控制(一) 这几节小编将为大家解释污染对器件工艺、器件性能和器件可靠性的影响,以及芯片生产区域存在的污染类型和主要的污染源。同时,也将对净化间规划、主要的污染控制方法和晶片表面的清洗工艺进行讨论。首先来看看什么是
  • 为什么DDR电源设计时需要VTT电源 往期精彩1、超全超详细Mos管元件特性及工作原理介绍;2、超详细开关电源芯片内部电路解析;3、70G硬件设计资料汇总分享;【友情推荐】4、分享一份老工程师(某为工作15年)经常使用的pcb企业封装库包
广告
热门推荐
广告
广告
广告
EE直播间
在线研讨会
广告
广告
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了